管理性、拡張性、性能、信頼性を満たし、もはや使わない理由なし?
黒船来航から1年!Amazon DynamoDB、東京リージョンで開始
2012年03月02日 06時00分更新
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 ソリューションアーキテクチャ本部 技術統括部長/エバンジェリストの玉川憲氏は、「一言でいえば、管理不要な(マネージドな)NoSQLデータベースのサービス。初期費用無料で、従量課金なので、必要なときに使い、終わったらやめればいい」とDynamoDBについて紹介。続いて、大規模なWebアプリケーションでデータベースを拡張する場合、高性能なハードウェアを購入したり、データベース自体を分割しなければならないといった課題を挙げた。こうすると非常に高価で複雑になり、トランザクションあたりのコストが指数関数的に増加。また、拡張のための専門家が必要になると指摘する。
こうした苦労は、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の限界を指摘したAmazonの博士が発表した論文に出会い、「複雑な照会がないデータ処理においてはRDBを捨てる」(得上氏)という決意をする。そして、NoSQLという言葉がなかった2007年から雌伏の時を経て、ようやく出会ったのがAmazon DynamoDBだという。得上氏は、「東京リージョンでDyanmoDBが使えるようになり、最高のパフォーマンスを得られるようになった」と絶賛し、クローラーのDBとして活用しているという。
この連載の記事
-
第16回
クラウド
AWS、HPC用のEC2インスタンスを東京リージョンで開始 -
第15回
クラウド
Chefベースのアプリケーション管理ツール「AWS OpsWorks」 -
第14回
クラウド
ペタバイトクラスのDWHを実現する「Amazon Redshift」開始 -
第13回
クラウド
トランスコードもクラウド化!Amazon Elastic Transcoder開始 -
第12回
クラウド
Amazon EC2にメモリー集約型アプリ向けインスタンス -
第11回
クラウド
AWSに「35ECUs」117GBメモリの「ハイストレージインスタンス」 -
第11回
ビジネス
コードの前にプレスリリース?AWSがつねに先進的な理由 -
第10回
クラウド
2000年当時のAmazon.comを毎日追加!AWSは止まらない -
第9回
データセンター
1GBが1円未満で!AWSが新ストレージ「Amazon Glacier」 -
第8回
クラウド
Windows開発者に朗報!AmazonでSQL Serverが使える -
第7回
ソフトウェア・仮想化
JavaとPHPコードを展開できるAWS Elastic Beanstalk開始 - この連載の一覧へ