我们正在使用datastax驱动程序与Cassandra交谈。我们有以下列系列。
a = self.s.recvfrom(4096)
我必须在此列系列中进行大量插入操作。我们根据datastax的建议做了很多单独的异步请求,但我们发现使用“unlogged batch”我们获得了更好的性能。有点奇怪的是,使用未登记的批次对我们来说效果更好,可能是因为我们的个人写作量有多小。
现在,我想遵循datastax的建议,并且只使用未记录的批次进行单分区插入,这意味着我想批处理属于单个分区的所有插入并执行批量插入。
在我们的cassandra设置中,我们使用CREATE TABLE IF NOT EXISTS "DATA".xxx (
key text,
column1 bigint,
value blob,
PRIMARY KEY (key, column1)
) WITH COMPACT STORAGE AND speculative_retry = 'NONE';
。无论如何,我可以在我的应用程序中计算分区键,以便我可以通过单个分区键对它们进行批处理,以便批量插入吗?
此外,cassandra节点的数量对此有何影响?我的意思是,随着我们将来添加更多节点,计算分区密钥的逻辑是否会发生变化?