« 出産・育児休暇から復職 | トップページ | プロジェクト終了報告:共有 »

SimpleDB

Amazonが提供しているWebServiceの一つであるSimpleDBに関するTipsを記載します。

概要

SimpleDBとはAmazonが提供している非リレーショナル型のデータストアです。
公式はこちら

RDBと同様にクエリが利用できますが、RDBでは無いのでSQLライクのクエリであり、又、様々な制約が存在します。

  • JOINは存在しない。
  • ORDER BYで指定できる項目は1項目のみ、且つ、Where句で指定されている必要がある。
    • データ取得条件には含めたくないがソート条件に含めたい場合は、"select * from dom where attr is not null order by attr;"のようにします。
  • プライマリキーで条件を絞り込む場合は、itemName()と指定します。itemNameではなく括弧を含めた形でなければなりません。
    • "select * from dom where itemName()='aa';"

詳しくはデベロッパーズガイドを参照して下さい。※ 英語のみ

用語

Domain
ドメイン。
RDBでいうところのテーブルに当たります。
Attribute
アトリビュート。
RDBでいうところのカラム名に当たります。
マルチバリュー対応なので、一レコードに対して複数の値を設定することが可能です。
又、可変となりますので、1レコード目にはAttribute:Aが存在するが2レコード目にはAttribute:Bが存在しないこともあります。
item
アイテム。
RDBでいうところの値になります。
値は全てString型となりますので、日付型を利用する場合はAmazonから提供されているAWS-SDKのSimpleDBUtilsクラスのエンコードメソッド、デコードメソッドを利用します。
itemName()
アイテムネーム。
RDBでいうところのプライマリキーになります。

制限事項

SimpleDBにはデータ量に関する制限事項が存在するので、利用する際はその制限事項に抵触しないように気をつける必要があります。

ストレージの制約
Attirbute最大量
ドメイン 100アクティブドメイン
ドメインサイズ 10GB
ドメイン毎のattribute数 1,000,000,000
item毎のattribute数 256
attributeサイズ 1024byte
ストレージの制約
Attirbute最大量
クエリ結果により返されるitem数 2500
クエリ実行時間 5秒以内
クエリpredicateのattribute nameの数 1
predicateに対する比較演算 20演算
クエリ展開に対するpredicates 20

利用に当たって

AmazonからSDKが提供されています。

データイメージSimple_db

ご支援、宜しくお願いします!←ポチッ!とブログランキング!

|

« 出産・育児休暇から復職 | トップページ | プロジェクト終了報告:共有 »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: SimpleDB:

« 出産・育児休暇から復職 | トップページ | プロジェクト終了報告:共有 »