Edited at

DymanoDBについての備忘録

More than 1 year has passed since last update.

DynamoDBについて勉強したので、忘れたくないことをメモ。


参考サイト


覚えておきたい特徴


整理ポイント


  • 主キーのみのテーブル


    • パーティションキーを主キーとする

    • パーティションキーでアイテムを取得



  • 複合主キーのテーブル



  • 主キーとインデックスの整理


    • コンセプトから学ぶAmazon DynamoDB【インデックス俯瞰篇】 | Developers.IO

    • 主キーは特定のアイテムを唯一に特定できる検索条件

    • インデックスは特定の検索条件に一致するデータがどこに保存されているかを管理するデータ構造、重複してても良く検索条件で一意の値が取得できるとは限らない

    • DynamoDB


      • 主キー:パーティションキー or パーティションキー & ソートキー

      • インデックス:LSI、GSI


        • 複合主キーとなるパーティションキーとソートキー以外でも検索がしたい時に利用







  • 結果整合性モデル


    • データをコピーして3つのAZに分散配置



  • ローカル・セカンダリ・インデックス(LSI)


    • 複合主キーを持ったテーブルでしか利用できない

    • テーブルと同じパーティションキーを利用して、異なるソートキーを持つインデックスを作成

    • インデックスへの射影は選択をする

    • 射影(どの属性をインデックスに含むか)は作成時に選択する


      • 射影を主キーのみにした場合インデックスに対するクエリで主キーを見つけて、テーブルに対してその主キーでアイテムをGetする



    • テーブル作成時にしか作成できない



  • Global secondary index(GSI)


    • 新しいパーティションキーとソートキーを持つインデックス


      • インデックスなので重複しててもよい



    • 任意のタイミングで作成可能