Amazon SimpleDB(アマゾン シンプル ディービー)はAmazon.comによる分散データベースである。Amazon Web Servicesの一部であり、一般的にはAmazon Elastic Compute Cloud (EC2) やAmazon S3などとともに使われるWebサービスである。2007年12月13日に公開された[1]。CAP定理において、一貫性が成立していなく、それゆえ、書き込みをしても、一貫性読み込みを指定しない限り、読めるようになるまで1秒程度以下の時間がかかる。Erlangで記述されている[2]。
課金体系 [編集]
EC2やS3と同じように、Amazon社はSimpleDBのストレージ使用量、データ転送量およびインターネットへの転送量に応じて課金を行う。2008年12月1日に1GBのデータとマシン稼動25時間については無料となる新料金形態を発表した[3]。同一地域内の他のAmazon Web Servicesへのデータ転送は無料である[4]。
クエリー [編集]
クエリーはSQLに似た構文で行う。リレーショナルデータベースではないため、JOINはない。スキーマレスであるため、カラムにデータ型を指定する必要はなく、数値は自動的にクエリーの中では数値として扱える。日付は、ISO 8601形式で扱う。インデックスも自動的に張られる。一つのカラムに複数のデータを持たせることもできる。LIKEを使い、前方一致・後方一致・部分一致の文字列検索ができる。
トランザクション [編集]
完全なトランザクションは扱えないが、Conditional PutとConditional Deleteがあり、指定したカラムが指定した値の時のみ更新・削除を行うことができる。これを使い、データの一貫性を保ったまま、データの更新・削除を行うことができる。データにバージョンを持たせたカラムをつけると、楽観的並行性制御を行える。
制約 [編集]
以下の制約が規定されている[5]。
ストレージの制約 [編集]
| Attribute |
最大量 |
| ドメイン |
100アクティブドメイン |
| ドメインサイズ |
10GB |
| ドメインごとのattribute数 |
1,000,000,000 |
| itemごとのattribute数 |
256 |
| attributeサイズ |
1024文字 |
クエリの制約 [編集]
| Attribute |
最大量 |
| クエリ結果により返されるitem数 |
2500 |
| クエリ実行時間 |
5秒以内 |
| クエリpredicateのattribute nameの数 |
1 |
| predicateに対する比較演算 |
20演算 |
| クエリ展開に対するpredicates |
20 |
参考文献 [編集]
- ^ Amazon SimpleDB- Limited Beta
- ^ What You Need To Know About Amazon SimpleDB
- ^ SimpleDB - Free Tier - A shift in AWS pricing
- ^ Amazon SimpleDB official home page
- ^ Amazon SimpleDB Limits, Amazon SimpleDB Developer Guide (API Version 2007-11-07)
外部リンク [編集]