Query とソート

読み取りこそ料金が刻まれる場所です。Query はキーで 1 つのアイテムコレクションを狙い撃ちします。Scan はテーブル全体を読みます。SQL の本能でフィルタ付きの Scan に手を伸ばすと、保持するわずかなアイテムではなく、読み取ったすべてのアイテムに対して料金を払うことになります。これが古典的な落とし穴です。

このセクションは効率的に読むことについてです。キーに仕事をさせること、正しくページングすること、そしてメモリ内ソートではなくソートキーで結果を並べることです。

10 件中 0 件読了クイズ
DynamoDB の Query と Scan
DynamoDB の Query と Scan — Query は 1 つのアイテムコレクションを読んで一致した項目分だけ課金され、Scan は FilterExpression が動く前にテーブル全体を読みます。
初級読了 5 分
DynamoDB のページネーション
DynamoDB のページネーションの仕組み — LastEvaluatedKey と ExclusiveStartKey でループする方法、Limit がページサイズではない理由、そしてステートレスなカーソルの公開方法。
初級読了 4 分
DynamoDB のフィルタリング戦略
DynamoDB のフィルタリング戦略を比較 — パーティションキー、ソートキー、スパースインデックス、そして FilterExpression — どれが本当に読み取り課金を削るのか。
中級読了 8 分
DynamoDB の Scan が遅くて高コストな理由
DynamoDB の Scan が遅くて高コストな理由、実際に何に対して課金されるのか、そして反射的な Scan をコストがわずかで済むキー付き Query に変える方法。
初級読了 7 分
DynamoDB のパラレルスキャン
DynamoDB のパラレルスキャンが Segment と TotalSegments でテーブル全体の読み取りをワーカーに分割する仕組み、それが役立つ場面、そして避けるべきスループットの落とし穴。
上級読了 7 分
DynamoDB のソートキー戦略
範囲読み取りのための DynamoDB ソートキー戦略 — バイト順が読み取り順と一致するソートキーを設計し、1 つの Query で多くのアクセスパターンに応える。
中級読了 8 分
DynamoDB を降順にクエリする方法
ScanIndexForward=false で DynamoDB を降順にクエリする — 新しい順の結果、ソートがソートキーで起こる理由、そして逆順の読み取りに追加コストがかからない理由。
初級読了 5 分
変化する (可変な) 属性で DynamoDB をソートする
変化する属性で DynamoDB をソートする — キー属性が変更できない理由、削除して作り直すパターン、そして代わりに GSI のソートキーへ移す方法。
中級読了 5 分
DynamoDB におけるソートキーのゼロ埋め
DynamoDB の文字列ソートキーで "10" が "2" より前に並ぶ理由と、固定幅のゼロ埋めが辞書順のバイト順を数値順に一致させる仕組み。
中級読了 5 分
理解度チェッククイズに挑戦
このセクションで学んだ内容を確認しましょう。

Query と Scan から始めてください。残りが依存する判断です。

DynoTable を試すと、これらの Query をライブのテーブルに対して実行できます — あるいはブラウザで、無料のクエリビルダーを使って完全な Query/Scan リクエストを組み立てましょう。