DynamoDB テーブル、顧客と日付によるクエリ、ステータスインデックスを使い、小さな注文データ処理を構築します。重複書き込みを防ぎ、有効期限のあるレコードを扱い、最近の注文を見落とす検索を修復します。
5 つのガイド付きラボと、クエリを修復する 1 つの自主課題で構成されています。各テーマは具体的なアクセスパターンから始まり、結果のレコードを確認します。
学習する内容
- テーブルを作成し、型付きアイテムの読み取り、書き込み、更新、削除を行う
- パーティションキーとソートキーで注文を検索する
- 注文ステータスのグローバルセカンダリインデックスを追加する
- 条件付き書き込みで重複注文を防ぐ
- TTL を設定し、アプリケーションの読み取りから期限切れレコードを除外する
- 顧客データを混在させずに、顧客、日付範囲、ページネーションの処理を修復する
このコースの対象者
リレーショナル SQL を先に学ばず、キーに基づくデータアクセスを習得したい AWS 初学者とアプリケーション開発者が対象です。
前提知識: Get Started with AWS on LabEx と、CLI コマンド、呼び出し元の ID、リソース名、出力のクエリを扱う AWS Foundations のラボを完了してください。
学習環境: すべての演習は、ブラウザーから利用できる LabEx の Linux 環境で行います。AWS CLI のコマンドには Terminal を使い、その隣の AWS View で同じリソースとアプリケーションの状態を確認します。ツールと接続は準備済みで、個人の AWS アカウントやアクセスキーは不要です。各ラボは新しい VM で独立して開始します。
よくある質問
キーとインデックスはどう選べばよいですか?
最初に読み取り要件を設計します。日付範囲で特定の顧客の注文を検索するのは、キーに基づくアクセスパターンです。S3 はオブジェクトを保存し、リレーショナルデータベースは結合や異なるクエリパターンに適しています。複雑な単一テーブル設計は扱いません。
どのキャパシティモードを使いますか?
ラボではオンデマンドキャパシティを使い、読み取り・書き込みキャパシティユニットを選ばずにテーブルを作成します。プロビジョンドキャパシティではリクエストレートの計画が必要です。キャパシティ計画、料金、負荷テストは演習の範囲外です。AWS のキャパシティガイドを参照してください。
すべての読み取りは直前の書き込みをすぐに反映しますか?
ベーステーブルの強い整合性のある読み取りは、その読み取りより前に成功した書き込みを反映します。結果整合性のある読み取りには遅延があり、グローバルセカンダリインデックスは結果整合性をサポートします。更新を観察するときは再度読み取ってください。読み取りはその後の変更を防ぎません。AWS の読み取り整合性も参照してください。
TTL は期限切れレコードをすぐに削除しますか?
いいえ。削除は非同期のため、アプリケーションはまだ読み取れる期限切れレコードを除外する必要があります。 AWS TTL.
自主課題の前に何を終えるべきですか?
先にテーブル、クエリ、インデックスのガイド付きラボを完了してください。Global Tables、DAX、Streams、複雑なトランザクションは範囲外です。無関係な参照データを保持しながら、自分のリソースをクリーンアップします。





