Cassandra PreparedStatement 与 ExecuteAsync 一起使用可以帮助改进批量插入吗?

Cassandra PreparedStatement usage with ExecuteAsync can help improve bulk insertion?

我计划使用 python 脚本将科学测量数据提取到我的 6 节点 cassandra 集群中。

我查看了各种 post 文章和有关将数据批量加载到 cassandra 的文章。但不幸的是,所讨论的 none 最先进的技术符合我的用例 [1][2]. However, I found this post on ,这似乎很有帮助。

考虑到 post 和我的十亿条记录数据,我想知道结合使用 PreparedStatement(而不是简单语句)和 execute_async 是否是一个好习惯.

是的,这应该可行 - 但您需要限制同时 运行 的异步请求的数量。驱动程序只允许一定数量的 in-flight 请求,如果您提交的请求数量超过允许数量,那么它将失败。

另一件需要考虑的事情 - 如果您可以将数据组织成小批量 (UNLOGGED),其中所有条目都具有相同的分区,也可以改善这种情况。请参阅 documentation 以了解使用批处理的好的和坏的做法示例。