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

我们有来自Cassandra的100万张唱片。为了减少处理时间,我们希望并行处理记录。

因此,工作流就像将 100 万条记录划分为 100 个不相交集,每个工作线程处理一组记录。

我们选择的语言是Golang。

实现该目的的相关框架/实现是什么?


哈士奇WWW
浏览 91回答 1
1回答

慕娘9325324

我在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的例子。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go