Amazon CTOに聞く、NoSQLデータベース「DynamoDB」がクラウドに何をもたらすのか?

2012年3月2日

Amazon Web Serviceが提供する、SSD上に構築された高速でスケーラブルなNoSQLデータベース「Amazon DynamoDB」が、東京データセンターでも利用可能になりました

DynamoDBは、単にNoSQLの持つ高いスケーラビリティを提供するだけではなく、一貫性の制御が可能で、必要なスループット性能も自由に設定できるなど、従来のNoSQLとは一線を画す高性能を、メンテナンスなどの管理の手間をまったく必要とせずに提供するサービスです(関連記事「Amazonクラウド、SSD上の新NoSQLデータベース「DynamoDB」を公開。性能をダイナミックに上げ下げ可能」)。

fig Dr Werner Vogels, CTO of Amazon

このDynamoDBの開発経緯や技術について、Amazonのバイスプレジデント兼最高技術責任者(CTO) ヴァーナー・ボーガス(Werner Vogels)氏に、テレビ会議を通じてインタビューを行いました。

DynamoDBは何を想定して開発されたのか

─── DynamoDBの開発経緯を教えてください。

ボーガス氏 Amazonでも以前はリレーショナルデータベースを利用してきた。しかしリレーショナルデータベースはスケーラビリティに限界があった。

スケーラビリティを高めるには2つの方向しかない。スケールアップするか、スケールアウトするかだ。しかしリレーショナルデータベースでスケールアップするには高価なハードウェアが必要となり、一方でスケールアウトすると管理が複雑になる。

そこでAmazonは、データベースの構造をもっとシンプルにすることでスケールするデータベースが実現可能だと気づいたのだ。それが(DynamoDBの前身である)Dynamoの開発につながった。この技術はAmazonのショッピングカートなどに使われることになる。

そしてAmazonの10年から15年にわたるスケーラブルなシステムの経験を活かして開発されたのが今回のDynamoDBだ。

Kindle FireのバックエンドもDynamoDBになっているが、すぐに能力を拡張できるため、昨年のクリスマスも問題なく乗り越えることができた。

─── DynamoDBは、どんなユースケースを想定して開発されたのでしょうか。

ボーガス氏 DynamoDBは、高速でスケーラブル、性能をあらかじめ設定でき、フォールトトレラントで管理者が不要というのが特徴だ。ユースケースもこれに沿ったもので、Webアプリケーションやソーシャルゲーム、モバイルサイトなどが挙げられる。

また、エンタープライズ分野からも注目されている。リレーショナルデータベースは管理者を必要とするが、DynamoDBでは管理業務は不要だからだ。

ビッグデータの領域でも、無限のスケーラビリティと高速性が活きるだろう。Hadoopの機能を提供するAmazon Elastic MapReduceとも統合されており、大量のデータの分析が可能だ。

SSDの接続方法は? 言えない

─── DynamoDBの中で特に興味深いのは、性能をあらかじめ設定できることです。これはどんなテクノロジーによって実現されているのですか?

ボーガス氏 手短にいえばレプリケーションのテクニックを使っている。データのレプリケーションを複数にすることで信頼性を向上させるだけでなく、特別なアルゴリズムによって複数のインスタンスにデータを分散することでリード/ライト性能の制御にも使っている。

SSDを利用していることも重要な要素だ。HDDはシーケンシャルアクセスの性能は高いがランダムアクセス性能は低い。データベースのワークロードで性能を制御しようとすると、ランダムアクセスに強いSSDが必要となる。

─── SSDはSATAで接続されているのでしょうか? あるいはFusion-ioのようにPCIe経由で接続されているのでしょうか?

ボーガス氏 詳細は申し訳ないが言えない。(SATAか? PCIeか?の問いに)単にSSDだ(「Just SSD.」とやや余裕の笑みで)。

─── DynamoDBの登場でデータベースの使い方は変わっていくのでしょうか?

ボーガス氏 これまでは、非常に優秀なエンジニアがデータベースの運用管理のために工数を使っていた。しかしDynamoDBでは管理者が不要になるため、優秀なエンジニアはよりよい製品を作ることにフォーカスできるようになるだろう。

またDynamoDBが備える性能を設定できる機能は、アプリケーションのアーキテクチャをいままで以上にシンプルにするだろう。というのも、これまではデータベースが性能のボトルネックになることを防ぐために、キャッシュなどの余計なレイヤをシステムの中に加えなければならなかったが、DynamoDBではリード/ライトの性能をあらかじめ設定できるため、それらは不要になる。

─── リレーショナルデータベースも高速でスケーラブルに進化していますが、いくらリレーショナルデータベースが進化してもNoSQLには追いつかないとお考えですか?

ボーガス氏 両者は目的が異なるものだと考えている。リレーショナルデータベースは引き続き、コアな部分でデータを管理するツールとして使われていくだろう。しかしシンプルなデータ構造で、よりスケーラブルなニーズがある場面ではNoSQLが使われていくはずだ。

両者の良い部分を組み合わせることで、よりパワフルなシステムが作れると考えている。

Amazonはなぜ標準化団体に参加しないのか?

─── 最後の質問はDynamoDBとは関係ないのですが、Amazon CTOに以前からぜひ聞いてみたかったことを質問させてください。Amazonは以前からW3CやDMTFやSNIAなど、標準化団体にほとんど参加していません。これはどんな考えがあってのことなのでしょうか?

ボーガス氏 クラウドの領域ではまだ標準化は早いと考えている。あまりにも早い段階での標準化はイノベーションを阻害するからだ。顧客から弊社への要望も、よりイノベーションにフォーカスしてほしい、というものだと理解している。

重要なのは、顧客が方向性をリードすることであって、例えば今回のDynamoDBも、顧客からのスケーラブルでメンテナンスが不要なデータベースがほしいという要望に応えたものだ。クラウドで世界が変わっていく、その中でまずはイノベーションにフォーカスしている。標準はそのあとからやってくるのだと考えている。

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

タグ : Amazon , NoSQL , クラウド



≫次の記事
「クラウドデザインパターン」をAmazonが公開。システム冗長化、突発的トラフィック対応、動的コンテンツ処理など45種類
≪前の記事
連載マンガ:Mr. Admin シスアドのダイエット方法とは?

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