Amazon SimpleDB

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

CAP定理において、一貫性が成立しておらず、それゆえ、書き込みをしても、一貫性読み込みを指定しない限り、読めるようになるまで1秒程度以下の時間がかかるErlangで記述されている。

課金体系

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

クエリー

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

トランザクション

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

制約

以下の制約が規定されている。

ストレージの制約

クエリの制約

参考文献

外部リンク

  • Amazon SimpleDB公式サイト
  • ライブラリ
    • AWS SDK - Java.NETPHP
    • M/DB - SimpleDBとAPI互換があるフリーのオープンソース代替ソフトウェア。ローカルおよびクラウド上のデータベースと接続が可能である。
    • simplejpa - Java Persistence API でアクセスするインターフェイス
    • typica
  • 代替実装
    • NSimpleDB - SimpleDBデータモデルをデスクトップ用にC#で実装したオープンソースソフトウェア。SimpleDBのプロキシとしても使用できる。
    • simpledb-dev
Uses material from the Wikipedia article Amazon SimpleDB, released under the CC BY-SA 4.0 license.