clickhouse 本地表和分布式表的区别

1.clickhouse的表分为两种:

分布式表
一个逻辑上的表, 可以理解为数据库中的视图, 一般查询都查询分布式表. 分布式表引擎会将我们的查询请求路由本地表进行查询, 然后进行汇总最终返回给用户。
本地表:
实际存储数据的表。

2.不写分布式表的原因

1.分布式表接收到数据后会将数据拆分成多个parts, 并转发数据到其它服务器, 会引起服务器间网络流量增加、服务器merge的工作量增加, 导致写入速度变慢, 并且增加了Too many parts的可能性。

2.数据的一致性问题, 先在分布式表所在的机器进行落盘, 然后异步的发送到本地表所在机器进行存储,中间没有一致性的校验, 而且在分布式表所在机器时如果机器出现down机, 会存在数据丢失风险。

3.数据写入默认是异步的,短时间内可能造成不一致。

4.对zookeeper的压力比较大(待验证). 没经过正式测试, 只是看到了有人提出。

你可能感兴趣的:(数据库,clickhouse,数据库)