如何知道何时将数据插入Clickhouse

时间:2019-08-01 15:57:02

标签: clickhouse eventual-consistency

我知道Clickhouse最终是一致的。因此,一旦插入调用返回,并不意味着数据将出现在选择查询中。

  1. 是否适用于独立的Clickhouse(无分发,无复制)?
  2. 我了解数据复制最终一致性的概念,但是它适用于分发但不复制吗?
  3. 使用分布式+复制Clickhouse,建议知道什么可以安全地查找某些插入物的方法是什么?

基本上,我没有找到太多有关此主题的信息,所以也许我并不是在问最好的问题。随时启发我。

1 个答案:

答案 0 :(得分:1)

  1. 否,但也不应将单节点设置视为可靠。
  2. 默认情况下,您将插入客户端连接到的节点(可能通过负载平衡器),并且Distributed table将异步将每条数据转发到其所属的节点。 MULTIPLICITY设置将使客户端同步等待。
  3. 在插入时,使用PERL_IMPLICIT_CONTEXT设置(如果有3个副本)直接使用insert_distributed_sync=1分片表(分布式),如果有一些则完全重试无限次错误(可以重试使用不同的副本,因为存在基于批处理哈希的重复数据删除)。然后在读取时使用***MergeTree设置。