我们有来自Cassandra的100万张唱片。为了减少处理时间,我们希望并行处理记录。因此,工作流就像将 100 万条记录划分为 100 个不相交集,每个工作线程处理一组记录。我们选择的语言是Golang。实现该目的的相关框架/实现是什么?
1 回答

慕娘9325324
TA贡献1783条经验 获得超4个赞
我在ScyllaDB工作 - Scylla是一个与Cassandra兼容的数据库。
我们有以下博客文章,说明如何在整个集群中有效地运行完全扫描
https://www.scylladb.com/2017/02/13/efficient-full-table-scans-with-scylla-1-6/
详细说明应如何进行高效扫描背后的理论(如果您想获得最佳性能):
根据 vnode 分配(节点的令牌分配)拆分范围
同时运行多个查询
添加一些随机性以确保查询分布在集群中
后续工作
https://www.scylladb.com/2017/03/28/parallel-efficient-full-table-scan-scylla/
有一个用Go编写的代码示例来实现这一点,并针对Scylla进行了测试,并且应该与Cassandra一起使用,因为它们与CQL二进制协议兼容。
PS:我预计可能还会有一个Cassandra的例子。
- 1 回答
- 0 关注
- 89 浏览
添加回答
举报
0/150
提交
取消