クラウドのデータサービスを掘り下げる丸山先生レクチャーシリーズ第3回リポート

分散データベースの重要性を説いてきた本年度の「丸山先生レクチャーシリーズ」。第3回のレクチャーでは、「クラウド上のデータサービス」がテーマに据えられ、BigTable、SimpleDB、Azure SDSなどのクラウド向けデータサービスについて解説が行われた。

» 2009年01月26日 08時00分 公開
[渡邉利和,ITmedia]

 本年度の「丸山先生レクチャーシリーズ」では、第1回から一貫して分散データベースの重要性が指摘されつつも後回しとなっていたのだが、第3回のレクチャーでついに「クラウド上のデータサービス」がテーマに据えられ、クラウド上のデータサービスについて、その最前線の技術を解説した。

データベースをクラウド上に展開するには

 丸山先生レクチャーシリーズ第3回は、1月13日に日本IBM箱崎事業所で開催された。今回のテーマは「クラウド上のデータサービスの利用をめぐって」であり、過去2回のレクチャーでも折りに触れて言及されていたクラウド上のデータサービスをメインに据えた講演が行なわれた。

 最初に行なわれた丸山不二夫氏による講演は「Cloud上の分散データベース―BigTable、SimpleDB、Azure SDS―」と題するもので、既に実用に供されているクラウド上のデータサービスを中心に取り上げ、その出現の背景と発展のいきさつを整理するものだった。

 同氏はまず、クラウドにおけるデータサービスが直面する課題として、「ネットワーク上の情報量の爆発的な増大」と「スケーラビリティとアベイラビリティが相反する」ことを挙げた。また、インターネット上で提供されるさまざまなサービスが利用するデータベース機能では「分散メモリキャッシュ」が活用されるようになってきていることを挙げ、「データ保持やデータ操作の主な舞台は従来のファイルからメモリに移行しつつある。従来型のデータベースのインデックスの置き場所も、ファイルからメモリへといった見直しを迫られるのでは」と話す。

 次に同氏は、こうした状況を背景として登場したクラウドサービスで利用されている分散データベースの実装の発展過程について、「Google BigTable、SimpleDB、Amazon Dynamo、Microsoft SDS」という順序で世代分けできるのでは、という見解を示し、さらに「Amazon Dynamoが転換点で、MicrosoftのWindows Azureのデータサービス(SDS)はDynamoのアーキテクチャを引き継ぐ形で登場した」と位置付ける。

 なお、別の講演ではAmazonのSimpleDBとDynamoを同一視する見方も示されていた。いずれもクラウドサービスの内部で利用されているデータサービスであり、その詳細が明らかになっていない部分も多いため、情報が錯綜している現状が伺えて興味深いところだ。

クラウド上のさまざまな分散データサービス

 次いで丸山氏は、さまざまなクラウド向けデータサービスを取り上げ、その特徴や設計思想について紹介した。

 まず俎上(そじょう)に上がったのがGoogleのBigTableだ。Googleが持つ“大きすぎる規模のデータ”の量と、Googleが提供するサービスの性格上、“半構造化データでよい”という割り切りがあった上での実装ではないかと同氏は話す。また、BigTableの実装上の特徴としては、「書き込みはすべてメモリにたいして行なわれる」「書き出しに特化した設計、アペンド中心のオペレーション」「読み出しはファイルから行なわれ、書き出しと読み込みが非対称に設計されている」といった点が挙げられた。

 次に紹介されたのはAmazonのSimpleDB。こちらは“表”型のデータモデルを採用するKey/Value型のデータベースとなる。また、SimpleDBはRESTベースの他言語サポートを提供するが、そのRESTは昔の古いスタイルだという指摘もあった。データベースの検索に関しては明示的な文字列比較のみがサポートされていたが、現在はSQLに馴れた開発者のためにSELECT文がサポートされるなど、エンタープライズ用途を意識した変更も行なわれているという。

 同氏による評価は、「BigTableもSimpleDBも、エンタープライズユーザーがそのまま使うには不便な部分がある」というものだが、両者の比較では「BigTableではRESTも活用されていない」とのことで、SimpleDBの方が新しい世代に属すると位置づけられているようだ。

 一方、Amazon Dynamoは、“Dynamo: Amazon's New Key-Value Data Store”という論文で紹介されたものだが、具体的な実装があるのかどうかも含め、詳細はよく分かっていない、ということになるようだ。丸山氏はクラウドデータベースをおおよそ3世代に分類しているようで、「BigTableとAzureをつなぐ要となるのがSimple DBとDynamo」としている。

 最後に、MicrosoftのWindows AzureのデータサービスであるSDS(SQL Data Service)についても、そのスケーラビリティのためのスケールアウトへの対応手法やアベイラビリティへの配慮の様子などが紹介された。

 まとめとして丸山氏は“データベースのWeb-Scaleへの大容量化”“データベースへのScale-outの手法の導入”といった状況を受けて「分散メモリキャッシュの活用」や「リレーショナルからKey/Value型へ」といった変化が生じているとした。同氏はまた、「データベースをみるとCloudの進化がよく分かる」と語っており、クラウドの技術的な進歩を確認する際には、データサービスに注目すればよいと示唆した。

本講演にかんするファイル


Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ