[go: up one dir, main page]
More Web Proxy on the site http://driver.im/コンテンツにスキップ

Amazon DynamoDB

出典: フリー百科事典『ウィキペディア(Wikipedia)』
Amazon DynamoDB
URL aws.amazon.com/jp/dynamodb/
言語 英語、日本語など
タイプ パブリックNoSQLデータベースサーバー
運営者 Amazon.com
営利性 営利
登録 必要
開始 2012年1月18日 (12年前) (2012-01-18)
現在の状態 Active

Amazon DynamoDB(アマゾン・ダイナモ ディービー)はAmazon Web Servicesが提供するフルマネージドのNoSQL(key-value/ドキュメント)データベースサービスである[1][2]

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

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

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

データモデル

[編集]

DynamoDBはkey-value store(KVS)モデルを採用している[2]

複合ソートキー

[編集]

PrimaryKeyを構成するsortKeyはクエリ対象の絞り込み(range query)に利用できる[6]。sortKeyはbegins_withクエリで絞り込みが可能なため、階層性をもったattributeをconcatしたものをsortKeyに設定することで複数attributeに基づく絞り込みが可能である[7]。このsortKeyはComposite sort keyと呼ばれる。例えば国と地域に基づいて街リストを得ようとする。sortKeyとして country#region#city(例: Japan#Tokyo#Shinjuku, Japan#Tokyo#Ikebukuro)を設定しbegins_with: Japan#Tokyoクエリを発行すればShinjukuIkebukuroが得られる。begins_with: Japanクエリを発行すれば日本の全ての街リストを得られる。

参照

[編集]
  1. ^ a b Clark, Jack (2012年1月19日). “Amazon switches on DynamoDB cloud database service”. ZDNet. 2012年1月21日時点のオリジナルよりアーカイブ。2012年1月21日閲覧。
  2. ^ a b Amazon DynamoDB は、規模に関係なく数ミリ秒台のパフォーマンスを実現する、key-value およびドキュメントデータベースです。完全マネージド型マルチリージョン、マルチマスターで耐久性があるデータベースで… Amazon DynamoDB
  3. ^ Ellis, Jonathan (2012年1月18日). “Amazon DynamoDB”. Cassandra Developer Center. Datastax.com. 2012年1月21日閲覧。
  4. ^ Vogels, Werner (2012年1月18日). “Amazon DynamoDB – a Fast and Scalable NoSQL Database Service Designed for Internet Scale Applications”. All Things Distributed blog. 2012年1月21日閲覧。
  5. ^ Amazon Web Services ブログ: 【AWS発表】 Amazon DynamoDBが東京リージョンで利用可能に”. 2014年10月28日閲覧。
  6. ^ Careful design of the sort key lets you retrieve commonly needed groups of related items using range queries with operators AWS - DynamoDB - Developer Guide
  7. ^ 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

外部リンク

[編集]