【发布时间】:2021-08-20 06:05:07
【问题描述】:
我们正在使用 Cassandra 批处理语句来持久化数据。我们收到“批量太大”异常。 我了解批量大小的数据超过了批量大小失败阈值。 我需要帮助来计算批次的大小。有什么方法可以找出批量传递的数据的确切大小?
【问题讨论】:
我们正在使用 Cassandra 批处理语句来持久化数据。我们收到“批量太大”异常。 我了解批量大小的数据超过了批量大小失败阈值。 我需要帮助来计算批次的大小。有什么方法可以找出批量传递的数据的确切大小?
【问题讨论】:
最终用户没有一种简单的方法来计算批次的大小,因为它基于批次中所有突变的序列化大小。
一个复杂的问题是,批量突变可以是INSERT、UPDATE、DELETE 的任意组合,也可以是列、行或分区的任意组合。
附带说明一下,如果您还没有意识到,与我在 https://community.datastax.com/questions/5246/ 中讨论过的 RDBMS 中的批处理相比,CQL 批处理并不是一种优化。正如我在https://community.datastax.com/articles/2744/ 中解释的那样,CQL 批处理应该只用于使相关分区在非规范化表中保持同步。干杯!
【讨论】: