[解決済み] DynamoDBのBatchGetItemとQueryの違いとは?
2022-02-28 18:53:19
質問
AWS DynamoDBのドキュメントを読んでいるのですが、batchGetItem()とQuery()のコアな違いがどうしても分かりません。どちらもテーブルとインデックスから主キーに基づいたアイテムを取得します。唯一の違いは、取得するアイテムのサイズですが、これは画期的な違いとは思えません。どちらも条件付き更新もサポートしています。
どのような場合に、Query よりも batchGetItem を使うべきですか?
どのように解決するのですか?
一言で言えば BatchGetItem はテーブル上で動作し、ハッシュキーを使って取得したい項目を特定します。一回のレスポンスで最大16MB、100アイテムまで取得できる
クエリーは、テーブル、ローカルセカンダリーインデックス、グローバルセカンダリーインデックスに対して動作します。1回のレスポンスで取得できるデータは最大1MBです。最大の違いは、クエリがフィルタ式をサポートしていることです。つまり、データをリクエストすると、DDBがサーバ側でフィルタリングしてくれるのです。
しかし、経験則から言うと、DDBから大量にダンプする必要があるときはBatchGetを行い、取得したいものを絞り込む必要があるときはクエリを行います(そして、dynamoに重い仕事をさせてデータをフィルタリングしたい場合)。
関連
-
[解決済み] CloudFormation Stack Errors with REST API Doesn't Contain Any Methods
-
[解決済み] TerraformとAWS。No Configuration Files Found Error
-
[解決済み] SQSとRabbitMQの比較
-
[解決済み] AWS DynamoDBから10ms以下のレスポンスタイムを得るには?
-
[解決済み] AWS CloudFrontとGlobal Accelerator for Dynamic Contentsの比較
-
[解決済み] DynamoDBのBatchGetItemとQueryの違いとは?
-
[解決済み] AWS SNSとAWS SQSのFIFOキューを統合することは可能か?
-
[解決済み] Terraform AWS Provider の有効なクレデンシャルソースが見つかりません。
-
[解決済み] Amazon SNSとAmazon SQSの違いは何ですか?
-
[解決済み】EC2インスタンスにスワップを追加する方法とは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】AWS CLI S3 HeadObject操作の呼び出し時に、クライアントエラー(403)が発生しました。Forbidden
-
[解決済み] クラウドフォーメーション Fn::JoinとFn:GetAttの併用
-
[解決済み] MSCK REPAIR TABLEは裏で何をしているのか、なぜこんなに遅いのか?
-
[解決済み] RDS は、以下の組み合わせでの DB インスタンスの作成をサポートしていません。
-
[解決済み] Terraformを使って既存のVPCにECを立ち上げる方法
-
[解決済み] AWS KinesisとEventBridgeの違いは何ですか?
-
[解決済み] ネットワークインターフェイスが無効なAWS EC2インスタンスに接続しようとする
-
[解決済み] SQSとRabbitMQの比較
-
[解決済み] AWSです。CloudFormationのテンプレートでbooleanパラメータを指定する方法
-
[解決済み] EC2でインスタンスを削除するには?