gpt4 book ai didi

amazon-dynamodb - DynamoDb - 如何进行批量更新?

转载 作者:行者123 更新时间:2023-12-04 07:18:03 24 4
gpt4 key购买 nike

来自关系背景,我习惯于能够写这样的东西:

UPDATE Table Set X = 1 Where Y = 2

然而,这样的操作在像 Dynamodb 这样的数据库中似乎很难完成。假设我已经对 Y = 2 的项目进行了查询。

在我看来,提供的 API 有两个选项:
  • 做很多很多的个人update请求,或
  • 做一个 batch write并将所有数据写回,并应用更新。

  • 这两种方法在性能方面看起来都很糟糕。

    我在这里遗漏了一些明显的东西吗?或者,非关系数据库是否不是为了处理这种规模的“更新”而设计的——如果是这样,我能否在不增加性能成本的情况下实现类似的目标?

    最佳答案

    不,你没有遗漏任何明显的东西。不幸的是,这些是您使用 DynamoDB 的唯一选择,但需要注意的是,BatchWrite 一次只能批量提交 25 个更新操作,因此您仍然可能需要发出多个 BatchWrite 请求。

    BatchWrite 更像是 DynamoDB API 提供的一种便利,可帮助您节省网络流量,将 25 个请求的开销减少到一个请求的开销,但除此之外并没有节省多少。

    BatchWrite API 也比单独的 Update 和 Put 项 API 灵活一些,因此在某些情况下,最好自己处理并发性并仅使用底层操作。

    当然,最好的方案是如果您可以构建您的解决方案,这样您就不需要对 DynamoDB 表执行大量更新。写入很昂贵,如果您发现自己经常需要更新表的大部分内容,那么可能有一种替代设计可以使用。

    关于amazon-dynamodb - DynamoDb - 如何进行批量更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41561230/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com