我attemping使用以下CQL3语句更新一列族50K时间:卡桑德拉CQL3更新缓慢性能
update column_family
set value_1 = ?,
value_2 = ?,
value_3 = ?,
value_4 = ?
where partition_key = ?
and column_key = ?;
在此声明的重要的一块就是partition_key是相同的为所有50k记录。
我或者发送cassandra这个查询50k次,或者使用BATCH ...一次批量增加5000 ...应用BATCH;无论哪种方式,大约需要10分钟,没有网络延迟。我知道内部结构是一排宽的。这是为什么它很慢?
我也有内部结构是否正确?如果CF创建定制列表如下:
create table column_family (
partition_key varchar,
column_key uuid,
value_1 int,
value_2 timestamp,
value_3 double,
value_4 double,
PRIMARY KEY(partition_key , column_key)
);
然后,我的内部CF将有partition_key作为分区键,列键将column_key(0)#_1,column_key(0)#_2,column_key(0 )#value_3,column_key(0)#value_4,coulmn_key(1)#value_1 .......
你排除了它被客户绑定?你在使用哪个客户端?你尝试过并行插入批次吗? – Richard
我还没有猜到。我正在使用astyanax。我没有尝试过并行化。我会看看#1和#3,谢谢。 –