前のモジュールでは、ゲームアプリケーションのアクセスパターンを定義しました。このモジュールでは、DynamoDB テーブルのプライマリキーを設計し、主要なアクセスパターンを有効にします。
モジュールの所要時間: 20 分
DynamoDB テーブルのプライマリキーを設計するときは、次のベストプラクティスを念頭に置いてください。
- テーブルのさまざまなエンティティから開始します。従業員、部門、顧客、注文など、複数の異なるタイプのデータを単一のテーブルに保存する場合、プライマリキーには各エンティティを明確に識別し、個々のアイテムのコアアクションを有効にする方法があることを確認してください。
- プレフィックスを使用して、エンティティタイプを区別します。プレフィックスを使用してエンティティタイプを区別すると、衝突を防ぎ、クエリを支援できます。たとえば、同じテーブルに顧客と従業員の両方がある場合、顧客のプライマリキーは CUSTOMER#<CUSTOMERID> になります、従業員のプライマリキーは EMPLOYEE#<EMPLOYEEID> です。
- 最初に単一項目のアクションに焦点を合わせ、可能な場合は複数項目のアクションを追加します。プライマリキーに関しては、GetItem、PutItem、UpdateItem、DeleteItem の単一アイテム API を使用して、単一アイテムの読み取りおよび書き込みオプションを満たすことが重要です。Query を使用して、複数キーの読み取りパターンをプライマリキーで満たすこともできます。そうでない場合は、セカンダリインデックスを追加してユースケースの Query を処理できます。
これらのベストプラクティスを念頭に置いて、ゲームアプリケーションのテーブルのプライマリキーを設計し、いくつかの基本的なアクションを実行しましょう。