STAY KOBE

[SolutionArchitect Pro] AWS DynamoDB セカンダリインデックス

AWS DynamoDB セカンダリインデックス

グローバルセカンダリインデックス

ローカルセカンダリインデックス

特徴 グローバルセカンダリインデックス ローカルセカンダリインデックス
キースキーマ グローバルセカンダリインデックスのプライマリキーは
シンプル (パーティションキー) または複合 (パーティションキーとソートキー)
のいずれかとすることができます。
local secondary indexのプライマリキーは
複合 (パーティションキーとソートキー) である必要があります。
キーの属性 インデックスパーティションキーとソートキー (存在する場合) は、
文字列、数値、またはバイナリ型の任意のベーステーブル属性と
することができます。
インデックスのパーティションキーは、
ベーステーブルのパーティションキーと同じ属性です。
ソートキーは、文字列、数値、またはバイナリ型の
任意のベーステーブル属性とすることができます。
パーティションキー値ごとのサイズ制限 グローバルセカンダリインデックスに
サイズ制限はありません。
パーティションキーの値ごとに、
すべてのインデックス付き項目の合計サイズが、
10 GB 以下である必要があります。
オンラインインデックスオペレーション Global secondary indexは、
テーブルの作成と同時に作成できます。
また、既存のテーブルに新しいグローバルセカンダリインデックスを
追加したり、既存のグローバルセカンダリインデックスを
削除したりできます。詳細については、
「グローバルセカンダリインデックスの管理」を参照してください。
ローカルセカンダリインデックスは、テーブルの作成と
同時に作成されます。既存のテーブルにlocal secondary indexを
追加したり、現在存在するlocal secondary indexを
削除したりすることはできません。
クエリとパーティション グローバルセカンダリインデックスでは、すべてのパーティションで
テーブル全体に対してクエリを実行できます。
local secondary indexでは、クエリのパーティションキー値で
指定された 1 つのパーティションに対してクエリを実行できます。
読み込み整合性 グローバルセカンダリインデックスのクエリでは、
結果整合性のみがサポートされます。
local secondary index のクエリを実行するとき、
結果整合性または強い整合性のどちらかを選択できます。
プロビジョニングされたスループットの消費 各 グローバルセカンダリインデックス には、
読み込みおよび書き込みアクティビティに対する独自の
プロビジョニングされたスループット設定があります。
グローバルセカンダリインデックスのクエリまたはスキャンでは、
ベーステーブルからではなく、インデックスからキャパシティーユニットを
消費します。同じことが、テーブルへの書き込みによる
グローバルセカンダリインデックス の更新にも当てはまります。
local secondary indexのクエリまたはスキャンでは、
ベーステーブルから読み込みキャパシティーユニットを消費します。
テーブルに書き込むと、そのlocal secondary indexも更新されます。
この更新では、ベーステーブルから書き込みキャパシティーユニットを消費します。

AWS認定試験の練習問題

  1. DynamoDB では、セカンダリインデックスは、____ 操作をサポートする代替キーと共に、テーブルの属性のサブセットを含むデータ構造です。
    1. どれでもない
    2. 両方とも
    3. クエリ
    4. スキャン
  2. DynamoDB に関しては、グローバルセカンダリインデックスとは何ですか。
    1. テーブル上のハッシュとレンジキーが異なるインデックス
    2. テーブルと同じレンジキーを持つが、別のハッシュキーを持つインデックス
    3. テーブルと同じハッシュキーとレンジキーを持つインデックス
    4. テーブルと同じハッシュキーを持つが、別のレンジキーを持つインデックス
  3. DynamoDB に関しては、作成後にインデックスを変更することはできますか。
    1. はい、プライマリハッシュキーインデックスの場合
    2. はい、グローバルセカンダリインデックスの場合
    3. いいえ
    4. はい、ローカルセカンダリインデックスの場合
  4. DynamoDB を考えた場合、グローバルセカンダリキーのプロパティには何が当てはまりますか。
    1. パーティションキーとソートキーは、テーブルとは異なる場合があります。
    2. パーティションキーだけがテーブルと異なる場合があります。
    3. パーティションキーまたは並べ替えキーのいずれかがテーブルと異なる場合がありますが、両方ではありません。
    4. ソートキーのみがテーブルと異なる場合があります。

リファレンス

AWS_DynamoDB_開発者ガイド – セカンダリインデックス

Jayendra’s Blog

この記事は自己学習用に「AWS DynamoDB Secondary Indexes – Certification(Jayendra’s Blogより)」を日本語に訳した記事です。