帮你快速理解、总结文档立即下载

基本概念

最近更新时间:2026-09-08 17:37:00
我的收藏
本文介绍使用 TCHouse-C 前需要了解的核心概念。分为基础设施层数据引擎层两个部分,帮助您快速建立对产品的整体认知。

基础设施概念

地域(Region)

指 TCHouse-C 集群所在的物理地理区域(如北京、上海、广州、新加坡等)。不同地域之间网络完全隔离,跨地域数据访问需通过公网或专线。集群创建后不可更换地域,请根据业务用户分布就近选择。

可用区(Availability Zone)

同一地域内电力和网络相互独立的物理数据中心,在同一地域内选择不同可用区可提升容灾能力。

集群(Cluster)

TCHouse-C 的基本服务单元。一个集群由以下组件构成:
组件
说明
ClickHouse 计算节点
负责数据存储和查询计算,可包含 1 个或多个分片
ZooKeeper/ClickHouse Keeper 管理节点
负责分布式协调,管理副本同步、DDL 操作等元数据
CLB 负载均衡
提供统一的集群访问入口,自动分发查询请求

分片(Shard)

TCHouse-C 将海量数据水平切分后分散到不同节点,每个节点承载数据的一部分。分片是数据水平扩展的基本单位。
模式
分片与节点的关系
单副本(非高可用)
1 个分片 = 1 个节点
双副本(高可用)
1 个分片 = 2 个节点(互为副本)

副本(Replica)

为保障数据安全和服务高可用,TCHouse-C 支持将同一分片的数据冗余存储在两个节点上。两个节点互为副本,数据实时同步。

高可用(High Availability)

高可用模式下,每个分片配置两个副本。当某个节点发生故障时,查询自动路由到副本节点,实现用户无感知的故障切换,保障服务连续性。
说明:
生产环境请务必选择高可用模式。非高可用模式(单副本)适用于开发测试或对可用性要求不高的场景。

数据引擎概念

以下概念源自 ClickHouse 数据引擎,是理解 TCHouse-C 数据模型的关键。

表引擎(Table Engine)

表引擎决定了数据如何存储、索引、是否支持副本等核心行为。TCHouse-C 支持 ClickHouse 的完整引擎家族,最常用的包括:
引擎
说明
适用场景
MergeTree
基础列式存储引擎,支持主键排序、分区、数据生命周期管理
单副本场景下的通用分析表
ReplicatedMergeTree
MergeTree 的副本版本,通过 ZooKeeper 实现跨节点数据同步
高可用场景下的标准选择
Distributed
分布式路由表,将查询分发到所有分片并汇总结果
跨分片的全局查询入口
MaterializedView
物化视图,数据写入时自动触发聚合计算并存储结果
预聚合加速、实时指标计算

本地表 vs 分布式表

类型
说明
本地表(Local Table)
实际存储数据的表,每个分片上各有一份,使用 MergeTreeReplicatedMergeTree 引擎
分布式表(Distributed Table)
逻辑路由表,不存储数据,将查询自动分发到各分片的本地表并合并结果
说明:
数据写入推荐直接写入本地表(或通过分布式表路由写入),查询通过分布式表进行,以获得全局视图。

分区(Partition)

在表引擎层面,数据可按某个字段(通常是日期)进行分区。分区的好处:
查询时自动裁剪无关分区,减少扫描数据量;
支持按分区快速删除历史数据(ALTER TABLE ... DROP PARTITION);
分区粒度建议按月或按天,避免分区数过多导致元数据膨胀。

数据压缩

ClickHouse 默认对列式数据进行高效压缩,TCHouse-C 支持 LZ4(默认,速度优先)和 ZSTD(压缩比优先)两种算法。实测典型业务数据压缩比可达 10:1,大幅降低存储成本。

概念关系总览

--基础设施层(集群 = 三层架构)--
集群 (Cluster)
├── 接入层:CLB 负载均衡 + TCP/MySQL/HTTP/HTTPS 端口
├── 计算层:
│ ├── 分片 1 (Shard 1) - 副本 A、B(计算节点, 本地表 + 数据)
│ ├── 分片 2 (Shard 2) - 副本 A、B(计算节点, 本地表 + 数据)
│ └── .......
└── 协调层:ZooKeeper / ClickHouseKeeper x 3

--数据引擎层(逻辑对象、运行与集群之上)--
分布式表(Distributed Table)
├── 引擎:Distributed
├── 不存储数据
├── 写入:按 sharding_key 路由到个分片的本地表
└── 查询:分发到所有分片并执行,汇总结果返回

术语字典

术语
说明
标准版
存算一体部署形态,计算与存储一体部署。
弹性版
存算分离部署形态,计算节点无状态、数据持久化到共享托管存储,支持按计算资源组弹性伸缩。
计算资源组
弹性版中计算能力的组织与弹性伸缩单元;用户可新建自定义资源组以隔离不同业务负载。命名规范:6–24 个字符,仅支持小写字母/数字/下划线,以字母或数字开头和结尾,创建后不可修改。
共享托管存储
弹性版持久化数据的存储层,多个计算节点共享访问,按存储资源用量计费。
存储资源用量
弹性版托管存储中实际占用的数据量,作为存储计费依据;因统计机制存在约 2~3 小时的更新延迟。
存储容量包
用于抵扣存储资源用量的预付费资源包,购买后按容量抵扣托管存储用量。
Shard(分片)
数据的逻辑分片。弹性版采用单 Shard 结构。
Replica(副本)
计算副本,承载查询与写入。弹性版副本由系统统一管理。
缓存空间
弹性版计算节点本地盘/云硬盘,用于缓存热数据加速查询,不持久化数据本体。
Common 节点
承载协调/公共服务的节点,弹性版仅支持 ClickHouse Keeper。
ClickHouseKeeper / ZooKeeper
分布式协调服务,管理副本元数据与一致性。弹性版强制高可用部署。
冷热分层
依数据访问热度自动分层存储的能力,弹性版默认开启。