【发布时间】:2019-01-17 06:21:46
【问题描述】:
BigTable 是否支持类似于 Redis 中的INCR 的原子增量操作?
在 BT 的 Golang 库中有这个函数 - https://godoc.org/cloud.google.com/go/bigtable#ReadModifyWrite.Increment。但是,我可以看到一个应用程序的两个实例尝试同时增加的情况,但由于竞争条件它只增加了一次。
【问题讨论】:
BigTable 是否支持类似于 Redis 中的INCR 的原子增量操作?
在 BT 的 Golang 库中有这个函数 - https://godoc.org/cloud.google.com/go/bigtable#ReadModifyWrite.Increment。但是,我可以看到一个应用程序的两个实例尝试同时增加的情况,但由于竞争条件它只增加了一次。
【问题讨论】:
Bigtable 操作在行级别是原子操作 - 您不会遇到此 API 调用的竞争条件。
【讨论】:
ReadModifyWrite 复制了 RDBMS 中序列的功能。