【发布时间】:2019-03-19 14:44:24
【问题描述】:
我希望继续统计帖子中的点赞数和 cmets 等项目。写入速率可能很高,例如1K 赞/秒。
即使结果集被索引,使用SELECT COUNT 似乎也不可行,因为可能有几百万行要计数。
我正在考虑使用分片计数器方法,其中特定计数器(喜欢给定帖子)由N shards/rows 组成。递增计数器将递增一个分片行的列值,而读取计数器将读取所有分片行并对计数值求和。使用 Spanner 的这种方法会有什么问题吗?
我了解在 Bigtable 中,对同一行的多次更新会在该行中创建新版本的单元格,因此,您可能会导致一行超出其大小限制。所以在 Bigtable 中使用行作为分片计数器似乎是个坏主意。 Spanner 有没有类似的问题?
【问题讨论】:
-
对于 Bigtable 方面的事情,只要您有一个合理的 GC Policies,您可能不会担心行大小,并且您可以通过 ReadModifyWrite Increment 操作确保原子写入。跨度>
标签: google-cloud-bigtable google-cloud-spanner