如何知道数据何时插入clickhouse

Juh*_*uh_ 5 eventual-consistency clickhouse

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

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

基本上我没有找到关于这个主题的太多信息,所以也许我没有提出最好的问题。请随时启发我。

Iva*_*kov 4

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