ClickHouse最常用复制表、分布式表使用教程【高可用的基础】

ClickHouse最常用复制表、分布式表使用教程【高可用的基础】

ClickHouse分布式存储要保证高可用,就必须有数据冗余——即副本(replica)。ClickHouse依靠ReplicatedMergeTree引擎族与ZooKeeper实现了复制表机制,成为其高可用的基础。另外ClickHouse像ElasticSearch一样具有数据分片(shard)的概念,这也是分布式存储的特点之一,即通过并行读写提高效率。ClickHouse依靠Distributed引擎实现了分布式表机制,在所有分片(本地表)上建立视图进行分布式查询,效率极高!

这里总结一下Clickhouse中最常用的ReplicatedMergeTree引擎和Distributed引擎,利用这两个引擎可以轻松应付绝大部分的大规模数据和复杂业务。

创建数据库

创建本地表

创建分布式表

插入测试数据

注意:

生产过程中这里推荐通过随机哈希算法均匀散列到不同的分片机本地表,而不是写分布式表,直接写分布式表会导致集群负载较高且无法应对较大规模的数据量。

查询分布式表

删除复制表和分布式表命令

注意:

这里不要使用drop table id_phone_local_table ;这样会导致只会在运行该命令的某一分片机 / 副本机上删除,无法同步删除到其他机器。

ClickHouse最常用复制表、分布式表使用教程【高可用的基础】,by:cpp.la

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注