Skip to content

GreptimeDB vs. Grafana Loki

Loki 到了性能天花板?只索引标签曾经是巧妙的取舍——直到团队需要大规模搜索日志正文。

Promtail 负责推送。
Loki 只索引标签。

Grafana Loki 是一个水平可扩展、多租户的日志聚合系统,灵感来自 Prometheus。Loki 只索引标签元数据,不索引日志内容本身。这让存储更便宜,但也意味着每次日志正文查询都是暴力扫描。规模大了,这个取舍变成天花板:大范围查询超时,搜索只能限制在分钟级,临时排查速度下降。点击这里查看 GreptimeDB 与 Loki 的完整性能对比报告。

挑战者

Grafana Loki

标签优先的日志方案,扩展性好但临时文本分析受限

  • 仅标签索引——大规模日志正文搜索是暴力扫描
  • 大范围查询超时,搜索范围被限制在分钟级
  • 指标与链路仍需额外系统配合
VS

GreptimeDB

GreptimeDB

全文索引 + SQL 查询日志,与指标和链路统一

  • 全文索引——在[基准测试](/blogs/2025-08-07-beyond-loki-greptimedb-log-scenario-performance-report)中关键词搜索比暴力扫描快 40-80 倍
  • 亚秒级查询跨越小时/天级日志数据
  • 同一引擎统一处理日志、指标和链路
架构对比

为什么基于 Loki 的日志扩展会增加链路复杂度,而 GreptimeDB 更简洁。

Loki Stack

4-7 个组件

Promtail / Fluent Bit / Vector

采集 + 解析 + 传输

Loki Distributor + Ingester

写入 + 分块

Index Gateway + Querier

查询扇出

Compactor + 对象存储

保留策略 + 优化

GreptimeDB

1 DATABASE

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

查询 + 摄取网关

Datanode(计算层,无状态)

原生对象存储

  • 通过 Loki Push API 平滑迁移
  • SQL 中同时支持全文与结构化查询
  • 计算与存储可独立扩展
特性对比
维度GreptimeDBGrafana Loki
索引策略全文索引 + 倒排索引 + 二级索引仅标签索引(无全文索引)
查询语言SQL + PromQL(双接口)LogQL
数据类型指标 + 日志 + 链路在一个数据库仅日志(指标/链路需要独立系统)
查询性能亚秒级全文搜索(关键词查询快 40-80 倍)标签查询快,正文搜索大规模下暴力扫描
日志处理内置 Pipeline 引擎用于解析和转换基本解析与结构化元数据
存储格式Apache Parquet(列式,高压缩)自定义块(压缩日志流)
存储架构存算分离,原生对象存储分布式,支持对象存储后端
摄取协议SQL、gRPC、OTLP、Loki Push API、ES Bulk API、HTTPHTTP Push API、Promtail、Fluent Bit、Vector
OpenTelemetry原生 OTLP(全信号)原生 OTLP 日志摄入已支持;查询模型仍基于标签索引
许可证Apache 2.0AGPL 3.0
操作复杂度全信号可观测数据的单一系统完整可观测性需要 Mimir + Tempo

性能数据来自基准测试,实际效果因负载而异。查看完整基准报告

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

兼容 Loki Push API。保留现有采集 Agent,分阶段迁移。

重定向摄取端点

文档

将 Promtail / Fluent Bit / Vector 的输出切到 GreptimeDB 的 Loki Push API 端点,实现零停机切换。

30 分钟

切换 Grafana 数据源

文档

将 Grafana 数据源替换为 GreptimeDB,现有 Explore 流程和仪表盘可继续使用。

1 小时

回填历史日志

从对象存储导出历史日志块并批量导入 GreptimeDB,同时保持在线写入不中断。

1-3 天

下线 Loki 集群

数据校验通过后,逐步关闭 Loki 组件,让 GreptimeDB 成为主日志后端。

2 周

OceanBase
OceanBase
资深工程师
从 Loki 迁移到 GreptimeDB 实现了海量日志数据的高性能大规模查询,提供多云部署灵活性,并显著简化了应用和部署架构。

Stay in the loop

加入我们的社区