開閉ボタン
ユーザーメニュー
ユーザーメニューコンテンツ
ログイン

  • 会員限定
  • 2013/10/31

Facebookはどうやって何千台ものMySQLを人手を使わずに管理しているのか?

MySQL Pool Scanner(MPS)

おそらく世界でもっとも大規模にMySQLのクラスタを展開し、運用しているのがFacebookでしょう。複数のデータセンターにまたがり何千台ものMySQLサーバを運用するために、自動化の仕組みは欠かせません。その自動化がどのような仕組みになっているのか。FacebookのデータベースエンジニアであるShlomo Priymak氏が、Under the hood: MySQL Pool Scanner (MPS)という記事をFacebookで公開しています。かなり長い記事なので、ここではそのポイントをまとめて解説してみました。詳細はぜひ原文をあたってみてください。

Publickey 新野淳一

Publickey 新野淳一

ITジャーナリスト/Publickeyブロガー。大学でUNIXを学び、株式会社アスキーに入社。データベースのテクニカルサポート、月刊アスキーNT編集部 副編集長などを経て1998年退社、フリーランスライターに。2000年、株式会社アットマーク・アイティ設立に参画、オンラインメディア部門の役員として2007年にIPOを実現、2008年に退社。再びフリーランスとして独立し、2009年にブログメディアPublickeyを開始。現在に至る。

MPSのおもな3つの機能

 Facebookで稼働しているMySQLは、つねに1つのマスターとそこからレプリケーションされた複数のスレーブによるレプリカセットを構成しています。このレプリカセットの構造を維持し続けることで、可用性と高速なアクセスを実現しているわけです。そして大量のレプリカセットがFacebookのデータセンター内で稼働しています。

 これを維持するためのMPSの仕組みは、大きく3つの部分に分かれています。1つは、スレーブが落ちたときの仕組み。もう1つはマスターが落ちたときの仕組み。そしてMPS自身が自律的に動くための仕組みです。

スレーブが落ちたとき

 スレーブが落ちたとき、あるいはディスクスペースの不足などのときには、別の物理サーバにスペアとなるインスタンスを作り、そこにスレーブのコピーを行い、コピー完了後にそちらを新スレーブとして扱います。

 下記の図では、説明を単純にするため各物理サーバには2つのインスタンスが稼働していることになっています。Spare(スペア)とは、予備用に空いているインスタンスのことです。


マスターが落ちたとき

この続きは会員限定です

ここから先は「ビジネス+IT プレミアム会員」に登録の方(登録は無料)のみ、ご利用いただけます。

今すぐビジネス+IT会員にご登録ください。

すべて無料!ビジネスやITに役立つメリット満載!

  • 1

    インタビューから事例記事まで、ここでしか読めない1万本超の記事が無料で閲覧可能

  • 2

    導入事例資料や技術資料、デモ動画などを無料でダウンロード・閲覧可能

  • 3

    年間1,000本以上、会員限定のスペシャルセミナーにご招待

  • 4

    ビジネス+IT編集部が必読記事を、メールマガジンでお知らせ!

統合運用管理・サーバ監視 ジャンルのトピックス

統合運用管理・サーバ監視 ジャンルのIT導入支援情報

ビジネス+IT 会員登録で、会員限定コンテンツやメルマガを購読可能、スペシャルセミナーにもご招待!