Skip to content

GreptimeDB vs. Elasticsearch

倒排索引是为文本搜索设计的,不是为可观测性存储设计的。链路场景下 ES 存储膨胀最高 45 倍;在基准测试中日志写入快 4.7 倍、存储仅 1/10。

倒排索引擅长搜索。
但也让可观测性存储膨胀了。

Elasticsearch 是基于 Apache Lucene 的分布式搜索与分析引擎,广泛用于日志分析、APM 和企业搜索。它的倒排索引在全文搜索上表现出色,但在可观测性负载下——尤其是链路和大规模日志——存储开销成了结构性问题:JSON 文档模型 + 倒排索引 + 多索引副本导致数据显著膨胀。点击这里阅读完整的日志基准报告。

挑战者

Elasticsearch

搜索优先架构,可观测性存储开销是结构性问题

  • 默认索引所有字段——高基数 trace/span ID 导致存储膨胀最高 45 倍
  • 在[基准测试](/blogs/2025-04-17-elasticsearch-greptimedb-comparison)中日志写入 39K TPS,GreptimeDB 达到 185K TPS(4.7 倍)
  • JVM 调优、分片管理与 ILM 增加运维负担
VS

GreptimeDB

GreptimeDB

列存 + 对象存储,面向可观测性长期保留

  • 在[基准测试](/blogs/2025-04-17-elasticsearch-greptimedb-comparison)中列式压缩存储可观测性数据仅 1/10 体积
  • 灵活索引——高基数 trace/span ID 用跳跃索引,日志正文用布隆过滤器全文索引,按需使用倒排索引
  • 在[基准测试](/blogs/2025-04-17-elasticsearch-greptimedb-comparison)中日志写入快 4.7 倍,S3 写入仅 1-2% 吞吐损失
  • 兼容 Jaeger UI,链路迁移约一周完成
架构对比

为什么 Elasticsearch 集群在规模增长后更复杂,而 GreptimeDB 路径更直接。

Elastic Stack

5-9 个组件

Beats / OTel Collector / Logstash

采集 + 转换

Ingest Nodes + Data Nodes

索引 + 存储

Master / Coordinator Nodes

集群路由

ILM + Snapshot Repositories

保留策略 + 归档

GreptimeDB

1 DATABASE

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

查询 + 摄取网关

Datanode(计算层,无状态)

原生对象存储

  • 统一 SQL + PromQL 可观测性查询体验
  • 原生支持日志、指标与链路
  • 计算与存储可独立扩展
特性对比
维度GreptimeDBElasticsearch
存储格式Apache Parquet(列式,高压缩)Lucene 段 + 倒排索引
索引策略按字段选择:倒排、跳跃索引、布隆过滤器全文、向量索引默认索引所有字段——高基数数据存储开销大
存储效率日志约 ES 的 1/10;链路场景最高降 45 倍JSON + 倒排索引 + 副本导致存储膨胀
查询语言SQL + PromQL(双接口)查询 DSL(JSON)、Elasticsearch SQL(内置)
数据类型指标 + 日志 + 链路在一个数据库主要用于文档(指标需要独立系统)
写入吞吐185K TPS(结构化日志)39K TPS(结构化日志,慢 4.7 倍)
存储后端原生对象存储(S3、OSS、GCS)本地磁盘,冷数据快照到 S3
扩展模型存算分离,无状态节点主-数据节点集群,分片管理
链路兼容Jaeger Query API 兼容,约一周迁移原生 Jaeger/ES 后端
OpenTelemetry原生 OTLP(全信号)通过 Elastic APM / Observability 栈
许可证Apache 2.0ELv2 / SSPL / AGPLv3(2024 年起三重许可)
操作复杂度单一可观测性系统ELK/EEK 栈:多组件管理

日志性能数据来自基准测试。链路存储对比基于生产迁移案例。实际效果因负载而异。

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

保留现有采集链路,分阶段迁移写入与查询。

重定向摄取

文档

将兼容端点(OTLP、HTTP、Bulk API)指向 GreptimeDB,现有 Agent 可保持不变。

30 分钟

切换仪表盘数据源

文档

将 Grafana 数据源切换到 GreptimeDB,在迁移过程中继续保留现有监控视图。

1 小时

回填历史数据

导出快照或历史索引,批量导入 GreptimeDB,不中断在线写入。

1-3 天

下线 Elastic 集群

验证完成后逐步缩减 Elasticsearch 数据节点并下线冗余索引链路。

2 周

某出海物流电商
用 GreptimeDB 替换 Elasticsearch 存储 Trace 数据,存储成本降低 45 倍,查询性能提升近 3 倍。

Stay in the loop

加入我们的社区