有没有办法修补/增加 Bigtable 列值非整数?

问题描述 投票:0回答:1

使用 Node.js 和库:“@google-cloud/bigtable”

我有一个场景,我需要在 Bigtable 行中附加/递增/修补文本值,因为我们同时收到多个请求,所以我们无法使用更新函数,因为它会导致一些竞争状况问题。

Bigtable 确实有一个与我需要的类似的函数,它是 “单元增量”,但它只允许您用于整数值,而我需要它用于字符串(Json stringfieds 值)。

有什么方法可以解决这个问题,安全地处理并发更新,而无需重组大型数据库?

尝试使用增量函数,但它只允许整数值。

node.js google-cloud-platform increment google-cloud-bigtable bigtable
1个回答
0
投票

您可以进行读取-修改-写入。 https://cloud.google.com/bigtable/docs/writes#increments

在node.js中它应该看起来像这样

await table.row("my-row-key").createRules({column: 'my-family:my-qualifier', append: 'my-string-suffix'})

https://cloud.google.com/nodejs/docs/reference/bigtable/latest/bigtable/rule

这需要一个锁,读取当前值并将其与增量一起写回,因此另一个写入无法更改之间的值,从而导致您提到的问题。

© www.soinside.com 2019 - 2024. All rights reserved.