TCHouse-C 基于开源 ClickHouse 构建,在保持与社区版架构一致的前提下,针对云端场景在易用性、安全性和稳定性方面进行了深度增强。
标准版架构

TCHouse-C 标准版集群由三个核心层组成:
接入层
组件 | 职责 |
负载均衡(CLB) | 提供集群统一访问地址,自动将连接分发到可用的计算节点 |
TCP 端口(9000) | ClickHouse 原生协议,适用于 clickhouse-client 及各语言 SDK |
MySQL 端口(9004) | 使用标准的 MySQL 命令行工具或编程语言的 MySQL 驱动来查询 ClickHouse |
HTTP 端口(8123) | HTTP 端口,适用于 REST 调用、JDBC/ODBC 连接 |
计算存储层
计算层由多个分片(Shard)组成,每个分片包含 1~2 个副本(Replica)节点:
数据存储:每个副本节点上运行 ClickHouse Server 进程,管理本地表数据的写入、压缩、索引和查询。
并行计算:查询通过分布式表(Distributed Table)自动分发到所有分片并行执行,最终汇总结果返回。
弹性伸缩:支持在线增加分片数量以扩展计算和存储容量。
计算节点规格选型参考:
节点类型 | 节点存储 | 适用场景 |
标准型(推荐) | 支持挂载增强型 SSD 云硬盘和高性能云硬盘,支持独立扩容、最大单节点支持 320TB,支持透明数据加密(部分地域),写入云硬盘的数据自动加密。 | 大多数分析场景 |
高性能型 | 搭载 NVMe SSD 本地盘,提供更高 I/O 性能,节点磁盘空间固定、不支持独立扩容磁盘。 | 对 I/O 延迟极敏感的高频查询 |
大存储型 | 搭载大容量 HDD 本地盘,节点磁盘空间固定、不支持独立扩容磁盘。 | 海量冷数据存储、日志归档 |
协调层(ZooKeeper 或 ClickHouse Keeper)
TCHouse-C 使用 3 节点 ZooKeeper 或 ClickHouse Keeper 集群负责分布式协调:
副本同步:协调 ReplicatedMergeTree 引擎的跨副本数据同步。
DDL 管理:确保分布式 DDL 操作(如建表、改表)在所有节点上一致执行。
Leader 选举:管理合并(Merge)任务的 Leader 选举。
说明:
ZooKeeper 或 ClickHouse Keeper 节点由 TCHouse-C 全托管,用户无需关心其部署和运维。
高可用 vs 非高可用架构对比
维度 | 高可用模式 | 非高可用模式 |
副本数 | 每分片 2 副本 | 每分片 1 副本 |
表引擎 | ReplicatedMergeTree | MergeTree |
故障切换 | 自动:节点故障时查询自动路由到副本 | 不支持:节点故障则分片不可用 |
数据安全 | 双副本冗余,单节点损坏不丢数据 | 依赖云硬盘三副本保障(非本地盘) |
成本 | 约为非高可用模式的 2 倍 | 更低 |
推荐场景 | 生产环境 | 开发测试、非关键业务 |
弹性版架构
弹性版采用存算分离架构,整体由计算层、存储层、协调层三部分组成,计算与存储实现解耦:
计算节点无状态、可弹性伸缩,数据统一持久化到共享托管存储;
查询与写入请求进入计算副本后,经 ReplicatedMergeTree 引擎写入并通过协调服务在副本间同步元数据,数据持久化到共享托管存储;
查询时优先命中本地缓存空间,未命中则从托管存储读取并回填缓存。
计算层:单 Shard 多 Replica
弹性版采用单 Shard 多 Replica 结构:一个逻辑分片下部署多个计算副本(Replica),副本由系统统一管理,无需用户手动配置。
计算节点无状态:节点本地云盘仅作为缓存空间(File Cache)加速查询,数据本体不落本地盘,因此节点可被快速替换、快速扩缩。
计算能力以计算资源组为单位组织:集群创建时默认生成
default_cluster,用户可按需新建多个计算资源组,将不同业务的读写负载隔离到不同资源组。存储层:共享托管存储
集群数据统一持久化到共享托管存储,多个计算节点/资源组共享访问同一份数据;
存储容量按存储资源用量弹性计费,无需为存储预留固定节点云盘,海量数据成本更优;
冷热分层默认开启:数据依访问热度自动分层,热数据经本地缓存加速、冷数据沉淀至托管存储。
协调层:强制高可用
弹性版依赖分布式协调服务(默认支持 ClickHouse Keeper)管理副本元数据与一致性,采用高可用部署(≥3 节点),保障元数据服务不中断。
计算副本基于 ReplicatedMergeTree 引擎 + 协调服务实现数据一致性与自动同步。
标准版 vs 弹性版架构对比
架构维度 | 标准版 | 弹性版 |
架构模式 | 存算一体 | 存算分离 |
分片结构 | 多 Shard | 单 Shard 多 Replica |
数据存储位置 | 节点本地磁盘(本地盘/云硬盘) | 共享托管存储(本地磁盘作缓存) |
计算弹性单元 | 节点 / 副本 | 计算资源组 |
扩缩容 | 新增/减少 Shard 分片 扩容涉及数据重分布,需手动 rebalance 历史数据 | 增减计算资源组 计算节点无状态,扩缩无需搬数据 |
协调服务 | 双副本强制配置 | 必须高可用(≥3) |
冷热分层 | 可选 | 默认开启 |
云端增强能力(相比自建 ClickHouse)
TCHouse-C 并非简单的 ClickHouse “搬上云”,而是在以下方面做了深度增强:
能力维度 | TCHouse-C | 自建 ClickHouse |
部署交付 | 控制台一键创建,分钟级就绪 | 需手动部署配置,通常耗时数小时 |
集群管理 | 控制台可视化管理,内置监控告警 | 需自行编写运维脚本和监控 |
版本升级 | 支持滚动升级,降低业务影响 | 需停机手动升级,风险较高 |
弹性扩容 | 控制台一键操作,支持存算一体和存算分离两种架构 | 扩容需手动添加节点、迁移数据 |
高可用 | 内置 Keeper 全托管,高可用一键开启 | 需自行搭建 ZooKeeper、配置副本 |
安全合规 | VPC 隔离 + 云硬盘加密,开箱即用 | 需自行配置网络隔离和加密 |