今回は、米Googleのクラウド環境に存在するデータベースBigtableとDatastoreサービスを紹介します。「巨大分散」という新たなデータベースの地平を切り開くためにどのような工夫をしているか、じっくり見ていきましょう。

 「Bigtable」は、Googleの主要なサービスを支える独自の巨大分散データストアです*1。Bigtableは、2005年4月から本格的な運用(プロダクション利用)が開始されたもので、Googleの検索サービスをはじめ、Gmail、YouTube、Google Maps、Google日本語入力、そしてApp Engineなど、70以上のプロジェクトで利用されています。その規模は、数P(ペタ)バイト~数十Pバイトに達しているでしょう。

 Bigtableは、Google検索サービスにおける膨大なコンテンツやインデックスを保持し、高速に検索するための専用データストアとして開発されました。Bigtableは、リレーショナルデータベース(Relational Database、RDB)ではありません。「NoSQL(Not Only SQL)」に分類されることもある、リレーショナルモデルに基づかないデータストアです。

 Bigtableでは、図1のように、行と列からなる「テーブル」にデータを格納し、「キー」を用いてテーブルの個々の行に対する読み書きを行います*2。「RDBと同じじゃないか」と思う人もいるかもしれませんが、違いは後で出てきます。

図1●Bigtableのテーブル例
図1●Bigtableのテーブル例

 Bigtableの特徴は、スケーラビリティに制限がないことです。Bigtableのテーブルに保存可能な行数には制限がありません。例えば、数十億件に達するような膨大なデータをテーブルに保存して、テーブル全体に膨大な人数のユーザーが同時にアクセスしても、個々の読み書き処理は平均数十ミリ秒程度です。

 可用性の高さも特徴です。Bigtableのテーブルにデータを書き込むと3台以上のサーバーにコピーされます。うち1台は異なるロケーションのデータセンターにあるサーバーが選ばれます。そのため、データセンター規模で障害が発生しても、Bigtableに保存されたデータが失われることはなく、短時間でサービスを復旧できます。

 BigtableはハイエンドのRDBクラスタに匹敵するようなレプリケーション(複製)機能やディザスタリカバリー機能を備えており、サーバーやデータセンターの障害によってデータが失われる可能性は低くなります。データのバックアップ作業の負担が軽減されるでしょう。さらに、Bigtableのサービスを構成するサーバー群はすべてが冗長化されており、SPoF*3は徹底的に排除されています。

この先は会員の登録が必要です。有料会員(月額プラン)は登録月無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら