データセンターが「落ちる」ことを想定したグーグルのアーキテクチャ

2009年8月31日

サーバを安全に運用する施設として構築されるデータセンターですが、グーグルではそのデータセンターですら"落ちる"ことがあると想定してアーキテクチャを構築しています。

米グーグルが今年の5月に行ったイベント「Google I/O」で、同社のGoogle App Engine datastore leadであるRyan Barett氏が行った講演「Transactions Across Datacenters (and Other Weekend Projects)」のビデオがYouTubeで公開されました。

Barett氏は、担当しているGoogle App Engineのデータベースに関してグーグルが「multihoming」(マルチホーミング)と呼ぶ複数のデータセンターを用いた処理を実現している理由として、データセンターが自然災害や停電に見舞われたり、メンテナンスなどによるデータセンターの停止があり得ること、また、物理的に顧客に近い場所にあるデータセンターでサービスを提供することでよりよい性能を提供できること、などを挙げています。

しかし、複数のデータセンターにまたがった運用では、データセンターにまたがるトランザクションとそれによるレイテンシの発生、回線コストの上昇など、解決することが難しい問題が多発します。

グーグルはそうした問題をどのように解決しているのでしょうか? Barettの解説を少し読み解いて行くことにしましょう(参考記事:How Google Serves Data from Multiple Datacenters | High Scalability)。

データセンターにまたがる運用の選択肢

複数のデータセンターにまたがったデータベースの運用で、特に難しいのが、以下の2点だとBarett氏は指摘しています。

これをどう解決するか? 1つ目の選択肢は「データセンターにまたがった運用はしない」ということです。しかし、万が一自然災害などが発生した場合の被害が大きいこと、また、地理的にも顧客の近くでの運用がやりにくいといった課題があります。

fig

2つ目の選択肢は、プライマリ用のデータセンターとフェイルオーバー用のデータセンターを用意すること。しかし、一定期間分のデータの消失が考えられ、またデータの一貫性についても保証されていません。

fig

そして3つ目の選択肢が「マルチホーミング」です。複数のデータセンターへ同時に書き込みを行います。難しい方法ですが、災害などに対して一定の対応が可能です。しかし、レイテンシを覚悟しなければなりません。

fig

マルチホーミングのテクニックとトレードオフ

Barett氏は、データベースをマルチホーミングで運用するテクニックとして以下の5つを挙げ、それぞれのメリット、デメリットを紹介しています。

以下に5つのテクニックの特徴と、メリット/デメリットをまとめた表を示します。

fig

簡単な解決法はない

Barett氏は、簡単な解決法はないが、それでも取り組むべき価値のある問題だと、短く以下のように結論をまとめています。

fig

説明を振り返ると、1つのデータセンターがまるで少々遅い回線に接続された1台のサーバのように扱われているような気がします。グーグルとはそうしたスケールでもアーキテクチャを考える企業なのだ、ということなのでしょう。

関連記事 on Publickey

参考記事 on the Web

このエントリーをはてなブックマークに追加
follow us in feedly

タグ : Google , Google App Engine , クラウド , データセンター



≫次の記事
OpenCourse: Search Engines: Technology, Society, and Business. / UC Berkeley
≪前の記事
優れたエンジニアになる方法と、その知識を伝達する方法

Loading...

Blogger in Chief

photo of jniino Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。新しいオンラインメディアの可能性を追求しています。
詳しいプロフィール


Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed



Publickey 最新記事 10本

Publickey Topics 最新記事 10本


PR - Books


fig

fig

fig

fig



blog comments powered by Disqus