久しぶりに仕事で使った。思い出しメモ
##プライマリキー
・パーティションキー、またはパーティションキー+ソートキーの複合キーとなる。
・重複不可
・パーティションキーは、パーティションテーブルを特定するためのキーとなる。
→パーティションキーで、パーティションテーブルが一意に決まる。
・パーティションテーブル内のデータは、パーティションキー、ソートキーで並んでいる。
→インデックス
ソートキーの順番に並んでいるから、DynamoDBでは、ソートキーの昇順or降順でデータを取得できる。
⇒そのまま取り出すか、逆順にして取り出すか。それぐらいの並び替えしかできない。
##グローバルセカンダリインデックス
・インデックステーブルを作成する。
・パーティションキー、またはパーティションキー+ソートキーの複合キーを設定する。
→意味合いは、プライマリキーと同じだが、こちらは重複可
##検索について
・スキャン検索は、全レコード検索
・クエリ検索は、プライマリキーを指定しての検索。
パーティションキー、または、パーティションキー+ソートキー
※パーティションキーは等価(=)の検索が可能
ソートキーは等価以外の検索も可能
(=,<,<=,>,>=,BETWEEN,begins_with)
・取得データを絞り込むために、フィルタというものがある。
どのアトリビュートでも絞り込むことができる。
⇒ただし、以下の動きになる。
スキャン検索では、全レコードを検索した後に、絞り込む。
クエリ検索では、プライマリキーで検索した後に、絞り込む。
※料金がかかるのは、フィルタで絞り込む前のデータの読み込みであることに注意。