为什么通过 Cassandra Python Driver 写入会延迟添加记录?

问题描述

我正在使用 Python 程序将 250 万条记录写入 Cassandra。程序运行很快,但在查询数据时,记录会在很长时间后反映出来。记录数逐渐增加,似乎数据库正在以队列方式执行对表的写入。写入继续,直到所有记录完成。为什么写作反映迟了?

解决方法

通常会提供最少的代码示例以及重现问题的步骤,但您没有提供太多信息。

我的猜测是您发出了很多异步写入,这意味着这些查询会排队,因为异步编程就是这样工作的。在它们最终到达集群并得到处理之前,您将无法立即看到结果。

此外,您还没有提供有关如何验证数据的信息,因此我将再做一次猜测,并假设您正在执行需要在 Cassandra 中进行全表扫描的 SELECT COUNT(*)。鉴于您已发出数百万次写入,节点很可能过载并需要一段时间才能响应。

就其价值而言,如果您正在执行 COUNT(),您可能会对这篇文章感兴趣,我已经解释了为什么在 Cassandra 中执行此操作很糟糕 -- https://community.datastax.com/questions/6897/。干杯!