Amazon DynamoDB

Amazon DynamoDB（アマゾン・ダイナモ ディービー）はAmazon Web Servicesが提供するフルマネージドのNoSQL（key-value/ドキュメント）データベースサービスである Amazon DynamoDB は、規模に関係なく数ミリ秒台のパフォーマンスを実現する、key-value およびドキュメントデータベースです。完全マネージド型マルチリージョン、マルチマスターで耐久性があるデータベースで… Amazon DynamoDB。

DynamoDBは他のAmazonのサービスとは異なり、データ量だけでなく、スループットに基づき購入する。DynamoDBは自動的にデータとトラフィックをSSDを搭載した適切な数のサーバーに分散し、応答性を一定の速度に保つ。Amazon Elastic MapReduceを併用し、Hadoopと併用できる。

DynamoDBはマネージド版のApache Cassandraと比較される 。

Amazon CTOのWerner Vogelsが2012年1月18日に発表した 。当初はアメリカ東海岸のリージョンでのみ提供されていたが、2012年3月1日より東京リージョンでの提供が始まった。

 データモデル 
DynamoDBはkey-value store（KVS）モデルを採用している。

 複合ソートキー 
PrimaryKeyを構成するsortKeyはクエリ対象の絞り込み（range query）に利用できるCareful design of the sort key lets you retrieve commonly needed groups of related items using range queries with operators AWS - DynamoDB - Developer Guide。sortKeyはbegins_withクエリで絞り込みが可能なため、階層性をもったattributeをconcatしたものをsortKeyに設定することで複数attributeに基づく絞り込みが可能であるComposite sort keys let you define hierarchical (one-to-many) relationships in your data that you can query at any level of the hierarchy. AWS - DynamoDB - Developer Guide。このsortKeyはComposite sort keyと呼ばれる。例えば国と地域に基づいて街リストを得ようとする。sortKeyとして country#region#city（例: Japan#Tokyo#Shinjuku,  Japan#Tokyo#Ikebukuro）を設定しbegins_with: Japan#Tokyoクエリを発行すればShinjukuとIkebukuroが得られる。begins_with: Japanクエリを発行すれば日本の全ての街リストを得られる。

参照

外部リンク


DynamoDB
Category:クラウドストレージ
Category:NoSQLデータベース