メニュー
Amazon DynamoDB
開発者ガイド (API Version 2012-08-10)

DynamoDB のベストプラクティス

このセクションを使用して、パフォーマンスを最大にしてスループットコストを最小にするための推奨事項をすばやく見つけてください。

テーブルのベストプラクティス

DynamoDB テーブルは複数のパーティションに分散されています。最良の結果を得るには、パフォーマンスを低下させる可能性がある I/O の「ホットスポット」を発生させないために、読み込みおよび書き込みアクティビティがテーブル内のすべての項目に均一に分散されるように、テーブルとアプリケーションを設計します。

項目のベストプラクティス

DynamoDB 項目はサイズが限定されています(「DynamoDB での制限」を参照)。ただし、テーブル内の項目数に制限はありません。大きなデータ属性値を項目内に格納する代わりに、ここに示すアプリケーション設計方法を検討してください。

クエリとスキャンのベストプラクティス

予期しない突然の読み込みアクティビティがあると、テーブルやグローバルセカンダリインデックスのプロビジョニングされている読み込みキャパシティーが急速に消費されます。またそのようなアクティビティは、複数のテーブルパーティションに均一に分散されていないと、効率が低下する可能性があります。

ローカルセカンダリインデックス のベストプラクティス

local secondary indexでは、データ用の代替ソートキーを定義することができます。テーブルのクエリと同じ方法でlocal secondary indexのクエリを実行できます。local secondary index を使用する前に、プロビジョニングされたスループットコスト、ストレージコスト、クエリの効率性について、固有のトレードオフがあることを認識する必要があります。

グローバルセカンダリインデックス のベストプラクティス

グローバルセカンダリインデックスでは、データ用の代替パーティションキーとソートキーの属性を定義することができます。これらの属性は、テーブルパーティションのキーおよびソートキーと同じである必要はありません。テーブルのクエリと同じ方法でグローバルセカンダリインデックスのクエリを実行できます。local secondary index と同様、グローバルセカンダリインデックス にも、アプリケーションを設計するときに考慮する必要があるトレードオフがあります。