会員登録すると
学習することができます。
会員登録する(無料)
登録済みの方はこちら
ログイン

DynamoDBの設計 ― キー・インデックス・読み込みの整合性とキャパシティの計算

目安学習時間 30分

課題

全問正解でレクチャー完了です。

【問題1】

運用中のテーブルに、あとから「顧客の地域」で検索する仕組みを足したいとき、使えるものはどれですか。

[選択肢]

【問題2】

10 KB の項目を、結果整合性で1秒に10回読みます。必要な RCU はどれですか。

[選択肢]
会員登録すると
学習することができます。
会員登録する(無料)

学ぶ目的

キーの設計

DynamoDB の項目(行)は、主キーで探します。主キーはパーティションキーだけか、パーティションキーとソートキーの組です。パーティションキーは値の種類が多い(カーディナリティが高い)ものを選ぶと、読み書きが偏らず、スロットリングを避けられます。

Query と Scan

  • Query … パーティションキーを指定して、その中の項目を読む。ソートキーで範囲も絞れる
  • Scan … テーブル全体を読む。フィルタは読んだ後にかかるので、読んだ量だけキャパシティを使う

GSI と LSI

  • GSI(グローバルセカンダリインデックス) … 別のパーティションキーで探せる。あとから追加できる。読み込みは結果整合性だけ
  • LSI(ローカルセカンダリインデックス) … パーティションキーは同じで、別のソートキーで探せる。テーブルを作るときにしか作れない。強い整合性も選べる

読み込みの整合性とキャパシティ

読み込みは既定で結果整合性(直前の書き込みがまだ反映されていないことがある)で、強い整合性を指定することもできます。プロビジョンドモードでは、次の単位で読み書きの量を決めます。
- 読み込み(RCU) … 4 KB までの項目の強い整合性の読み込み1回が1単位。結果整合性はその半分、トランザクションは2倍
- 書き込み(WCU) … 1 KB までの項目の書き込み1回が1単位。トランザクションは2倍

項目の大きさは、読み込みなら 4 KB、書き込みなら 1 KB の単位に切り上げます。6 KB の項目を強い整合性で1秒に20回読むなら、2単位 × 20 で 40 RCU です。

このレクチャーで学ぶこと

  • パーティションキーとソートキー、偏らないキーの選び方
  • Query と Scan の違い
  • GSI と LSI の違い(作れる時期・整合性)
  • 読み込みの整合性と、RCU・WCU の計算

質問

まだ質問は投稿されていません。

質問投稿

ログイン後に質問の投稿ができます。