BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース 小から超大規模ウェブサイトまでのMySQL参照アーキテクチャ

小から超大規模ウェブサイトまでのMySQL参照アーキテクチャ

原文(投稿日:2013/03/14)へのリンク

 

Oracleが発表した大規模な拡張性を備えたWebインフラストラクチャのためのMySQLリファレンスアーキテクチャ、ホワイトペーパーには、データストレージにMySQLを使用してWebサイトのさまざまな種類とサイズ向けの推奨トポロジが概要されている。

このホワイトペーパーは、サイズと提供する4つの異なるタイプのサービスに対する可用性の要求に基づいた、MySQLを使うウェブサイトの作成用の4つのリファレンス・アーキテクチャを提案している。4つのサービスは、ユーザーとセッション管理、eコマース、アナリティクス(多構造化データ)、CMS(メタデータ)で、以下のテーブルに示す。 

これらのガイドラインは、基本的な推奨事項であり、使用される読み取り/書き込みのパターン、ロード・バランシング、キャッシングのメカニズムなどに基づいて調整される必要がある。

小規模なWebリファレンスアーキテクチャ

このリファレンス・アーキテクチャは、前に述べた4つのタイプのウェブサイトのすべての小規模な実装に使用することができる。MySQLレプリケーションは、バックアップや分析の目的でデータのコピーを作成するために使用することができる。

image

中規模なWebリファレンスアーキテクチャ

この場合、各MySQLインスタンスが、もしアプリケーション・サーバーの数がスケーラビリティの目的のために増加されている場合は、もっとスレーブ・インスタンスを追加し、最大8個のアプリケーション・サーバーを提供できることを考慮して、活動の異なるタイプごとに別々のインフラを使用することを薦めている。

image

セミ非同期なレプリケーションと一緒にLinux Heartbeat がセッション管理とeコマースの高可用性目的の為に使われている。CMSサイトには、通常、読み取り操作でスケールアウトするために、より大きなニーズがあり、ホワイトペーパーでは、各スレーブは最大3000人の同時ユーザーを処理できることを考慮して、各MySQLマスタに20から30のスレーブを追加することを推奨している。CMSシステムは、SAN、または各サーバーに接続された分散型デバイス上にデータを格納することができる。

アプリケーションとMySQLサーバの負担の多くを緩和するために、セッション管理とCMSサイトの両方にメモリキャッシュを使用することが推奨されている。

分析目的のトポロジーは、もっと簡単で、3つのスレーブを持つマスターがジョブをこなす。

大規模なWebリファレンスアーキテクチャ

この参照アーキテクチャに対しては、ホワイトペーパーは、地理的に離れたクラスタ間で非同期レプリケーションを提供するMySQL地理的レプリケーションを使用して、異なるデータセンター間でのデータベースの複製を推奨している。

image

セッション管理とeコマースサイトでは、論文はクラスタを使用する必要があると言っている。 "4xデータノードを使えば、各ページが8- 12のデータベース操作を生成する場合、1秒で6000セッション(ページヒット)をサポートすることが可能です "。大規模CMSサイトは、単に必要に応じてスレーブを増やす中規模なものと同様の構成を使う。Data Refinery ユニットは、分析データをクリーンアップし、整理するために導入される。

特大規模なWebリファレンスアーキテクチャ

ホワイトペーパーは、ソーシャルなウェブサイトにも、MySQLは "Google、FacebookやYouTubeなどウェブ上で最もトラフィックの多いトップ10サイトの内9社で配備されている”と言って使用を推奨している。ただしこれらのサイトが何にMySQLを使っているかは言っていない。しかし、LinkedInがMySQLの使用で成功しているのは、知られている。

ソーシャルなトポロジーは、専用アプリケーション・サーバー、メモリキャッシュ、データリファイナリーを含んだ中/大規模のウェブサイトが実装している概念を使用しているが、書き込み操作をスケールアウトできるようにシャードを導入している。MySQLクラスタは、ユーザー認証、検索、「検索に複数キーが使われる」時に適切なシャードに読み込みと書き込もを割り振るために使われている。

image

MySQLマスタサーバとスレーブサーバの両方の推奨仕様は以下のとおり。

  • 8から16のx86-64ビットのCPUコア(MySQLバージョン5.5以上)
  • 4から8までのx86 -64ビットCPUコア(MySQL 5.1とそれ以前のバージョン)
  • アクティブなデータよりも3から10倍以上のRAMが必要
  • Linux、Solaris、またはWindowsオペレーティングシステム
  • 最低4倍のハードディスクドライブ。8から16のディスクがI / O集中型アプリケーションのパフォーマンスが向上する
  • バッテリバックアップされたキャッシュを搭載したハードウェアRAID
  • RAID 10は、推奨される。ワークロードは、読み取り集中型である場合、RAID 5が適しています
  • 2倍のネットワーク・インタフェース・カードと冗長性を確保のために2倍の電源ユニット

ホワイトペーパーは、またMySQLクラスタやデータストレージデバイスの推奨事項に加え、監視、バックアップ、クラスタ管理のためのソリューションを含んでいる。

 

この記事に星をつける

おすすめ度
スタイル

BT