ステップ 5. DynamoDB のデータモデルを作成します - AWS 規範ガイダンス

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

ステップ 5. DynamoDB のデータモデルを作成します

目的

  • DynamoDB のデータモデルを作成します。

プロセス

  • データベースエンジニアが、各ユースケースに必要なテーブルの数を特定します。DynamoDB アプリケーションでは、できるだけ少ないテーブルを維持することを推奨します。

  • 最も一般的なアクセスパターンに基づいて、データを識別するパーティションキーを持つプライマリキー、またはパーティションキーとソートキーを持つプライマリキーの 2 つのタイプのいずれかになるプライマリキーを特定します。ソートキーは、データをグループ化して整理し、パーティション内で効率的にクエリを実行できるようにするためのセカンダリキーです。ソートキーを使ってデータの階層関係を定義し、どの階層レベルでもクエリーを実行できるようにすることができる (ブログ記事 を参照)。

    • パーティションキーの設計

      • パーティションキーを定義し、その配分を評価します。

      • ワークロードを均等に分散するための書き込みシャーディング の必要性を確認します。

    • ソートキーの設計

      • ソートキーを特定します。

      • 複合ソートキーの必要性を特定します。

      • バージョン管理の必要性を特定します。

  • アクセスパターンに基づいて、クエリ要件を満たすセカンダリインデックスを特定します。

  • データベースエンジニアは、データに大きな項目が含まれるかどうかを判断します。その場合は、圧縮を使用するか、Amazon Simple Storage Service (Amazon S3) にデータを格納します

  • データベースエンジニアは、時系列データが必要かどうかを判断します。その場合は、時系列デザインパターン を使用してデータをモデル化します。

  • データベース・エンジニアは、ERモデルに多対多リレーションシップが含まれているかどうかを判断します。その場合は、隣接リストのデザインパターン を使用してデータをモデル化します。

ツールとリソース

RACI

ビジネスユニット ビジネスアナリスト ソリューションアーキテクト データベースエンジン アプリケーション開発 DevOps エンジニア

I

I

I

R/A

出力

  • アクセスパターンと要件を満たす DynamoDB テーブルスキーマ

次のスクリーンショットは、NoSQL Workbench を示しています。

DynamoDB table schema