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クエリを発行すれば日本の全ての街リストを得られる。

参照

外部リンク