簡體   English   中英

DynamoDB 中的 BatchGetItem 和 TransactionGetItems 有什么區別?

[英]What is the difference between BatchGetItem and TransactionGetItems in DynamoDB?

我一直在尋找這個,但我沒有找到答案。 (BatchGetItem 與 Query 我確實找到了,但不是我要找的)。 我確實知道基礎知識:-

BatchGetItem您可以從一個或多個表中請求項目,如果結果集超過 100 個實體或 16MB -> 它將返回一個UnprocessedKeys ,您可以使用它來查詢下一組結果

“TransactionGetItems”您可以從一個或多個表中請求最多 25 個實體或 4MB 的項目 -> 如果聚合響應的大小超過 4MB,則會出錯

那么TransactionGetItemsBatchGetItem 有什么用呢? 通過瀏覽文檔,我可以確定如果發生影響相同數據的底層寫入, TransactionGetItems將失敗。 這是TransactionGetItems而不是BatchGetItem的主要用途嗎,我認為它在相同條件下不會失敗?

TransactGetItem 允許您進行全有或全無交易。 事務中的所有 GetItem 操作要么成功,要么都不成功。 如果失敗,則不返回任何數據。 此外,TransactGetItem 使用可序列化隔離,而普通的 BatchGetItem 則不使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM