繁体   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