企业级数据中台建设:TDengine 与 ClickHouse 的协同实践

举报
yd_254613826 发表于 2026/05/13 16:58:58 2026/05/13
【摘要】 摘要:在企业级数据中台建设中,时序数据的实时处理与离线分析是两个核心需求。本文介绍 TDengine 与 ClickHouse 协同构建的企业级数据平台架构,分析两款 database 在分层架构中的价值定位。一、企业级数据中台的存储挑战随着工业互联网和数字化转型的深入推进,企业面临的数据场景日益复杂。以某大型能源企业为例,其业务系统需要同时处理:· 实时告警:设备异常需要秒级响应· 趋势分...

摘要:在企业级数据中台建设中,时序数据的实时处理与离线分析是两个核心需求。本文介绍 TDengine 与 ClickHouse 协同构建的企业级数据平台架构,分析两款 database 在分层架构中的价值定位。

一、企业级数据中台的存储挑战

随着工业互联网和数字化转型的深入推进,企业面临的数据场景日益复杂。以某大型能源企业为例,其业务系统需要同时处理:

· 实时告警:设备异常需要秒级响应

· 趋势分析:历史数据用于预测性维护

· 多维报表:跨部门、跨时间维度的统计分析

· 合规审计:数据长期保留,满足监管要求

单一的 database 产品难以同时满足这些差异化需求。经过实践验证,采用 TDengine + ClickHouse 的分层架构,是更为务实的方案。

二、分层架构设计

2.1 架构概览

┌─────────────────────────────────────────────────────────────┐

│                        应用层                                │

│  ┌─────────────┐  ┌─────────────┐  ┌─────────────────────┐  │

│  │  实时监控大屏 │  │  告警平台    │  │  BI 报表系统        │  │

│  └─────────────┘  └─────────────┘  └─────────────────────┘  │

└─────────────────────────────────────────────────────────────┘

                              │

        ┌─────────────────────┼─────────────────────┐

        ▼                     ▼                     ▼

┌───────────────┐     ┌───────────────┐     ┌───────────────┐

│  TDengine     │     │  Kafka/       │     │  ClickHouse   │

│  (实时层)      │     │  数据总线      │     │  (分析层)      │

│               │     │               │     │               │

│ • 高频写入     │     │ • 数据同步     │     │ • 多维分析     │

│ • 实时查询     │────▶│ • 流式处理     │────▶│ • 离线报表     │

│ • 设备管理     │     │ • 数据缓存     │     │ • 数据挖掘     │

└───────────────┘     └───────────────┘     └───────────────┘

        ▲                                           ▲

        └───────────────────────────────────────────┘

                          数据回流(聚合结果)

2.2 各层职责定位

层级

数据库

核心职责

数据特征

实时层

TDengine

高频写入、实时告警、设备详情

原始数据,高频率

分析层

ClickHouse

趋势分析、多维聚合、离线报表

聚合数据,低频率

三、实时层:TDengine 的实践

3.1 数据接入

-- 创建设备 telemetry 超级表

CREATE STABLE equipment_telemetry (

    ts TIMESTAMP,

    temperature FLOAT,

    pressure FLOAT,

    vibration FLOAT,

    power_consumption FLOAT

) TAGS (

    equipment_id BINARY(32),

    workshop BINARY(32),

    production_line BINARY(16),

    equipment_type BINARY(16)

);

 

-- 高频写入示例

INSERT INTO eq_001 USING equipment_telemetry

    TAGS ('EQ001', 'WORKSHOP-A', 'LINE-1', 'TURBINE')

    VALUES (NOW, 450.2, 2.5, 0.03, 1250.5);

3.2 实时告警

-- 温度超限告警查询

SELECT equipment_id, temperature

FROM equipment_telemetry

WHERE ts > NOW - 10s AND temperature > 500;

 

-- 设备状态实时查询

SELECT LAST(*) FROM eq_001;

四、分析层:ClickHouse 的实践

4.1 数据同步

通过 Kafka 实现 TDengine 到 ClickHouse 的数据同步:

# 数据同步消费者

from kafka import KafkaConsumer

import clickhouse_driver

 

consumer = KafkaConsumer('telemetry-agg', bootstrap_servers=['kafka:9092'])

ch_client = clickhouse_driver.Client(host='clickhouse')

 

for msg in consumer:

    data = json.loads(msg.value)

    ch_client.execute(

        "INSERT INTO analytics.hourly_stats VALUES",

        [data]

    )

4.2 复杂分析

-- ClickHouse 多维分析查询

SELECT

    toStartOfHour(hour) as time_bucket,

    workshop,

    production_line,

    avg(avg_temperature) as avg_temp,

    max(max_temperature) as max_temp,

    quantile(0.95)(avg_vibration) as p95_vibration,

    countIf(max_temperature > 500) as alert_count

FROM analytics.hourly_stats

WHERE hour > now() - INTERVAL 30 DAY

GROUP BY time_bucket, workshop, production_line

ORDER BY time_bucket;

五、性能表现

在 100 万设备、日均 100 亿条数据的企业级场景中:

场景

TDengine

ClickHouse

单设备写入

0.5ms

-

实时告警查询

< 10ms

-

小时级聚合(1000设备)

15ms

-

30天趋势分析

-

200ms

跨车间对比分析

-

500ms

复杂多维报表

-

2s

六、企业级特性

6.1 高可用设计

-- TDengine 三副本配置

CREATE DATABASE realtime REPLICA 3 KEEP 90d;

 

-- ClickHouse 副本表

CREATE TABLE analytics.hourly_stats_replica

ON CLUSTER 'cluster_1'

AS analytics.hourly_stats

ENGINE = ReplicatedMergeTree(...);

6.2 数据一致性保障

· 实时层:TDengine 强一致性写入,确保告警数据准确

· 分析层:ClickHouse 最终一致性,满足报表分析需求

· 同步链路:Kafka 持久化,确保数据不丢失

七、与华为云生态集成

该架构已与华为云深度集成:

· 华为云 CCE:Kubernetes 容器平台部署 TDengine 和 ClickHouse

· 华为云 Kafka:托管消息队列,保障数据同步稳定性

· 华为云 OBS:冷数据归档,降低长期存储成本

· 华为云 DWS:与数据仓库对接,支持更复杂的数据分析

八、总结

TDengine 与 ClickHouse 的协同架构,充分发挥了各自的技术优势:

· TDengine 负责实时层的高频写入和即时查询,确保设备数据的及时处理和告警响应

· ClickHouse 负责分析层的复杂聚合和离线报表,提供强大的多维分析能力

这种分层设计虽然增加了架构复杂度,但在企业级大规模数据场景下,能够更好地满足差异化的数据处理需求。对于正在构建数据中台的能源、制造、交通等企业,这种协同架构值得参考。

在企业数字化转型的道路上,选择合适的技术组合,构建分层解耦的数据架构,是提升数据竞争力的关键。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。