Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

項目コレクション - DynamoDB で一対多リレーションシップをモデル化する方法

フォーカスモード
項目コレクション - DynamoDB で一対多リレーションシップをモデル化する方法 - Amazon DynamoDB

DynamoDB の項目コレクションは、同じパーティションキー値を共有する項目のグループです。これは、これらの項目が関連していることを意味します。項目コレクションは、DynamoDB で 1 対多リレーションシップをモデル化する主要なメカニズムです。項目コレクションは、複合プライマリキーを使用するように設定されたテーブルまたはインデックスにのみ存在できます。

注記

項目コレクションは、ベーステーブルまたはセカンダリインデックスのいずれかに存在できます。項目コレクションが特にインデックスとやり取りする方法の詳細については、「ローカルセカンダリインデックス内の項目コレクション」を参照してください。

3 つの異なるユーザーとそのゲーム内インベントリを示す次のテーブルを考えてみます。

異なる属性を持つ 3 つの異なる項目コレクション。

各コレクションの一部の項目において、ソートキーは、inventory::armorinventory::weaponinfo など、データをグループ化するための情報を連結したものです。項目コレクションごとに、これらの属性の異なる組み合わせをソートキーとして使用できます。ユーザー account1234 には inventory::weapons 項目がありますが、ユーザー account1387 にはありません (まだ見つけていないため)。ユーザー account1138 は、ソートキーとして 2 つの項目のみ使用しています (まだインベントリがないため)。他のユーザーは 3 つを使用しています。

DynamoDB では、これらの項目コレクションから項目を選択的に取得して、次の操作を実行できます。

  • 特定のユーザーからすべての項目を取得する。

  • 特定のユーザーから 1 つの項目のみを取得する。

  • 特定のユーザーに属する特定タイプのすべての項目を取得する。

項目コレクションでデータを整理してクエリを高速化する

この例では、これらの 3 つの項目コレクションの各項目は、プレイヤーと選択したデータモデルを表し、ゲームとプレイヤーのアクセスパターンを反映しています。どのようなデータがゲームに必要であるか。いつ必要であるか。どのくらいの頻度で必要であるか。この方法で実行する場合のコストはどれくらいか。これらの質問に対する回答に基づいて、これらのデータモデリングを決定しています。

このゲームでは、武器のインベントリのページと鎧のページが別個にプレイヤーに提示されます。プレイヤーがインベントリを開くと、最初に武器が表示されます。これは、このページを高速にロードしたいためであり、以降のインベントリページはその後にロードできます。これらの各項目タイプは、プレイヤーが獲得するゲーム内項目が増えるに従って肥大化する可能性があるため、データベースでは各インベントリページをプレイヤーの項目コレクションの独立した項目にしています。

次のセクションでは、Query オペレーションを使用して項目コレクションとやり取りする方法についてより詳しく説明します。

トピック
    プライバシーサイト規約Cookie の設定
    © 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.