我有一个 Java 客户端,可以将(插入)记录批量推送到 Cassandra 集群。批处理中的元素都具有相同的行键,因此它们都将放置在同一个节点中。另外我不需要事务是原子的,所以我一直在使用未记录的批处理。
每批中 INSERT 命令的数量取决于不同的因素,但可以是 5 到 50000 之间的任何值。首先,我只是在一批中放入尽可能多的命令并提交。这扔了com.datastax.driver.core.exceptions.InvalidQueryException: Batch too large
。然后我使用了每批 1000 个 INSERT 的上限,然后降至 300 个。我注意到我只是在随机猜测,不知道这个限制的确切来源,这可能会在未来造成麻烦。
我的问题是,这个限制是多少?我可以修改它吗?我怎么知道一个批次可以放置多少个元素?当我的批次“满”时?