- DynamoDB のテーブルは リージョンごとに独立 して存在する。例えば、
us-east-2
リージョンの People テーブルと、us-west-2
リージョンの People テーブルは別物として扱われる。 - DyanmoDB のテーブル名、属性名は
CamelCase
にするのが公式っぽい(-
、_
、.
といった記号も使える) - プライマリキー
- DynamoDB の プライマリキーの型 は、文字列/数値/バイナリ、といったスカラ値のみが使える。
- DynamoDB のプライマリキーは 1 つ or 2 つ
- 1 つの場合 … パーティションキーのみ(一意な ID)
- 2 つの場合 … パーティションキー + ソートキー(パーティションが同じであれば、同じ物理ストレージ内にソートキー値でソートされた形で項目が保持される)
- DynamoDB のテーブルは、プライマリキーとなる属性以外はスキーマレスなので、テーブル作成時はプライマリーキー属性のみ定義すればよい。それ以外の部分には入れ子構造のデータも自由に入れられる。
- DynamoDB に項目を追加するときに バイナリ型属性 の値を渡すときは、Base64 エンコードして渡す必要がある。
- RCU の消費
- 基本的にクエリ (Query) は合計サイズ 4KB ごとに 1RCU 消費する。
- GetItem の場合は、1 件ごとに 1RCU 消費する。
- 100 件以上とか大量に PutItem するときは、BatchWrite の仕組みを使うとめっちゃ速くなる。複数の要求をバッファリングして通信回数を減らしてくれるぽい。具体的な使い方は、各 SDK の API ドキュメントを参照。
更新:
/ 作成: