为了账号安全,请及时绑定邮箱和手机立即绑定

如何同时处理来自 Cassandra 的结果

如何同时处理来自 Cassandra 的结果

Go
哈士奇WWW 2022-08-30 15:01:38
我们有来自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的例子。


查看完整回答
反对 回复 2022-08-30
  • 1 回答
  • 0 关注
  • 89 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号