DynamoDB でパーティションキーを効率的に設計し、使用するためのベストプラクティス。 - Amazon DynamoDB

DynamoDB でパーティションキーを効率的に設計し、使用するためのベストプラクティス。

Amazon DynamoDB テーブルの各項目を一意に識別する主キーは、シンプル (パーティションキーのみ)、または複合 (パーティションキーとソートキーの組み合わせ) で構成できます。

テーブルとそのセカンダリインデックスのすべてのパーティションキーにわたって、アクティビティが均一であるアプリケーションを設計する必要があります。アプリケーションが必要とするアクセスパターンと、各テーブルとセカンダリインデックスが必要とする読み込みユニットと書き込みユニットを決定することができます。

注記

アダプティブキャパシティは、オンデマンドモードとプロビジョンドキャパシティに適用されます。

デフォルトでは、DynamoDB テーブル内のすべてのパーティションは、1 秒あたり 3,000 の読み取りユニットと 1 秒あたり 1,000 の書き込みユニットを最大キャパシティーとして提供するように設計されています。1 つの読み取りユニットは、最大サイズが 4 KB の項目に対する、1 秒あたり 1 回の強力な整合性のある読み込み、または 1 秒あたり 2 回の結果整合性のある読み込みを表します。1 つの書き込みユニットは、最大サイズが 1 KB の項目に対する、1 秒あたり 1 回の書き込みオペレーションを表します。

テーブルのパーティションスループット制限を評価するときは、項目のサイズを考慮する必要があります。例えば、テーブルの項目サイズが 20 KB である場合、1 回の整合性のある読み取りオペレーションでは 5 つの読み取りユニットを消費します。つまり、パーティションの制限に達する前に、その 1 つの項目に対して 1 秒あたり 600 回の整合性のある読み取りオペレーションを同時に実行できます。テーブル内のすべてのパーティションの合計スループットは、プロビジョンドモードでプロビジョニングされたスループット、またはオンデマンドモードのテーブルレベルのスループット制限によって制約される場合があります。詳細については、「Service Quotas」を参照してください。