我們有來自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 關注
- 90 瀏覽
添加回答
舉報
0/150
提交
取消