gpt4 book ai didi

google-cloud-bigtable - Cloud Spanner 中的高性能计数器

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

我希望继续统计某些项目的计数,例如帖子的点赞和评论。写入速率可能很高,例如1K 点赞/秒。

即使结果集已建立索引,使用 SELECT COUNT 似乎也不可行,因为可能有几百万行需要计数。

我正在考虑使用分片计数器方法,其中特定计数器(给定帖子的点赞)由 N 分片/行组成。递增计数器将递增一个分片行的列值,而读取计数器将读取所有分片行并对计数值求和。使用 Spanner 的这种方法会有任何问题吗?

据我了解,在 Bigtable 中,对同一行的多次更新将在该行中创建单元格的新版本,因此,可能会导致行超出其大小限制。因此,在 Bigtable 中使用行作为分片计数器似乎是一个坏主意。 Spanner 有类似的问题吗?

最佳答案

I understand that in Bigtable, multiple updates to the same row will create new versions of cells in the row and as a result, you can cause a row to exceed its size limit. So using rows as sharded counters in Bigtable seems to be a bad idea. Does Spanner have any similar issues?

正如评论中所述,您可以使用 ReadModifyWrite Increment API,但需要注意的是,Bigtable 中的行事务操作(如 ReadModifyWrite)速度较慢。

但是,使用多行来表示单个计数器,然后使用前缀扫描一起读取这些行应该没问题。

关键是 use arbitrary prefixes on the row key在集群中的节点之间分配写入并避免热点。

关于google-cloud-bigtable - Cloud Spanner 中的高性能计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55243667/

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