ClickHouse的特点与优势

副本特点

副本机制

ClickHouse利用ZooKeeper,通过ReplicatedMergeTree引擎(Replicated 系列引擎)实现了副本机制。副本机制是多主架构,可以将INSERT语句发送给任意一个副本,其余副本会进行数据的异步复制。

副本机制功能:

  • ClickHouse 副本机制的设计可以最大限度的减少网络数据传输,用以在不同的数据中心进行同步,可以用来建设多数据中心、异地多活的集群架构。
  • 副本机制是实现:高可用(HA)、负载均衡(Load Balance)、迁移/升级(Migration/Upgrade)功能的基础。
  • 高可用:系统会监视副本数据的同步情况,识别故障节点,并在节点恢复正常时进行故障恢复,保证服务整体高可用。
分布式查询

ClickHouse通过分片和分布式表机制提供了线性扩展的能力。

  • 分片机制:用来解决单节点的性能瓶颈,通过将数据进行水平切分,将一张表中的数据拆分到多个节点,不同节点之间的数据没有重复,这样就可以通过增加分片对ClickHouse进行线性扩展。
  • 分布式表:在查询分片的数据时,通过分布式表进行查询,分布式表引擎自身不存储任何数据,仅是一层代理,能够自动路由到集群中的各个分片节点获取数据,即分布式表需要和其他数据表一起协同工作。

如图图1所示,在查询时,我们需要查询分布式表 table_distributed,分布式表会将查询请求自动路由到各个分片节点上,并进行结果的汇聚。

图1分布式查询

MergeTree引擎

MergeTree(合并树)及其系列(*MergeTree)是ClickHouse最强大的存储引擎,被设计用于插入大量数据到一张表中。数据以数据块的形式被快速写入,数据块在后台会进行异步合并,确保高效的插入和查询性能。

主要支持的功能点有:

  • 主键排序、稀疏索引
  • 支持数据分区
  • 支持副本机制 (ReplicatedMergeTree 系列)
  • 支持数据采样
  • 并发数据访问
  • 支持TTL
  • 支持二级索引(Data Skipping Index 跳数索引)
相关推荐
卡拉叽里呱啦1 天前
Apache Iceberg介绍、原理与性能优化
大数据·数据仓库
LoneEon4 天前
Ubuntu 部署 ClickHouse:高性能分析型数据库(附shell脚本一键部署↓)
数据库·clickhouse
恒悦sunsite5 天前
Ubuntu之apt安装ClickHouse数据库
数据库·clickhouse·ubuntu·列式存储·8123
AI悦创|编程1v15 天前
00-1-正则表达式学习心得:从入门到上瘾,再到克制
数据仓库·正则表达式·数据挖掘·ai悦创编程一对一教学·python一对一辅导·python一对一教学
DashingGuy5 天前
数仓各层级设计总结
数据仓库
DashingGuy5 天前
从0-1建设数据仓库
数据仓库
数据要素X6 天前
【大数据实战】如何从0到1构建用户画像系统(案例+数据仓库+Airflow调度)
大数据·数据仓库·数据治理·数据中台
西岭千秋雪_7 天前
RAG核心特性:ETL
数据仓库·人工智能·spring boot·ai编程·etl
孟意昶8 天前
Spark专题-第三部分:性能监控与实战优化(1)-认识spark ui
大数据·数据仓库·sql·ui·spark·etl