【问题标题】:Cassandra: Does SELECT COUNT(*) differ between versions 2.x and 3.x?Cassandra:SELECT COUNT(*) 在 2.x 和 3.x 版本之间是否有所不同?
【发布时间】:2018-12-04 14:31:31
【问题描述】:

我正在通过将表导出为 CSV 文件并使用它在新集群中创建新表来在 2.2.4 版本的 Cassandra 集群和 3.11.3 集群之间迁移数据。我正在使用SELECT COUNT(*) 来验证数据是否已正确复制,但我发现行数存在差异。这可能是因为版本不同吗?还有什么可以解释的吗?谢谢!

以下是我正在执行的步骤:

SELECT COUNT(*) FROM table_cass2
count
-------
  7951
(1 rows)

COPY table_cass2 TO '/tmp/table.csv'

COPY table_cass3 FROM '/tmp/table.csv'
Using 15 child processes  
Starting copy of <table> with columns [..].   
Processed: 7951 rows; Rate:    3741 rows/s; Avg. rate:    6045 rows/s
7951 rows imported from 1 files in 1.315 seconds (0 skipped).

SELECT COUNT(*) FROM table_cass3`  
 count  
-------
  7919
(1 rows)

【问题讨论】:

  • 和 CL.ALL 一样吗?
  • 确保您在两个实例上运行的选择查询具有相同的一致性。

标签: cassandra


【解决方案1】:

为了回答我自己的问题,我团队中的其他人确认,SELECT COUNT(*) 查询的结果在不同的 Cassandra 实例之间存在微小但一致的差异是正常的。

【讨论】:

  • 除非您使用 quorum 进行读取和写入(那么您应该有零不一致)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-18
相关资源
最近更新 更多