diff --git a/README.md b/README.md index 1f5e740db9..1c8ed985e1 100644 --- a/README.md +++ b/README.md @@ -13,95 +13,65 @@ One engine, on your infrastructure. > Apache-2.0 licensed core.
-

- User Guide | - API Docs | - Roadmap 2026 -

- -Stable - - -Canary - - -Nightly - +User Guide  ·  +API Docs  ·  +Roadmap 2026  ·  +Slack + +Stable +Canary +Nightly +Docker Pulls +License stable for production  ·  canary includes pre-releases  ·  nightly is a weekly snapshot of main - -Docker Pulls - - -GitHub Actions - - -Codecov - - -License - - -
- - -Slack - - -Twitter - - -LinkedIn -
-- [Introduction](#introduction) -- [Why You Might Use It](#why-you-might-use-it) -- [Overview](#overview) -- [What's Supported](#whats-supported) -- [Compatibility and Migration](#compatibility-and-migration) -- [Limitations and Edition Boundary](#limitations-and-edition-boundary) -- [Architecture](#architecture) -- [Try GreptimeDB](#try-greptimedb) -- [Getting Started](#getting-started) -- [Build From Source](#build-from-source) -- [Tools & Extensions](#tools--extensions) -- [Project Status](#project-status) -- [Community](#community) -- [License](#license) -- [Commercial Support](#commercial-support) -- [Contributing](#contributing) -- [Acknowledgement](#acknowledgement) - ## Introduction **GreptimeDB** is an open-source observability database. Metrics, logs, and traces run on one columnar engine over object storage and share one [table model](https://docs.greptime.com/user-guide/concepts/data-model/): tags, timestamp, and fields. When signals carry common identifiers such as service, host, or trace ID, you can correlate them in SQL without moving data between databases. Ingest through OpenTelemetry, Prometheus Remote Write, Loki Push, or Elasticsearch Bulk. Use SQL across observability data and PromQL for metrics. Migrate ingestion one signal at a time without rebuilding your collectors. +## One Query Across Signals + +OpenTelemetry ingestion writes spans to `opentelemetry_traces` and log records to +`opentelemetry_logs`. Both tables carry `trace_id`, so correlating them is a join: + +```sql +-- The slowest failed spans in the last hour, +-- with the log lines emitted inside those same traces. +SELECT + t.service_name, + t.span_name, + t.duration_nano / 1000000 AS duration_ms, + l.timestamp AS log_time, + l.severity_text, + l.body +FROM opentelemetry_traces t +JOIN opentelemetry_logs l ON l.trace_id = t.trace_id +WHERE t.timestamp > now() - INTERVAL '1' HOUR + AND t.span_status_code = 'STATUS_CODE_ERROR' +ORDER BY t.duration_nano DESC +LIMIT 20; +``` + +Metrics join the same way, on any tag the tables share, such as `service`, +`host`, or `pod`. + ## Why You Might Use It - You run Prometheus plus Loki or Elasticsearch and want one backend instead of three - You have outgrown Prometheus on cardinality or retention and don't want the Thanos/Mimir operational surface +- You are hitting Loki's query performance limits as log volume grows - You need long retention on object storage without a separate analytics stack - You want to query telemetry with SQL, not only a domain query language - You are storing GenAI or agent telemetry ([OTel GenAI conventions](https://opentelemetry.io/docs/specs/semconv/gen-ai/)) alongside infrastructure signals -- You need the same engine and semantics on resource-constrained devices Learn more in [Why GreptimeDB](https://docs.greptime.com/user-guide/concepts/why-greptimedb). -## Overview - -A quick overview of what GreptimeDB ingests, how it connects to other systems, and what its distributed engine lets you do. - -

- - GreptimeDB Overview - -

- ## What's Supported | | | @@ -113,6 +83,22 @@ A quick overview of what GreptimeDB ingests, how it connects to other systems, a Compute and storage are disaggregated: object storage holds the data, while memory and local-disk caches keep recent and frequently queried data close to compute. +

+ + GreptimeDB Overview + +

+ +## Benchmarks + +* [Agent RCA Bench](https://rca-bench.greptime.com/): LLM agents doing root cause analysis + over GreptimeDB versus Prometheus + Loki + Tempo. 40% fewer wrong diagnoses, 48% fewer + input tokens, 45% lower cost + ([write-up](https://greptime.com/blogs/2026-09-08-agent-rca-bench-interface-semantic-layer)) +* [GreptimeDB tops JSONBench's billion-record cold run test](https://greptime.com/blogs/2025-03-18-jsonbench-greptimedb-performance) +* [TSBS Benchmark](https://github.com/GreptimeTeam/greptimedb/tree/main/docs/benchmarks/tsbs) +* [More benchmark reports](https://docs.greptime.com/user-guide/concepts/features-that-you-concern#how-is-greptimedbs-performance-compared-to-other-solutions) + ## Compatibility and Migration Compatibility is per protocol, and query-side coverage is narrower than ingestion. @@ -123,11 +109,6 @@ Compatibility is per protocol, and query-side coverage is narrower than ingestio | **Loki** | Push ingestion; dual-write through Grafana Alloy makes the [cutover gradual](https://greptime.com/blogs/2026-07-23-from-loki-to-greptimedb-dual-write-migration) | LogQL and the rest of the Loki query API | | **Elasticsearch** | `_bulk` ingestion in the open-source core; [QueryDSL](https://docs.greptime.com/enterprise/elasticsearch-compatible/query/) partially, in Enterprise | Most other Elasticsearch APIs | -**Benchmarks:** -* [GreptimeDB tops JSONBench's billion-record cold run test](https://greptime.com/blogs/2025-03-18-jsonbench-greptimedb-performance) -* [TSBS Benchmark](https://github.com/GreptimeTeam/greptimedb/tree/main/docs/benchmarks/tsbs) -* [More benchmark reports](https://docs.greptime.com/user-guide/concepts/features-that-you-concern#how-is-greptimedbs-performance-compared-to-other-solutions) - ## Limitations and Edition Boundary Cluster deployment, object storage, the Flow engine, and every ingestion protocol listed above are in the Apache-2.0 build. Repartitioning, region migration, and index creation are manual operations there. @@ -221,11 +202,7 @@ See the [Contribution Guidelines](CONTRIBUTING.md) for the full developer workfl GreptimeDB is generally available, with stable APIs and regular releases. It runs in production at scale — [OceanBase Cloud](https://greptime.com/blogs/2025-07-22-user-case-obcloud-log-management-greptimedb) operates 80+ GreptimeDB clusters managing 300 TB of logs, cutting log storage cost by 60%+ after migrating from Grafana Loki. See more in [case studies](https://greptime.com/blogs/?category=Use%20Case). -Read the [v1.0 highlights](https://greptime.com/blogs/2025-11-05-greptimedb-v1-highlights) and [2026 roadmap](https://greptime.com/blogs/2026-02-11-greptimedb-roadmap-2026), or browse the [version reference](https://docs.greptime.com/nightly/reference/about-greptimedb-version). - -If GreptimeDB is useful to you, please star the repo. - -Known Users +Release lines and support windows are in the [version reference](https://docs.greptime.com/nightly/reference/about-greptimedb-version). For where the project is going, read the [v1.0 highlights](https://greptime.com/blogs/2025-11-05-greptimedb-v1-highlights) and the [2026 roadmap](https://greptime.com/blogs/2026-02-11-greptimedb-roadmap-2026). ## Community @@ -239,6 +216,10 @@ We invite you to engage and contribute! - [X (Twitter)](https://X.com/greptime) - [YouTube](https://www.youtube.com/@greptime) +If GreptimeDB is useful to you, please star the repo. + +Known Users + ## License GreptimeDB is an open-core project. Its core is licensed under the @@ -262,6 +243,9 @@ security, and support layer for production deployments. - Explore [Internal Concepts](https://docs.greptime.com/contributor-guide/overview.html) and [DeepWiki](https://deepwiki.com/GreptimeTeam/greptimedb). - Pick up a [good first issue](https://github.com/GreptimeTeam/greptimedb/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) and join the #contributors [Slack](https://greptime.com/slack) channel. +[![Integration CI](https://github.com/GreptimeTeam/greptimedb/actions/workflows/integration.yml/badge.svg)](https://github.com/GreptimeTeam/greptimedb/actions/workflows/integration.yml) +[![Codecov](https://codecov.io/gh/GreptimeTeam/greptimedb/branch/main/graph/badge.svg?token=FITFDI3J3C)](https://codecov.io/gh/GreptimeTeam/greptimedb) + ## Acknowledgement Special thanks to all contributors! See [AUTHOR.md](AUTHOR.md).