Amazon Web Services エヴァンジェリスト 玉川憲氏

Amazon Web Servicesは3月1日、1月18日に米国東海岸でリリースしたNoSQLデータベースサービス「Amazon DynamoDB(ダイナモディービー)」が、東京リージョンでも利用可能になったと発表した。

エヴァンジェリストの玉川憲氏は、「DynamoDBは、Amazonの10年以上にわたる大規模Webアプリケーションの運用経験と大規模なノンリレーショナルデータベースの構築経験を生かしたもの。これらは簡単なことではなく、時間とコストをかけて課題を解決することで蓄積したノウハウをお客様に届けたい」と、DynamoDBをリリースした経緯を説明した。

AWSはこれまで「Amazon RDS」「Amazon SimpleDB」「Amazon Elasticache」と3つのデータベースサービスをリリースしており、DynamoDBは4つ目のデータベースサービスとなる。

Amazon Web Servicesのサービス一覧。DynamoDBを含めると4種類のデータベースサービスが提供されている

同氏は、DynamoDBの特徴として「管理不要」「高い拡張性」「データへの高速アクセス」「高い信頼性」を挙げた。「データベースをオンプレミスで利用する場合、ハードウェアの調達、インストール、設定、レプリケーションの構築、パッチの適用、クラスタ化といった作業が必要だが、DynamoDBを利用すればこれらの作業が一切不要となる」と同氏。

高拡張性の例としては、「パフォーマンスを指定できること」が紹介された。DynamoDBでは、ユーザー自身が秒間当たりの読み込みスループットと書き込みスループットをそれぞれ指定することができる。ユーザーの設定に従って、AWS側で必要なスペックのハードウェアを調達・設定する。同氏は、「本来、データベースのスループットを調整する際、ハードウェアの分散配置などの作業が必要になる。しかし、DynamoDBでは、ユーザーはスループットを自由に設定できるにもかかわらず、それに伴う一連の作業はまったく行う必要がない」とそのメリットの大きさを強調した。

DynamoDBの読み込みスループットと書き込みスループットを設定する画面

DynamoDBは現在、米国東海岸リージョンと東京リージョンで利用可能だが、データは同一リージョン内の3ヵ所のデータセンター間でコピーされる。つまり、サーバレベルの障害だけでなく、データセンターレベルの障害への対策も講じられているわけだ。「東京リージョンというと、東京にしかデータセンターがないと勘違いされがちだが、東京リージョンとして、国内に複数のデータセンターが設けられている」と、同氏は述べた。

DynamoDBの料金は、保存しているデータ容量にかかる料金と読み込み/書き込みスループットに応じた料金の合計となる。AWSは利用するデータセンターによって料金が異なるが、DynamoDBも同様だ。DynamoDBには無料使用枠が用意されており、データ保存容量が100MBまで、書き込みスループットが1秒当たり最大5回、読み込みスループットが1秒当たり最大10回なら無料で使える。

DynamoDBを東京リージョンで利用した場合の料金

発表会では、DynamoDBのユーザーとして、クラスメソッドの横田聡氏とマイニングブラウニーの得上竜一氏が利用事例を語った。

横田氏は、DynamoDBを利用するようになったきっかけについて、「当社では、データベースに何でも入れてしまう傾向があったのだが、大規模なデータベースの場合、トランザクションが発生するとデータベースがボトルネックとなってしまう。そこで、データを適材適所に配置しようと考えた」と説明した。同社は、AWSの各種データベースサービスを駆使して、データベース関連のデータを分散している。

クラスメソッドにおけるAWSのデータベースサービスの利用例

一方、得上氏は「MySQLはシステムを停止しないとスケールアウトできない点で断念、MongoDBはインフラとメンテナンスのコストが嵩むことから断念、SimpleDBは10GBという容量では足りないことから断念し、残ったのがDynamoDBだった」と、さまざまなデータベースを比較検討した結果、DynamoDBの採用に至った経緯を語った。

また、同氏は「今回、日米間のデータ転送によるレイテンシーも解決されてよかった」と、東京リージョンで使えるようになったメリットについても言及した。