ITADN
GreptimeTeam/greptimedb
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

GreptimeDB Logo

一个用于指标、日志和追踪的数据库
替代 Prometheus、Loki 和 Elasticsearch

统一的 OpenTelemetry 后端 —— 在对象存储上支持 SQL + PromQL。

User Guide | API Docs | Roadmap 2026

Stable Canary Nightly

stable 适用于生产环境  ·  latest 包含预发布版本  ·  nightlymain 的每周快照

Docker Pulls GitHub Actions Codecov License
Slack Twitter LinkedIn

简介

GreptimeDB 是一个为 Observability 2.0 构建的开源可观测性数据库——它将指标、日志和追踪视为一个统一的数据模型(宽事件),而不是三个独立的支柱。

将其用作单一的 OpenTelemetry 后端——用一个基于对象存储构建的数据库替代 Prometheus、Loki 和 Elasticsearch。使用 SQL 和 PromQL 进行查询,轻松扩展,成本降低高达 50 倍。

概述

快速了解 GreptimeDB 摄取的内容、它如何与其他系统连接,以及其分布式引擎允许您执行的操作。

GreptimeDB Overview

特性

特性描述
Observability 2.0 原生支持在一个引擎中统一处理日志、指标和追踪,支持 SQL + PromQL。原生支持 OpenTelemetryPrometheus remote writeJaeger。可以逐个信号进行迁移,或将其用作单一后端。
弹性计算存储分离通过水平副本独立扩展读取能力。为仪表盘、告警和 AI 代理等高并发工作负载提供服务——无需重新分片或数据迁移。
PB–EB 级数据亚秒级响应列式引擎,支持 全文、倒排和跳过索引。使用 Rust 编写。专为高并发点查询设计,而不仅仅是分析扫描。
成本降低 50 倍使用对象存储(S3、GCS、Azure Blob)作为 主要存储,并配合分层缓存(内存 + 本地磁盘)以保持写入和查询的高速性能。

完美适用于:

  • 使用单一可观测性后端替代 Prometheus + Loki + Elasticsearch
  • 突破 Prometheus 的扩展限制——支持高基数、长期存储,且无 Thanos/Mimir 开销
  • AI/代理工作负载——存储 GenAI 遥测数据(OTel GenAI 规范),并通过水平读副本为 SRE/开发者代理提供高并发读取服务
  • 利用对象存储降低可观测性成本(追踪数据成本最高降低 50%,日志数据降低 30%)
  • 在资源受限设备上实现端到云的可观测性,提供统一的 API

为什么是 Observability 2.0? 为指标、日志和追踪分别使用三个独立的数据库,意味着需要三层存储、三种查询语言以及三套仪表盘。GreptimeDB 将这三者全部作为带时间戳的宽事件存储在一个列式引擎中——通过 SQL 跨信号进行 JOIN,用一个技术栈替代三个,并以相同方式摄取 AI 智能体遥测数据。阅读更多:Observability 2.0 及其数据库.

了解更多请参见 为什么选择 GreptimeDB.

GreptimeDB 的对比

能力GreptimeDBPrometheus / Thanos / MimirGrafana LokiElasticsearch
数据类型指标、日志、追踪仅指标仅日志日志、追踪
查询语言SQL + PromQLPromQLLogQLQuery DSL
存储原生对象存储(S3 等)本地磁盘 + 对象存储(Thanos/Mimir)对象存储(分块)本地磁盘
扩展性计算存储分离,无状态节点联邦 / Thanos / Mimir — 多组件,运维繁重无状态 + 对象存储基于分片,运维繁重
成本效益存储成本最高降低 50 倍大规模时较高中等较高(倒排索引开销)
OpenTelemetry原生支持(指标 + 日志 + 追踪)部分支持(仅指标)部分支持(仅日志)通过插桩实现

基准测试:

架构

GreptimeDB 可以运行在两种模式下:

  • Standalone — 用于开发和小规模部署的单一二进制文件。
  • Distributed — 四个组件,每个组件均可独立扩展:
    • Frontend — 协议入口(OTel、Prometheus、MySQL/PostgreSQL、gRPC、用于 Elasticsearch/InfluxDB/Loki 的数据摄入 API)以及分布式查询引擎。无状态,支持水平扩展。
    • Datanode — 包含 WAL、memtable、SST、缓存、压缩和索引的区域引擎。将数据持久化到对象存储。具有弹性。
    • Metasrv — 元数据、路由、重新分区、自动驾驶和安全。由可插拔的 KV 层(etcd 或 RDS)提供支持。
    • Flownode(可选)— 连续流计算(流处理和物化视图)。

如需深入了解,请参阅架构文档DeepWiki

GreptimeDB System Overview

试用 GreptimeDB

面向 AI 智能体 — 将此提示词粘贴到您的智能体中:

Read https://docs.greptime.com/SKILL.md and follow the instructions
to deploy, configure, ingest, and query GreptimeDB.
docker run -p 127.0.0.1:4000-4003:4000-4003 \
  -v "$(pwd)/greptimedb_data:/greptimedb_data" \
  --name greptime --rm \
  greptime/greptimedb:latest standalone start \
  --http-addr 0.0.0.0:4000 \
  --grpc-bind-addr 0.0.0.0:4001 \
  --mysql-addr 0.0.0.0:4002 \
  --postgres-addr 0.0.0.0:4003

仪表盘:http://localhost:4000/dashboard

请参阅完整安装指南了解更多。

故障排除:

  • 无法连接到数据库?请确保端口 4000400140024003 未被防火墙阻止,也未被其他服务占用。
  • 启动失败?请使用 docker logs greptime 检查容器日志以获取更多详细信息。

快速入门

从源码构建

先决条件:

  • Rust 工具链 — nightly 版本,由 rust-toolchain.toml 固定
  • Protobuf 编译器 (>= 3.15)
  • C/C++ 构建基础工具:gcc / g++ / autoconf 以及 glibc 开发包(Ubuntu 上为 libc6-dev,Fedora 上为 glibc-devel
  • Python 工具链(可选,仅用于部分测试脚本)

构建并运行:

make                          # build greptime binary
cargo run -- standalone start # start in standalone mode

常用开发命令:

make fmt            # format Rust code
make clippy         # lint (fails on warnings)
make test           # unit + integration tests (uses cargo-nextest)
make sqlness-test   # SQL regression tests

请参阅贡献指南了解完整的开发者工作流程。

工具与扩展

项目状态

GreptimeDB 已发布 v1.0 GA,具备稳定的 API 和定期发布。它在生产环境中大规模运行——OceanBase Cloud 运营着 80 多个 GreptimeDB 集群,管理 300 TB 的日志,从 Grafana Loki 迁移后,日志存储成本降低了 60%。请参阅案例研究了解更多。

阅读 v1.0 亮点2026 路线图,或浏览 版本参考

如果 GreptimeDB 对您有用,请为仓库点星。

Known Users

社区

我们邀请您参与并做出贡献!

许可证

GreptimeDB 是一个开放核心项目。其核心部分采用 Apache License 2.0 许可。

少量外围的、仅限企业使用的功能受 enterprise Cargo feature(默认不构建)控制,并受 单独的 GreptimeDB Enterprise License 管辖。受该 许可证约束的源文件包含明确的企业许可证头。

商业支持

在您的组织中运行 GreptimeDB? 我们提供企业附加组件、服务、培训和咨询。 联系我们 了解详情。

贡献

致谢

特别感谢所有贡献者!参见 AUTHOR.md


本 README 及概览图中提及的所有商标、徽标和品牌名称均为其各自所有者的财产。其使用仅用于识别目的,并不意味着认可或关联。