【3/18〜】Amazon、VMwareが語る『クラウドの未来』 スラッシュドット    はてなブックマーク  Yahoo!ブックマークに登録  印刷
分散Key-Valueストアの本命「Bigtable」
連載インデックスへ
分散Key-Valueストアの本命「Bigtable」(1)

もう1つの、DBのかたち、分散Key-Valueストアとは


有限会社スティルハウス
吉川和巳
2009/7/2

RDBとは別の、クラウド時代のデータベースとして注目を浴びている「分散Key-Valueストア」。その本命ともいえる、Googleの数々のサービスの基盤技術「Bigtable」について徹底解説

クラウド時代のデータベース「分散Key-Valueストア」


今回の主な内容

クラウド時代のデータベース
  「分散Key-Valueストア」

分散KVSとRDBは何が違うのか?
RDBが超えられない「CAP定理」のカベ
分散KVSの「使いにくさ」に対応する、
  2つの利点

クラウドによる「IT補完計画」が始まった

 グーグルがインターネットの世界をここまで席けんできた最大の理由は何でしょうか。実は、それは同社の優れた検索技術ではありません。グーグルが成し遂げた最も大きなブレークスルーの1つは、同社が生み出した巨大な分散データストア、「Bigtable」にあります。

 Bigtableは、Google検索をはじめ、YouTubeやGoogle Map、Google Earth、Google Analytics、Google App Engineなど、グーグルの70以上のプロジェクトの基盤として利用されています。合計で数PB(ペタバイト)に達する天文学的規模のデータを、全世界36カ所以上のデータセンターに配置された数万〜数十万台のサーバに分散して格納し、これらグーグルの各種サービスの圧倒的なスケーラビリティと高可用性を低コストで実現しています。

分散KVSは、「クラウド」という地殻変動の原因の1つ

 Bigtableは、リレーショナルデータベース(以下、RDB)ではなく、いわゆる「分散Key-Value Store(以下、KVS)」の1つです。KVSは、プログラミング言語の連想配列Mapと同様に「Key(キー)」と「Value()」のペアからなる、ごくシンプルなデータモデルに基づくデータストアです。KVSは「キー・バリュー型データストア」「Key/Valueストア」などと呼ばれることもあります。

 いま、このBigtableを代表とする分散KVSが、あたかも「ロード・オブ・ザ・リング」の“指輪”のような破壊的なパワーを発揮しつつあります。分散KVSは、グーグルの圧倒的な強さの源泉であり、インターネットの世界で起こりつつある「クラウドコンピューティング」という地殻変動の原因の1つでもあります。

知ってますか? いろいろな分散KVS

 例えばAmazonでは、大規模データ管理用の分散KVSとして「Amazon Dynamo」を開発して同社のサービス実装に用いているほか、その機能を外部向けサービス「Amazon SimpleDB」として一般公開しています(参考:米アマゾン、Webデータベース「SimpleDB」を開発)。

 またマイクロソフトは、同社のクラウドサービス「Windows Azure」にて、分散KVS「Azure Storage Services」を提供予定です。

 一方、国内でも、楽天では大規模分散データストア「ROMA」を開発し、サービスへの導入を検討している段階です(参考:大規模分散処理向けの国産“ウェブOS”をRubyで開発中)。

ほかにもKVS型データ管理システムが流行中

 さらに、Apache Software Foundationの「Apache CouchDB」は、並列プログラミング言語「Erlang」で実装されたスケーラビリティの高いドキュメント指向データベースとして、高い注目を集めています。

 CouchDBについては、下記をご参照ください。

ゆったリラックス! CouchDBがあるところ
ドキュメントを手軽にWebで公開したいとき、リレーショナルデータベースで実装することに違和感を覚えることはありませんか? CouchDBはそのようなニーズに合った、新しいデータベース管理システムです。CouchDBを知り、リラックスしながら実装をしていきましょう
Database Expert」フォーラム

 mixiでは、自社開発のKVS「Tokyo Tyrant」を用いて高負荷なログイン処理の実装に使用しています。

分散KVSとRDBは何が違うのか?

 ではなぜ、クラウドコンピューティングの基盤としてRDB(Relational DataBase)ではなく分散KVSへの移行がいま進みつつあるのでしょうか。この両者のデータモデルやアーキテクチャの違いを比較してみます。

図1 RDBと分散KVS
図1 RDBと分散KVS

 繰り返しますが、分散KVSは、「キー」と「値」のペアからなる、シンプルなデータモデルに基づくデータストアです。原則、分散KVSは「キーを指定して値を読み書きする」という単純な操作にのみ対応します。

表 分散KVSとRDBの比較
  分散KVS RDB
分散化のコスト ×
負荷分散
高可用性
複雑な検索や集計
トランザクション

 次ページからは、分散KVSとRDBの違いを具体的に見ていきます。

 
1-2-3

 Index
第1回 もう1つの、DBのかたち、分散Key-Valueストアとは
Page1
クラウド時代のデータベース「分散Key-Valueストア」
分散KVSとRDBは何が違うのか?
  Page2
RDBが超えられない「CAP定理」のカベ
  Page3
分散KVSの「使いにくさ」に対応する、2つの利点
クラウドによる「IT補完計画」が始まった





Java Solution全記事一覧



ホワイトペーパーTechTargetジャパン

Java Solution フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

スキルアップ/キャリアアップ(JOB@IT)

- PR -
- PR -

お勧め求人情報

キャリアアップ 〜JOB@IT
@IT Special -PR-
  TomcatやJBossなどAPサーバ環境に関する
情報を集約! “業務”用APサーバ大百科

New!
  一気に解説! 最新のクラスタストレージ
「RAIDを超えたストレージ基準」……など

New!
  クラウド的ユーザー体験の変化は脅威か?
仮想化技術を使いこなす運用管理術を紹介

New!

  上司や部下、部署内メンバーとの情報共有
を“ガラッ”と変えるコラボツールとは?

New!
  おばかアプリ選手権、第4弾開催中!!
ムダにカッコよくてくだらない作品求ム!

  社内ファイルサーバを“クラウド”に統合
VPN直結「クラウド型ストレージ」を紹介

  Twitterのアカウントはなぜ突破された?
メールによる新手の攻撃手法とその対策

  もう仮想化のお試しフェイズは終わりだ!
Hyper-V 2.0が基幹システムも仮想化

  美人!? まあまあ? 気になる いやし系!!
PV急増で「美人時計」がとった手段とは?

  クライアント企業から求められる人材
⇒IT技術と経営戦略を併せ持つ「戦略家」

  .NET編集長が実践する「技術情報検索術」
サンプル・コードを簡単に探す“技”は?

  業務効率と情報セキュリティ対策を両立!
手間なく確実に機密情報を守る方法とは?

  進化を続ける富士通ストレージETERNUS DX
製品開発者の自信を裏付けるものとは何か

  運用管理の課題を“2つの観点”から分析
ユーザー満足度の高い「仮想環境」とは?

  【CTC事例】約30の基幹システムを統合!
膨大なバッジジョブを制御した方法は?

  仮想化すればコストは削減できるか?
仮想化に必要な「3つの視点」を解説する

  その数、なんと400台以上! グループ内
サーバの「統合管理」によるメリットは?