Query とソート

読み取りこそ料金が刻まれる場所です。Query はキーで 1 つのアイテムコレクションを狙い撃ちします。Scan はテーブル全体を読みます。SQL の本能でフィルタ付きの 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 分
理解度チェッククイズに挑戦
このセクションで学んだ内容を確認しましょう。

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

DynoTable を試すと、これらの Query をライブのテーブルに対して実行できます。