About this project

GreptimeDB is an open-source observability database that stores metrics, logs and traces in a single columnar engine on object storage. All three signal types share one table model — tags, timestamp and fields — so when signals carry common identifiers such as service, host or trace ID, they can be correlated with SQL joins instead of moving data between separate systems. Ingestion paths include OpenTelemetry (OTLP), Prometheus Remote Write, Loki Push, Elasticsearch Bulk, InfluxDB line protocol and gRPC. Query options include SQL, PromQL, Jaeger-compatible trace queries, plus MySQL and PostgreSQL wire protocols. Object storage backends such as S3, GCS, Azure Blob and S3-compatible endpoints serve as primary storage, with memory and local-disk caches keeping recent or frequently queried data near compute. Built-in capabilities cover retention policies, downsampling, continuous aggregation (Flow engine), explicit table partitioning, and inverted, skipping and fulltext indexes. Deployment comes in two modes. Standalone is a single binary for development and small deployments. Distributed splits into independently scalable components: Frontend (protocol entry and distributed query engine, stateless), Datanode (region engine with WAL, memtable, SST, cache, compaction and indexes, persisting to object storage), Metasrv (metadata, routing, repartitioning and security, backed by etcd or RDS), and an optional Flownode for continuous flow computation. The README documents compatibility per protocol: Prometheus Remote Write ingestion and PromQL queries are supported with some PromQL gaps; Loki Push ingestion works, while LogQL and the rest of the Loki query API are not compatible; Elasticsearch `_bulk` ingestion is in the open-source core, with QueryDSL partially available in the Enterprise edition. The project describes itself as open-core: cluster deployment, object storage, the Flow engine and all listed ingestion protocols are in the Apache-2.0 build, while read replicas, workload isolation, automated repartitioning and enterprise security/governance are Enterprise features. Repartitioning, region migration and index creation are manual in the open-source build. A quick start is provided via Docker, exposing HTTP (4000), gRPC (4001), MySQL (4002) and PostgreSQL (4003) ports, with a web dashboard at the HTTP port. Building from source requires a pinned nightly Rust toolchain, a Protobuf compiler and C/C++ build essentials; common commands include make, make fmt, make clippy, make test and make sqlness-test. Companion tooling includes a Kubernetes operator, Helm charts, a dashboard, gRPC ingesters for Go, Java, C++, Erlang, Rust, .NET and TypeScript, and a Grafana data source plugin. The README also lists benchmark reports (Agent RCA Bench, JSONBench, TSBS) and a production case study, and notes the project is generally available with stable APIs and regular releases. The core is Apache-2.0 licensed, with a small set of enterprise-only features under a separate license.