このページの本文へ

進化が止まらない!AWSの最新動向 第6回

管理性、拡張性、性能、信頼性を満たし、もはや使わない理由なし?

黒船来航から1年!Amazon DynamoDB、東京リージョンで開始

2012年03月02日 06時00分更新

文● 大谷イビサ/TECH.ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

3月1日、Amazon Web Services LLC(以下、AWS)は、NoSQLデータベースサービス「Amazon DynamoDB」を東京リージョンで開始した。米国クラウド業界からの黒船とも呼べるAWSの日本上陸からちょうど1年を経て、データベース市場を揺るがすサービスが国内でスタートした。

Amazonの苦労をユーザーまでする必要はない

 Amazon DynamoDB(以下、DynamoDB)は、Amazon RDS、Amazon SimpleDB、Amazon Elasticacheなどと並ぶ同社のデータベースサービスの1つで、スケールアウトに最適なNoSQLのサービスを提供する。1月18日には米国の東海岸リージョンでスタートしており、東京リージョンでは3月1日11時から開始した。

AWS ソリューションアーキテクチャ本部 技術統括部長/エバンジェリストの玉川憲氏

 発表会において、AWS ソリューションアーキテクチャ本部 技術統括部長/エバンジェリストの玉川憲氏は、「一言でいえば、管理不要な(マネージドな)NoSQLデータベースのサービス。初期費用無料で、従量課金なので、必要なときに使い、終わったらやめればいい」とDynamoDBについて紹介。続いて、大規模なWebアプリケーションでデータベースを拡張する場合、高性能なハードウェアを購入したり、データベース自体を分割しなければならないといった課題を挙げた。こうすると非常に高価で複雑になり、トランザクションあたりのコストが指数関数的に増加。また、拡張のための専門家が必要になると指摘する。

Webアプリケーションでのデータベースの課題

DynamoDBでの4つの特徴

 こうした苦労は、AmazonのWebアプリケーションを運営するにあたって、同社が経験してきたこと。この苦労で得たノウハウをサービスに注入することで、DynamoDBでは管理不要、高い拡張性、高速アクセス、高い信頼性など4つの特徴を実現したという。ハードウェアの調達や設定は不要で、クラスターやレプリケーションもサービスに導入済み。データベースの容量は無制限に拡張でき、しかもサービス停止は不要。ユーザーはWebのコンソールから簡単にテーブルを追加し、API経由やSDKで簡単に利用できる。玉川氏は「Amazonの苦労をお客さんまでする必要はない。AWSのノウハウを投入したサービスを使うことで、お客様は本来のビジネスとアプリケーションに集中できる」と話す。

書き込み・読み出し性能が設定できる

 特筆すべき点は、まず書き込み・読み出しの性能が設定できる点。ダイヤルを設定するように、秒間あたりのスループットを指定することが可能だ。

高い拡張性と性能を実現する

 また、ハードウェアを分散しているほか、SSDも採用しているため、データベースへのアクセスも高速。信頼性の高さも大きな特徴で、同一リージョン内の異なるデータセンターでデータレプリケーションを行なっている。「サーバーレベルではなく、データセンターレベルでの障害にも対応する」(玉川氏)。こうした特徴から、高速なアクセスやスケールアウトが重視される用途ではDynamoDBの利用が推奨され、複雑なクエリやトランザクションが必要な場合はRDBサービスのRDSが向いているという。

 気になる料金は、データの保存容量に応じた料金と書き込み・読み出しスループットに応じた料金の組み合わせで構成される。無料使用枠が用意されており、保存容量100MBまでは無料。さらに書き込み最大5回/秒、読み出し最大10/秒は無料となる。1ドル77円換算の試算としては、書き込み10回/秒、読み出し100回/秒、10GBデータ、1KBのアイテムサイズで、月額38ドル(約2900円)になるという。

東京リージョン利用での料金

料金の試算例

私たちはAmazonのDBにこうしてたどりついた!

 国内での導入事例もいち早く紹介された。企業向け・Webアプリケーションを開発するクラスメソッドの代表取締役 横田聡氏は、データの特性にあわせてAmazonのデータベースサービスを使い分けている例を紹介した。

クラスメソッドの代表取締役 横田聡氏

 横田氏は「そもそも近年では、あらゆるデータをデータベースに入れてしまう傾向がある。そのため、DBはボトルネックになっている」という課題を説明。そこで同社は、マスターデータやトランザクションはRDS、操作履歴や更新ログはストレージサービスのS3、メタデータはSimpleDB、キャッシュはElasticachに保存。トランザクションの一部、一時データ、セッションなどをDynamoDBに保存しているという。用途にあわせてEC2のインスタンスからリクエストを分散することで、ボトルネックを解消した。

適材適所に保存データベースを変える

 また、マイニングブラウニーの代表取締役 得上竜一氏は、長年検討を続けてきたデータベース探しの苦労を吐露した。

マイニングブラウニーの代表取締役 得上竜一氏

 同社は、クローラーとデータマイニングを組み合わせたマーケティングツールを開発しており、大量のデータを格納するデータベースの選択はまさに鍵だった。しかし、MySQLはオンラインでのスケールが難しく、mongoDBやCassandraは安定運用のためのインフラコストが馬鹿にならないので断念。「SimpleDBは最有力候補だったが、10GBの容量や10億レコード数といった制限では、ユーザー数が増えたときに対応できないので一部のみ利用することにした」(得上氏)とのこと。長らく、最適な選択肢がなかった。

さまざまなデータベースを検討

既存のRDBの限界を指摘する論文に感銘

 そんなとき同氏は、既存のRDBの限界を指摘したAmazonの博士が発表した論文に出会い、「複雑な照会がないデータ処理においてはRDBを捨てる」(得上氏)という決意をする。そして、NoSQLという言葉がなかった2007年から雌伏の時を経て、ようやく出会ったのがAmazon DynamoDBだという。得上氏は、「東京リージョンでDyanmoDBが使えるようになり、最高のパフォーマンスを得られるようになった」と絶賛し、クローラーのDBとして活用しているという。

■関連サイト

カテゴリートップへ

この連載の記事
  • 角川アスキー総合研究所
  • アスキーカード