我知道clickhouse最终是一致的。因此,一旦insert调用返回,并不意味着数据将出现在select查询中。
这是否适用于独立的clickhouse(无分发,无复制)?
我理解数据复制最终一致性的概念,但它是否适用于分发但不复制?
使用分布式+复制的clickhouse,有什么方法可以确保安全地查找某些insert?
基本上我没有找到太多关于这个主题的信息,所以也许我问的不是最好的问题。请随意启发我。
我知道clickhouse最终是一致的。因此,一旦insert调用返回,并不意味着数据将出现在select查询中。
这是否适用于独立的clickhouse(无分发,无复制)?
我理解数据复制最终一致性的概念,但它是否适用于分发但不复制?
使用分布式+复制的clickhouse,有什么方法可以确保安全地查找某些insert?
基本上我没有找到太多关于这个主题的信息,所以也许我问的不是最好的问题。请随意启发我。
1条答案
按热度按时间piah890a1#
不,但是单节点设置也不应该被认为是可靠的。
默认情况下是的,您将插入到客户端连接到的节点(可能通过某个负载平衡器),分布式表将异步地将每个数据段转发到它所属的节点。这个
insert_distributed_sync=1
设置将使客户端同步等待。插入时使用
***MergeTree
直接(不分发)碎片表insert_quorum=2
设置(如果有3个副本)并在出现错误时使用完全相同的批无限重试(重试时可以使用不同的副本,因为存在基于批哈希的重复数据消除)。那就用吧select_sequential_consistency=1
设置。