ベストプラクティス - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ベストプラクティス

このセクションでは、前のセクションで説明したベストプラクティス (インデックス、単一テーブル設計、トランザクションを使用して 400 KB を超える項目を Amazon S3 に保存するなど) に加えて、推奨事項をまとめます。

オブジェクト永続性アクセスパターンを使用する

このガイドで前述したように、Amazon DynamoDB には 3 つのアクセスパターンがあります。オブジェクト永続性インターフェイスは、クリーンeasy-to-maintainコードを提供します。読み取り/書き込みオペレーション中にモデルプロパティ値をカスタマイズまたは変換する必要がない限り、 オブジェクト永続性インターフェイスを使用することをお勧めします。

正しいキャパシティプロビジョニングモードを選択する

オンデマンドキャパシティプロビジョニングは、ワークロードの増減に応じて読み取りおよび書き込みオペレーションを自動的にスケーリングします。ワークロードが予測不可能な場合は、このモードを使用することをお勧めします。通常、コストはプロビジョンドキャパシティモードよりも高く、pay-as-you-useで課金されます。ワークロードが予測可能で、容量要件を予測できる場合は、プロビジョンドキャパシティモードを使用することをお勧めします。詳細については、このガイドの前半の「 料金モデル」セクションを参照してください。

キャッシュを使用する

DynamoDB を操作するときはキャッシュを使用して、各読み取り/書き込みオペレーションに関連するコストを削減することをお勧めします。キャッシュされたデータが古くなったときにキャッシュから項目を削除するには、適切な無効化ロジックを使用します。キャッシュを実装するために最も頻繁に使用されるエンドポイントを特定します。

スキャンの代わりにクエリを使用する

DynamoDB スキャンはできるだけ避けてください。DynamoDB クエリは、スキャンオペレーションよりも効率的で低コストです。クエリはパーティションキー (PK) とソートキー (SK) の値に基づいて項目をフィルタリングしますが、スキャンは指定されたパラメータに基づいて項目をフィルタリングするためにすべてのレコードを読み取る必要があります。DynamoDB の料金はデータの読み取り/書き込みオペレーションの量に基づいているため、スキャンにはクエリよりもコストがかかります。クエリも高速になり、最終的にアプリケーションのパフォーマンスが向上します。

データの整合性を検証する

DynamoDB は NoSQL データベースであるため、関係データを維持したり、データ整合性の制約を含めたりすることはありません。各項目には、プライマリキーとソートキーの一意の組み合わせのみが必要です。DynamoDB テーブルの関連項目間のデータ整合性を確保するために、システムのアプリケーションまたはビジネスレイヤーで厳密な検証を実行することをお勧めします。