Amazon Web Services ブログ

Amazon DynamoDB Data Model Validation Tool でデータモデリング精度の向上させる

本記事は 2025 年 11 月 20 日に公開された “Accelerating data modeling accuracy with the Amazon DynamoDB Data Model Validation Tool” を翻訳したものです。


Introducing the Amazon DynamoDB data modeling MCP tool では、Amazon DynamoDB Model Context Protocol (MCP) サーバー を発表しました。これは、DynamoDB 固有のツールを Amazon Q DeveloperKiro、Cursor などの AI 搭載アシスタントに接続します。MCP サーバーを使用すると、自然言語を通じて DynamoDB データモデルを設計でき、dynamodb_requirements.md や dynamodb_data_model.md などの構造化されたアーティファクトを生成できます。

Raising the bar on Amazon DynamoDB data modeling では、データモデリングプロンプト自体の品質、要件の収集効率、アクセスパターンの推論、スケーラブルな設計の生成を測定する自動評価フレームワークを紹介しました。このフレームワークは、Amazon BedrockDSPyStrands Agents で構築されており、DynamoDB モデリングツールが提供するガイダンスを継続的に改善するのに役立ちます。

2025年11月20日、MCP サーバーの新しいコンポーネントである Amazon DynamoDB Data Model Validation Tool を発表します。この検証ツールは、生成、評価、実行の間のループを閉じるものです。検証ツールは、生成されたデータモデルを Amazon DynamoDB local に対して自動的にテストし、すべてのアクセスパターンが意図したとおりに動作するまで反復的に改善します。

静的な設計から自己検証モデルへ

データモデリングは本質的に反復的なプロセスです。従来、開発者はスキーマを手動でデプロイし、テストスクリプトを記述し、結果を分析することでデータモデルを検証していましたが、このプロセスは時間がかかり、一貫性に欠けていました。Data Model Validation Tool は、このサイクルをエンドツーエンドで自動化します。

まず、DynamoDB MCP サーバーは、自然言語または自動データベース分析を通じてデータモデルの設計を支援し、アプリケーションのアクセスパターンに沿ったスキーマを生成します。新しい Data Model Validation Tool は、DynamoDB local を自動的に起動し、読み取りおよび書き込み操作を実行して、各アクセスパターンが期待通りに動作することを確認することで、このプロセスを拡張します。

これにより、エージェントが完全に有効になるまでモデルを改良できるような、生成と検証の反復ループが作成されます。たとえば、パーティションキーの不整合によってクエリが不完全な結果を返すなどのテストが失敗した場合、バリデーターは問題を記録し、スキーマの影響を受けた部分を再生成し、テストを再実行します。このプロセスは、アクセスパターンが正常に合格するまで続きます。

次の図は、選択したエージェントフレームワークを通じて MCP サーバーとどのように対話するかを示しています。

visual diagtam

  1. DynamoDB データモデルの設計を支援するようエージェントに依頼すると、エージェントは DynamoDB Model Context Protocol (MCP) サーバーを呼び出します。サーバーは、自然言語での会話か、データモデリング要件を自動的に推測する Database Source Analyzer ツールのいずれかを選択するよう案内します。
  2. このツールは、アプリケーションのアクセスパターンを捉え、スケーラブルでコスト効率の高い設計に整理した DynamoDB データモデルを生成します。
  3. 次に、エージェントはデータモデルを検証するかどうかを尋ねます。「はい」を選択すると、Data Model Validation Tool が呼び出されます。
  4. バリデーターは以下のステップを実行します。
    1. DynamoDB local を使用してローカル DynamoDB 環境を起動します。
    2. dynamodb_data_model.json という名前の JSON ファイルを生成します。このファイルには、設計を検証するために必要なアクション (作成するテーブル、テストするアクセスパターン、実行する対応する CLI コマンド) がリストされています。
    3. テーブルとインデックスをローカルに作成し、サンプルデータを挿入します。
    4. dynamodb_data_model.json ファイルに記録された期待される読み取りおよび書き込み操作を実行します。
    5. レスポンスを検証し、各アクセスパターンが正しく効率的に動作することを確認します。
  5. 検証ステップが失敗した場合、フィードバックループが自動的にデータモデルを更新し、アクセスパターンが合格するまでテストを再実行します。完了すると、ツールは更新されたモデルと、検証プロセスを要約した validation_result.md ファイルを出力します。

例: 高トラフィックの取引アプリの検証

次の例は、Deals App の検証結果を示しています。これは、数百万人のユーザーにサービスを提供し、フラッシュセール中に大規模なファンアウトイベントを処理するモバイルファーストシステムです。MCP データモデリングツールがスキーマを生成した後、バリデーターは自動的に DynamoDB local を起動し、次のようなシミュレーション操作を実行します。

  • カテゴリとブランドで取引を閲覧する
  • 閲覧数で取引の人気を追跡する
  • フォローしているカテゴリの通知を書き込む

バリデーターが「GetUserFeed」クエリでエラーが発生したことを検出すると、問題を特定し、関連するインデックスを再生成して、アクセスパターンを再テストします。数分以内に、機能テスト済みで、パフォーマンスを考慮し、DynamoDB のベストプラクティスに沿った、検証済みのデータモデルが完成します。以下は、Amazon Q CLI を使用した検証ツールの出力例です

## Validation Results Summary 

 Status: ⚠️ 75% Success (3 out of 4 patterns working)

✔ Query: GetDealById – passed 
✔ Query: GetDealByCategory – passed 
✔ Query: GetDealByBrand – passed 
✖ Query: GetUserFeed – failed 

 Root Cause:
 missing GSI on followed_categories 

 The Fix:
 I need to update the JSON file with corrected commands. 

 Let me do that now 
## Re-validation Results 

 All 4 access patterns are now working correctly:

✔ Query: GetDealById – passed 
✔ Query: GetDealByCategory – passed 
✔ Query: GetDealByBrand – passed 
✔ Query: GetUserFeed – passed 

 Your DynamoDB model is ready and validated at 100% effectiveness!

サンプル検証出力

検証が完了すると、dynamodb_data_model.json ファイルが作成され、検証テストから得られた主要な発見がハイライトされます。このケースでは、Deals App データモデルは、テストされたアクセスパターン全体で 100% の成功率を達成し、設計が準備完了であることを確認しました。

# DynamoDB Data Model Validation Report 

**Overall Status:** ✅ PASSED  
**Success Rate:** 100% (4 out of 4 patterns successful)

## Access Pattern Results 

### Pattern 1: Get deal by ID 
**Operation:** GetItem  
**Status:** ✅ Success  

 ```json 
{
  "deal_id": "deal_001",
  "brand": "TechPro",
  "category": "Electronics",
  "title": "50% off Bluetooth Headphones",
  "status": "ACTIVE"
}

まとめ

Amazon DynamoDB Data Model Validation Tool は、生成、評価、検証のループを完結させます。このツールを使用することで、データモデルが見た目だけでなく、実際に正しく動作することを測定可能な形で確信できます。

自然言語モデリングと実行可能な検証により、開発者は DynamoDB スキーマをこれまで以上に速く設計、テスト、改良できるようになりました。これらのツールを使用して DynamoDB 設計ワークフローを加速させる方法や、MCP 環境が進化し続ける中でのフィードバックを共有していただけることを楽しみにしています。

詳細については、DynamoDB MCP サーバーの GitHub リポジトリを参照し、検証ツールがワークフローにどのように統合されるかをご確認ください。

この記事の翻訳は Solutions Architect の堤 勇人が担当しました。

著者について

Lee Hannigan

Lee Hannigan

Lee Hannigan は、アイルランドのドニゴールを拠点とするシニアDynamoDBデータベースエンジニアです。彼は分散システムに関する豊富な専門知識を持ち、ビッグデータおよび分析技術における強固な基盤を有しています。彼の役割において、リーはDynamoDBのパフォーマンス、スケーラビリティ、信頼性の向上に注力しながら、顧客や社内チームがその機能を最大限に活用できるよう支援しています。