首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在BigTable单元格中保留最小/最大值

在BigTable单元格中保留最小/最大值
EN

Stack Overflow用户
提问于 2019-07-19 07:16:20
回答 1查看 194关注 0票数 0

我有一个问题,如果我能够向BigTable发送一个ReadModifyWrite请求,它将非常有帮助,因为它只在新值大于或小于现有值时才覆盖该值。这有没有可能呢?注意:我想了一个老套的方法,我使用时间戳作为我的实际值,并且有最大数量的版本1,这样就可以保持“最新”的值,也就是更高的时间戳。但这些时间戳的值将从1到10,而不是15亿。这样行得通吗?

我查看了现有的API,但没有找到任何可以帮助我做到这一点的东西。它看起来在DynamoDB中是可用的,所以我想请求BigTable也提供它是合理的。https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_UpdateItem.html#API_UpdateItem_RequestSyntax

EN

回答 1

Stack Overflow用户

发布于 2019-07-19 22:15:00

您的时间戳方法可能是可行的,但与基于年龄的垃圾收集之类的东西交互很差。

我还假设你指的是CheckAndMutate而不是ReadModifyWrite?前者允许您进行条件覆盖,后者允许您进行无条件的增量/附加。如果你真的想要一个只有在结果更大的情况下才有效的增量,只需确保你只发送正的增量;)

我的建议是,假设您的客户端语言支持它,则使用带有value_range_filter的CheckAndMutateRow请求。这将要求您对值使用固定宽度的编码,但这与重用时间戳没有什么不同。

示例:如果您希望将该值设置为000768,但仅当该值是增加时,请使用从000000到000767的value_range_filter,并在CheckAndMutate的true_mutation中执行写入。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57103719

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档