Amazon SimpleDB

Amazon SimpleDB（アマゾン シンプル ディービー）はAmazon.comによる分散データベースである。Amazon Web Servicesの一部であり、一般的にはAmazon Elastic Compute Cloud (EC2) やAmazon Simple Storage Service (S3) などとともに使われるWebサービスである。2007年12月13日に公開されたAmazon SimpleDB- Limited Beta。。Erlangで記述されているWhat You Need To Know About Amazon SimpleDB。

課金体系
EC2やS3と同じように、Amazon社はSimpleDBのストレージ使用量、データ転送量およびインターネットへの転送量に応じて課金を行う。2008年12月1日に1GBのデータとマシン稼動25時間については無料となる新料金形態を発表したSimpleDB - Free Tier - A shift in AWS pricing。同一地域内の他のAmazon Web Servicesへのデータ転送は無料であるAmazon SimpleDB official home page。

クエリー
クエリーはSQLに似た構文で行う。関係データベースではないため、JOINはない。スキーマレスであるため、カラムにデータ型を指定する必要はなく、数値は自動的にクエリーの中では数値として扱える。日付は、ISO 8601形式で扱う。インデックスも自動的に張られる。一つのカラムに複数のデータを持たせることもできる。LIKEを使い、前方一致・後方一致・部分一致の文字列検索ができる。

トランザクション
完全なトランザクションは扱えないが、Conditional PutとConditional Deleteがあり、指定したカラムが指定した値の時のみ更新・削除を行うことができる。これを使い、データの一貫性を保ったまま、データの更新・削除を行うことができる。データにバージョンを持たせたカラムをつけると、楽観的並行性制御を行える。

 制約 
以下の制約が規定されているAmazon SimpleDB Limits, Amazon SimpleDB Developer Guide (API Version 2007-11-07)。

 ストレージの制約 
 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公式サイト
ライブラリ
AWS SDK - Java、.NET、PHP
M/DB - SimpleDBとAPI互換があるフリーのオープンソース代替ソフトウェア。ローカルおよびクラウド上のデータベースと接続が可能である。
simplejpa - Java Persistence API でアクセスするインターフェイス
typica
代替実装
NSimpleDB - SimpleDBデータモデルをデスクトップ用にC#で実装したオープンソースソフトウェア。SimpleDBのプロキシとしても使用できる。
simpledb-dev

SimpleDB
Category:オンラインストレージ
Category:ドキュメント指向データベース
Category:分散システム
Category:NoSQLデータベース

de:Amazon Web Services#Amazon SimpleDB