🌸 ホーム (Home) 👤 経歴・プロフィール (About) 🌸 日本観光・旅行ブログ (55記事完全収録) 🗼 日本の観光スポット一覧 (55名所) 🍣 日本の絶品グルメ一覧 (45料理) 🏢 日本の注目企業・メガベンチャー 🗾 全47都道府県ガイド & IT支援 💻 技術スタック (Skills) 🚀 開発実績 (Projects) 📖 技術ブログ (30記事) 📋 全200ページ一覧サイトマップ 💌 無料相談・お見積り
ホーム > 技術コラム一覧 > AWS DynamoDB シングルテーブル設計:超大規模システムのデータモデリング
📖 AWS & NoSQL ⏱️ 11分で読める

AWS DynamoDB シングルテーブル設計:超大規模システムのデータモデリング

著者: マニッシュ・クマール (Manish Kumar) | Java Full Stack & Cloud Architect

#AWS DynamoDB#NoSQL#Single-Table Design#Cloud Architecture

1. なぜ複数テーブルではなく「シングルテーブル」なのか?

DynamoDBではテーブル間のJOINが不可能です。従来のRDBMSのようにテーブルを正規化して分割すると、1つの画面を表示するために複数回のネットワークラウンドトリップが発生し、レイテンシと課金コストが跳ね上がります。

2. パーティションキー(PK)とソートキー(SK)の多重定義

ジェネリックなPK/SK属性名を使用し、プレフィックスを付けることで複数のエンティティを1つのテーブルに共存させます。

// ユーザーエンティティ
PK: USER#1001   SK: METADATA#1001

// 注文エンティティ
PK: USER#1001   SK: ORDER#20260927#9981

// 注文明細
PK: ORDER#9981  SK: ITEM#SKU4821

3. GSI(グローバルセカンダリインデックス)による逆引き検索

GSI1-PKとGSI1-SKを定義することで、「特定のユーザーの注文一覧」も「特定の注文の状態」も、すべて単一のQueryリクエスト(1桁ミリ秒)で取得可能になります。

Manish Kumar

マニッシュ・クマール (Manish Kumar)

エンタープライズJava(Spring Boot)およびAWSクラウドインフラのスペシャリスト。日本企業向けのシステム開発支援、高可用性マイクロサービス設計を多数手掛ける。

お問合せ 💌
こんにちは🌸 気になる観光地やグルメ、IT開発について何でも見てね✨
🏠 ホーム 🗼 観光名所 🍣 グルメ 🏢 注目企業 💌 無料相談