DynamoDB を学ぶ

DynamoDB を学ぶ

DynamoDB を正しく学ぶ — 基礎からデータモデリング、インデックス、式、PartiQL、ツール、内部の仕組みまでを体系化したカリキュラム。

DynamoDB の基礎 — データ型、アイテムコレクション、複合プライマリキー。カリキュラムの他のすべてが土台とする基本的な仕組み。

9 件中 0 件読了クイズ
DynamoDBをいつ使うべきか(そしていつ使うべきでないか)
DynamoDBをいつ使うべきか(そしていつ使うべきでないか) — リレーショナルデータベースよりDynamoDBが有利になるアクセスパターン・スケール・コストのシグナルと、不向きなワークロード。
初級読了 5 分
DynamoDB のデータ型
DynamoDB のデータ型を解説 — スカラー(S、N、B、BOOL、NULL)、ドキュメント(M、L)、セット(SS、NS、BS)の各型、それらが DynamoDB-JSON でどう表現されるか、そしてそれぞれがどうサイズ計算されるか。
初級読了 3 分
DynamoDB JSON とマーシャリング
DynamoDB JSONとマーシャリング — なぜDynamoDBがすべての値を{"S":"..."}のような型記述子で包むのか、それが素のJSONとどう違うのか、そして両者を相互変換する方法。
初級読了 4 分
DynamoDBのアイテムサイズ上限(400 KB)
DynamoDBの400 KBアイテムサイズ上限 — 何がそれに数えられるか、属性名とネストがどう積み上がるか、なぜこの上限があるのか、そして際限のないアイテム肥大化を避けてモデリングする方法。
初級読了 4 分
DynamoDBのアイテムベース操作:GetItem、PutItem、UpdateItem、DeleteItem
DynamoDBのアイテムベース操作 — GetItem、PutItem、UpdateItem、DeleteItem — 単一アイテムを対象とする4つの操作。それぞれが完全なプライマリキーでアイテムを指定する方法と、QueryやScanとの違い。
初級読了 5 分
DynamoDB のアイテムコレクション
DynamoDB のアイテムコレクションとは何か — 同じパーティションキーを共有するすべてのアイテム — なぜそれが効率的な Query 読み取りの単位なのか、そして注意すべき制限。
初級読了 8 分
DynamoDB の複合プライマリキー
DynamoDB の複合プライマリキーはパーティションキーとソートキーの組み合わせ — 関連するアイテムをまとめてグループ化し、単純なキーではできない範囲クエリを可能にする。
初級読了 6 分
DynamoDB の強い整合性のある読み取りと結果整合性のある読み取り
DynamoDB の強い整合性のある読み取りと結果整合性のある読み取り — それぞれが何を保証するのか、結果整合性の読み取りで古いデータが返りうる理由、`ConsistentRead` の 2 倍の RCU コスト、そしてどのインデックスが強い読み取りをサポートするか。
中級読了 5 分
理解度チェッククイズに挑戦
このセクションで学んだ内容を確認しましょう。

DynamoDB のデータモデリング — シングルテーブル設計、アクセスパターンからのモデリング、type 属性、非正規化、そして単一テーブルが誤った選択になる場面。

7 件中 0 件読了クイズ
DynamoDB のシングルテーブル設計
DynamoDB のシングルテーブル設計 — オーバーロードしたキーを持つ1つのテーブルがエンティティごとのテーブルに勝る理由を、具体的な注文/顧客の例と GSI オーバーロードのパターンとともに解説。
中級読了 4 分
DynamoDB でのデータモデリング
アクセスパターン優先の方法で DynamoDB のデータをモデリングする方法 — マルチプレイヤーのリーダーボードのクエリをパーティションキーとソートキーに変える段階的な解説。
中級読了 8 分
DynamoDB でシングルテーブル設計を使うべきでないとき
DynamoDB でシングルテーブル設計を使うべきでないとき — 複数テーブルが勝つワークロード(重い分析、単純な CRUD、独立したスケーリング)を、具体例とともに解説。
中級読了 6 分
DynamoDB の Type 属性
DynamoDB の Type 属性 — 行を識別し、GSI を1つのエンティティに絞り込み、将来のマイグレーションを乗り切るために、すべてのアイテムにエンティティ型を刻む理由。
中級読了 7 分
DynamoDB における非正規化
DynamoDB の非正規化 — なぜ結合する代わりにデータを複製するのか。ブログの著者名の例、陳腐化の罠、そして埋め込みと複製をいつ選ぶか。
中級読了 6 分
DynamoDB のシングルトンアイテム
DynamoDB のシングルトンアイテム — フィーチャーフラグや設定のようなグローバルな状態を保持する固定キーの1行。GetItem で取得する理由と、競合なしに更新する方法。
中級読了 7 分
理解度チェッククイズに挑戦
このセクションで学んだ内容を確認しましょう。

DynamoDB でのリレーションシップのモデリング — 1対多、多対多、隣接リストパターン、複合ソートキー、参照カウント、すべて JOIN なしで。

6 件中 0 件読了クイズ

DynamoDB の Query とソート — Query と Scan、ページネーション、フィルタ式、Scan が遅い理由、並列スキャン、そしてゼロパディングを含むソートキー戦略。

10 件中 0 件読了クイズ
DynamoDB の Query と Scan
DynamoDB で Query と Scan をいつ使うか、Scan がほぼ望むものではない理由、そして Query がアクセスパターンをカバーするようにキーを設計する方法。
初級読了 4 分
DynamoDB のページネーション
LastEvaluatedKey と ExclusiveStartKey で DynamoDB の結果を正しくページングする方法、Limit がページサイズではない理由、そしてステートレスなカーソルをクライアントに公開する方法。
初級読了 4 分
DynamoDB のフィルタリング戦略
DynamoDB のフィルタリング戦略を比較 — パーティションキー、ソートキー、スパースインデックス、FilterExpression — そして実際に読み取りの請求額を削るのはどれか。
中級読了 7 分
なぜ DynamoDB の Scan は遅くて高価なのか
なぜ DynamoDB の Scan は遅くて高価なのか、それが実際に何に課金するのか、そして反射的な Scan を、わずかなコストで済むキーイングされた Query に変える方法。
初級読了 6 分
DynamoDB の並列スキャン
DynamoDB の並列スキャンが Segment と TotalSegments でフルテーブル読み取りを複数のワーカーに分割する仕組み、効果があるとき、そして避けるべきスループットの地雷。
上級読了 6 分
DynamoDB のソートキー戦略
DynamoDB のソートキー戦略 — 範囲クエリ、順序付け、1つのアイテムコレクションでの複数アクセスパターンのためにソート可能なソートキーを設計する。監査ログの具体例つき。
中級読了 8 分
DynamoDBを降順でクエリする方法
DynamoDBを降順でクエリする方法、ScanIndexForward=falseを使って — 新しい順の結果、なぜソートがソートキーで起きるのか、そして効率的に逆方向へページングする方法。
初級読了 5 分
変化する(ミュータブルな)属性でDynamoDBをソートする
変化する属性でDynamoDBをソートする — なぜキー属性をその場で更新できないのか、削除して作り直すパターン、そして変動する値をベーステーブルのキーから外すためにGSIを使う方法。
中級読了 5 分
DynamoDB におけるソートキーのゼロ埋め
DynamoDB のゼロ埋めソートキー — なぜ文字列ソートキーで "10" が "2" より前にソートされるのか、そして固定幅のゼロ埋め数値で文字列順を数値順に一致させる方法。
中級読了 5 分
理解度チェッククイズに挑戦
このセクションで学んだ内容を確認しましょう。

DynamoDB のセカンダリインデックス — GSI と LSI、スパースインデックス、キーオーバーロード、GSI の結果整合性、そして GSI がベーステーブルの書き込みをスロットリングしうる理由。

7 件中 0 件読了クイズ
DynamoDB の GSI と LSI
DynamoDB の GSI と LSI — パーティションキー、整合性、キャパシティ、10 GB の違い、そしてどちらのセカンダリインデックスを選ぶべきかのシンプルなルール。
初級読了 3 分
DynamoDB のインデックスプロジェクション:KEYS_ONLY、INCLUDE、ALL
DynamoDB のインデックスプロジェクション — KEYS_ONLY、INCLUDE、ALL — それぞれが GSI/LSI に何をコピーするか、ストレージと書き込みコストのトレードオフ、そして欠けた属性がベーステーブルからの取得を強いる理由。
中級読了 5 分
DynamoDB のスパースインデックス
DynamoDB のスパースインデックスは、そのキーを持つアイテムだけをグローバルセカンダリインデックスに保持させます — 大きなテーブルの小さなサブセットをクエリする最も安価な方法。
中級読了 7 分
DynamoDB のキーオーバーロード
DynamoDB のキーオーバーロード — 多数のエンティティ型を汎用的な PK/SK 名の下に保存し、型をキーの値にエンコードして、すべてのアクセスパターンを1つのテーブルで提供する。
上級読了 6 分
DynamoDB の GSI が結果整合性である理由
DynamoDB の GSI が結果整合性である理由 — 書き込み直後の読み取りで古い結果が返る落とし穴、その裏にある伝播の仕組み、そしてそれを前提に設計する方法。
中級読了 7 分
DynamoDB で GSI がベーステーブルの書き込みをスロットリングする理由
プロビジョニング不足の DynamoDB GSI が、なぜベーステーブルの書き込みをスロットリングするのか — GSI のバックプレッシャー、ホットなインデックスパーティション、注意すべき例外、そして修正方法。
上級読了 6 分
理解度チェッククイズに挑戦
このセクションで学んだ内容を確認しましょう。

DynamoDB の式 — 条件式、更新式、キー条件式、射影式、さらに式属性名と式属性値、そしてそれらを使わなければならない場面。

6 件中 0 件読了クイズ

DynamoDB の書き込みと運用 — アトミックカウンタ、複数属性をまたぐ一意性の強制、ダウンタイムなしのマイグレーション、ホットパーティションの診断。

7 件中 0 件読了クイズ
DynamoDBバッチ操作:BatchGetItem & BatchWriteItem
DynamoDBのBatchGetItemとBatchWriteItem — 1往復あたり最大25/100アイテムの読み書き、なぜバッチがトランザクションではないのか、そして未処理アイテムの扱い方。
中級読了 5 分
DynamoDBのReturnValues:書き込みから古いまたは新しいアイテムを取得する
DynamoDBのReturnValues — PutItem、UpdateItem、DeleteItemから2回目の読み取りなしで古いまたは新しいアイテムを取得する方法、5つの選択肢、そしてそれぞれがどんなときに往復を節約するか。
中級読了 3 分
DynamoDB のアトミックカウンタ
DynamoDB のアトミックカウンタが ADD 更新式でどう動くか、なぜ冪等でないのか、そしていつ代わりに条件付き更新に手を伸ばすべきか。
中級読了 5 分
DynamoDB で複数の属性に一意性を強制する
DynamoDB で複数の属性に一意制約を強制する方法 — 一意なメールアドレス AND ユーザー名 — マーカーアイテムと条件でガードされた TransactWriteItems を使って。
上級読了 6 分
ダウンタイムなしの DynamoDB 移行
ダウンタイムなしの DynamoDB 移行 — 遅延バックフィル、オンライン GSI、デュアルライトを使って、ライブテーブルに新しいエンティティ型とアクセスパターンを追加する方法。
上級読了 6 分
DynamoDB のホットパーティション
DynamoDB のホットパーティションとは、1つのパーティションキーがトラフィックの不均衡な割合を引き受けてスロットリングする状態です。見つけ方と、それを設計で回避する方法を解説します。
中級読了 7 分
理解度チェッククイズに挑戦
このセクションで学んだ内容を確認しましょう。

DynamoDB 上の PartiQL と SQL — PartiQL とは何か、何ができないか、そして DynoTable Workbench が DynamoDB のルールの中で JOIN、GROUP BY、集計をどう実行するか。

7 件中 0 件読了クイズ
DynamoDB の PartiQL vs SQL: 何が違うか(そして何が壊れるか)
DynamoDB の PartiQL は SQL に似ているが別物 — JOIN・GROUP BY・サブクエリ・集計はない。何が違い、何が壊れるか、そして PartiQL では実行できないクエリを DynoTable の SQL Workbench がどう実行するかを解説する。
初級読了 7 分
例で学ぶ DynamoDB の PartiQL
例で学ぶ DynamoDB の PartiQL — SQL ライクな構文での SELECT、INSERT、UPDATE、DELETE、そしてパーティションキーとテーブル全体スキャンにまつわる落とし穴。
初級読了 2 分
DynamoDB のための SQL: 何が動き、何が動かず、そして Workbench
DynamoDB を SQL でクエリできる? PartiQL は SQL 風ですが限定的です — JOIN、GROUP BY、集計はありません。何が動き、何が動かず、DynoTable が本物の SQL をどう実行するか。
初級読了 7 分
DynamoDB の JOIN: テーブルを結合する方法(と、たいてい結合できない理由)
DynamoDB に JOIN はなく、PartiQL でも追加されません。その理由、開発者が使う 4 つの回避策、そして DynoTable の SQL Workbench が本物の JOIN を実行する方法。
中級読了 9 分
DynamoDB GROUP BY: GROUP BY 句なしで集計する方法
DynamoDB と PartiQL には GROUP BY も COUNT/SUM/AVG もありません。集計パターン(アトミックカウンター、Streams + Lambda のロールアップ、アプリ側グループ化)と、DynoTable が GROUP BY を直接実行する方法を学びましょう。
中級読了 9 分
DynamoDB で COUNT・SUM・集計を行う方法
DynamoDB でアイテムをカウントし、SUM や集計を行う方法 — Select=COUNT が何をするか、何ができないか、そして DynoTable の SQL Workbench がどうやって COUNT/SUM/AVG を SQL のように実行するか。
初級読了 8 分
理解度チェッククイズに挑戦
このセクションで学んだ内容を確認しましょう。

DynamoDB のツール — DynamoDB Local の実行、LocalStack への接続、おすすめの GUI クライアント、データの閲覧と編集、テーブルのコピー、CSV エクスポート、MCP サーバー。

8 件中 0 件読了
Docker で DynamoDB Local を実行する
オフライン開発とテストのために Docker で DynamoDB Local を実行する — コンテナを起動し、SDK をローカルの endpoint に向け、テーブルを作成する方法。
初級読了 2 分
DynamoDB Local と LocalStack への接続方法
GUI を DynamoDB Local と LocalStack に接続する方法 — エンドポイント、ダミー認証情報、よくあるエラー。DynoTable でローカルテーブルをビジュアルに参照・クエリ。
中級読了 7 分
2026年のベスト DynamoDB GUI クライアント
2026年の DynamoDB GUI クライアントを率直に総まとめ — NoSQL Workbench、Dynobase、TablePlus/DataGrip、dynamodb-admin/DynamoIt、そして DynoTable — それぞれが実際に得意とすることを解説。
初級読了 9 分
DynamoDB データの表示、閲覧、編集の方法
DynamoDB データを表示、閲覧、フィルタ、編集する方法 — テーブルをスキャンまたはクエリし、アイテムをインライン編集し、クエリを実行する — これを DynoTable の GUI が代わりに実行する操作に 1 対 1 で対応づけます。
初級読了 6 分
DynamoDB テーブルを別のアカウントやリージョンにコピーする方法
DynamoDB テーブルを別のアカウントやリージョンにコピー・移行する — scan+write、S3 エクスポート/インポート、AWS Backup、グローバルテーブル — スループットと整合性の落とし穴つき。
初級読了 6 分
DynamoDB テーブルを CSV にエクスポートする方法(4 つの方法)
DynamoDB テーブルを CSV や Excel にエクスポートする方法 — AWS CLI スキャン、S3 エクスポート、スクリプト、または DynoTable のワンクリックエクスポート — そして、なぜネストした属性と DynamoDB JSON が素朴な手法を壊すのか。
初級読了 10 分
DynamoDB MCP サーバー: Claude Code、Cursor、Codex を安全に接続する
AI エージェント — Claude Code、Cursor、Codex — に、MCP サーバー経由で DynamoDB テーブルへのライブアクセスを与える方法、そしてそれを AWS 認証情報や直接の書き込みアクセスをエージェントに渡さずに行う方法。安全でレビューを経るステージング方式と、テーブルに直接書き込むサーバーとの比較。
中級読了 6 分
ExtendDB:自前のデータベース上でDynamoDB APIを動かす
ExtendDBはAWSのオープンソースな、DynamoDBワイヤプロトコル互換のアダプター(Rust製)で、PostgreSQLのようなプラガブルなストレージに支えられています — 自前のデータベース上でDynamoDB APIを動かし、DynoTableでそれを閲覧しましょう。
中級読了 7 分

DynamoDB の運用とコスト — トランザクション、Streams、TTL、オンデマンドとプロビジョンドキャパシティ、Global Tables、バックアップ/PITR を、1 つの連続したマルチテナント SaaS の監査ログを通して学ぶ。

7 件中 0 件読了クイズ
DynamoDBトランザクション
TransactWriteItemsによるDynamoDBトランザクション — 複数の書き込みを1つのall-or-nothing操作にまとめる、100アイテムと4 MBの制限、2倍のキャパシティコスト、条件ベースの競合処理。
上級読了 6 分
DynamoDB Streams
DynamoDB Streams — 24時間の変更データキャプチャログ、4つのStreamViewTypeオプション、パーティション単位で順序付けされたレコード、アイテム変更時のLambdaトリガーについて。
上級読了 6 分
DynamoDB TTL
DynamoDB TTL — Unixエポックのタイムスタンプ属性でアイテムを自動的に期限切れにする、最大48時間の削除ウィンドウ、TTLが無料である理由、アーカイブのためのStreamsとの組み合わせ。
中級読了 4 分
DynamoDBのオンデマンドとプロビジョンドキャパシティ
DynamoDBのオンデマンドとプロビジョンドキャパシティの比較 — リクエスト課金と予約スループット、それぞれが安くなる場面、オートスケーリング、急峻な監査ログトラフィックがどうモードを選ぶか。
中級読了 6 分
DynamoDB Global Tables
DynamoDB Global Tables — マルチリージョンのアクティブ-アクティブレプリケーション、last-writer-winsによる競合解決、リージョン間の結果整合性、99.999%の可用性SLAについて。
上級読了 6 分
DynamoDBのバックアップとポイントインタイムリカバリ
DynamoDBのバックアップとポイントインタイムリカバリ — オンデマンドバックアップと継続的なPITR、設定可能な1〜35日のウィンドウ、秒単位のリストア粒度、新しいテーブルへのリストアについて。
中級読了 6 分
理解度チェッククイズに挑戦
このセクションで学んだ内容を確認しましょう。

DynamoDB の内部構造 — パーティションキー、アダプティブキャパシティ、GSI のストレージ、物理パーティション、ストレージ、リクエストルーティングがどう動くか、そして Dynamo 論文への遡及。

8 件中 0 件読了クイズ
DynamoDB のパーティションキーの仕組み
DynamoDB のパーティションキーの仕組み — キーを物理パーティションにマップするハッシュ、キー選択がスループットを決める理由、そしてホットパーティションのかわし方。
中級読了 7 分
DynamoDB のアダプティブキャパシティ
DynamoDB のアダプティブキャパシティとバーストキャパシティを解説 — DynamoDB がスパイクを吸収しホットパーティションを自動でブーストする仕組みと、それでも救えない場面。
上級読了 6 分
DynamoDB の GSI は内部的にどう保存されるか
DynamoDB の GSI がどう保存されるか — 独自のパーティション空間、ベーステーブルからの非同期レプリケーション、射影された属性、隔離されたキャパシティ — を SQL 脳向けに解説。
上級読了 7 分
DynamoDB の物理パーティション
DynamoDB の物理パーティションの仕組み — 10 GB、3000 RCU、1000 WCU の上限、パーティションの分割、そしてキャパシティを残したままホットキーがスロットルする理由。
上級読了 6 分
DynamoDB のストレージ内部構造の仕組み
DynamoDB のストレージ内部構造の仕組み — パーティションのハッシュ、ソートキー範囲のためのパーティションごとの B-tree、そして同期的な 3-AZ レプリケーションを解説。
上級読了 7 分
DynamoDB のリクエストルーティングの仕組み
DynamoDB のリクエストルーティングの仕組み — リクエストルーターがパーティションキーをハッシュして正しいストレージノードを見つけ、それがキー単位のレイテンシをどう解決するか。
上級読了 7 分
Dynamo 論文から DynamoDB へ
2007 年の Amazon Dynamo 論文から DynamoDB へ — 元のコンシステントハッシングとクォーラム設計が導入したもの、そして AWS が保ったものと静かに置き換えたもの。
上級読了 6 分
理解度チェッククイズに挑戦
このセクションで学んだ内容を確認しましょう。

実践してみる準備はできましたか?

自分のDynamoDBテーブルを参照、クエリ、モデリングしましょう。DynoTableのSQL WorkbenchとAIエージェントはあなたのAWS上で動作します。30日間無料トライアル。