Skip to content

GreptimeDB vs. ClickHouse

分析能力很强——但可观测性所需的 OTLP、Jaeger 都在 OLAP 核心之外。GreptimeDB 为可观测性而生,一套栈同时承载近实时告警与长期分析。

ClickHouse 查询很快。
但可观测性需要的不仅仅是查询引擎。

ClickHouse 是高性能列式 OLAP 数据库——通用分析引擎,并非专为可观测性打造。ClickStack 增加了 OTLP 摄入,ClickHouse 的 PromQL 支持处于 private preview,但这些都是在 OLAP 核心之上的附加功能。在 ClickHouse 上做可观测性,通常会在数据库前面加一层缓冲、摄入 worker 和转换步骤,指标、日志、链路由不同部件拼装。GreptimeDB 是为可观测性设计的数据库,原生跑在对象存储上,近实时告警和长期分析都在同一套栈里完成。点击这里阅读日志基准报告。

挑战者

ClickHouse

OLAP 引擎——可观测性通过 ClickStack 运行,是独立的层

  • 时间只是另一列——存储布局不针对可观测性负载优化

  • 可观测性摄入通常会加一层缓冲(Kafka/Redis)+ worker

  • PromQL 处于 private preview;ClickStack OTLP 与 OLAP 核心分离

  • 在日志基准测试中日志存储为 2 倍(2.6GB vs 1.3GB)

VS

GreptimeDB

GreptimeDB

PromQL、OTLP、Jaeger 在同一个二进制

  • 以时间戳为核心的存储布局——从底层为可观测性设计

  • 原生 OTLP 端点——SDK 直写,无需缓冲层

  • 动态 schema——新 span 属性自动建列,无需迁移

  • 在日志基准测试中日志存储低 50%,压缩率更优

架构对比

ClickHouse 以 OLAP 为核心。可观测性通过 ClickStack 运行,是独立的层。

ClickHouse Stack

4-8 个组件

采集器 / ETL / Kafka 管道

摄取 + 转换

ClickHouse 分片与副本

存储 + 计算

物化视图与 Rollup

查询优化

额外可观测工具层

仪表盘 + 告警适配

GreptimeDB

1 DATABASE

Frontend 节点(无状态,自动扩缩)

查询 + 摄取网关

Datanode(承载 Region,数据落对象存储)

原生对象存储

  • 开箱支持 PromQL + SQL
  • 同一引擎统一日志、指标和链路
  • 计算与存储可独立扩展
特性对比
维度GreptimeDBClickHouse
查询语言SQL + PromQL(双语原生)SQL 为主,PromQL 支持处于 private preview
数据类型指标 + 日志 + 链路在一个数据库OLAP 分析数据;可观测性通过 ClickStack
PromQL 支持原生 PromQL 查询引擎通过 TimeSeries 引擎提供,处于 private preview(26.9);暂不支持原生直方图和 recording/alerting rules
OpenTelemetry原生 OTLP(全信号)通过 ClickStack 摄入 OTLP(与核心 OLAP 引擎分离)
链路支持原生 Jaeger Query API通过 ClickStack
存储设计以时间戳为核心的布局,针对可观测性访问模式优化时间只是另一列;通用 OLAP 布局
Schema 演进动态——新属性自动建列新属性可写入 JSON 或 Map 列;定型列仍需 ALTER TABLE
存储格式Apache Parquet(列式,高压缩)MergeTree 引擎系列(列式)
日志存储效率1.3GB(13% 压缩率)2.6GB(26% 压缩率)——为 2 倍
存储后端原生对象存储(S3、OSS、GCS)本地盘或 S3-backed MergeTree;SharedMergeTree 仅 ClickHouse Cloud 提供
摄入管道SDK → 原生 OTLP 端点 → 数据库(无需缓冲层)通常在前面加一层缓冲(Kafka/Redis)+ worker
高基数写入写入吞吐和落盘大小随时序基数增长基本保持平稳(基准测试)高基数指标需要谨慎设计主键和分区
扩展模型存算分离;开源版支持在线迁移 Region 和重分区,企业版可自动均衡与重分区无共享分片;分片数与分片键需前置决定,重分片需手动
复制与高可用对象存储上共享一份副本,高可用靠元数据与 region leadership每个副本各存一份全量(zero-copy 复制为实验性);完全存算分离的 SharedMergeTree 仅 ClickHouse Cloud 提供
持续聚合内置 SQL + Flow 流计算引擎Materialized Views + Aggregating MergeTree
许可证Apache 2.0Apache 2.0
集成成本开箱即用的可观测性方案ClickStack + 配置

存储对比来自日志基准测试,实际效果因负载和配置而异。

迁移路径:最快一周可落地

先从最痛的信号开始,逐步完成统一。

阅读完整迁移指南→

重定向新增写入

文档

将新流量通过兼容协议写入 GreptimeDB,同时保留现有 ClickHouse 链路稳定运行。

30 分钟

切换仪表盘数据源

文档

更新 Grafana 数据源,在尽量少改查询的情况下完成平滑切换。

1 小时

回填历史数据

导出历史分区并批量导入 GreptimeDB,实现统一保留与统一查询。

1-3 天

下线自建胶水层

验证完成后,逐步移除围绕 ClickHouse 构建的冗余 ETL 与协议转换组件。

2 周

经过多方评估,我们选择了 GreptimeDB 而非 ClickHouse。时序原生的存储引擎、计算存储分离架构和原生 OTLP 支持更契合我们的可观测场景。
得物
得物
资深工程师
基于 GreptimeDB 构建了全新的可观测监控体系,用统一的 Flow 引擎替代了多阶段 ETL pipeline,P99 查询延迟从秒级降至毫秒级。

Stay in the loop

加入我们的社区