弹簧数据cassandra中准备好的声明的批量大小

时间:2014-07-29 14:53:51

标签: cassandra cassandra-2.0 spring-data-cassandra

我在日志中收到此警告:

WARN [Native-Transport-Requests:17058] 2014-07-29 13:58:33,776 BatchStatement.java(第223行)[keyspace.tablex]的预准备语句批量大小为10924,超过指定的阈值5120到5804。

有没有办法在spring数据cassandra中指定大小?

Cassandra 2.0.9和spring数据cassandra 1.0.0-RELEASE

2 个答案:

答案 0 :(得分:12)

这只是一个警告,通知您查询大小超过了某个限制。

查询仍在处理中。背后的理由是更大的批量查询是昂贵的并且可能导致集群不平衡。因此事先警告您(开发人员)。

batch_size_warn_threshold_in_kb中查找cassandra.yaml,以调整何时产生此警告。

这是介绍它的票证:https://issues.apache.org/jira/browse/CASSANDRA-6487

答案 1 :(得分:1)

我已经对Cassandra进行了广泛的性能测试和调优,与DataStax支持密切合作。

这就是为什么我在SDC *中创建了ingest()方法,它们在1.0.4.RELEASE和更高版本中超快。

此方法为您缓存PreparedStatement,然后遍历各个Bind值并为每个插入调用executeAsync。这听起来很直观,但却是插入Cassandra的最快(也是最平衡)的方式。