GreptimeDB is an open-source observability database handling metrics, logs, and traces in one Rust engine, with columnar storage on object storage and both SQL and PromQL as query languages.
Stateless frontends speak SQL, PromQL, MySQL, PostgreSQL, Prometheus remote write, and Jaeger; datanodes own table regions and flush memtables as SSTs to S3, Azure Blob, or GCS with local cache. Run it standalone or clustered; GreptimeCloud is the managed service.
How GreptimeDB answers the questions OLAP Engines turns on.
| How it works | |
| Specialization | Observability store: metrics, logs and traces in one engine |
| SQL dialect | SQL and PromQL; MySQL and PostgreSQL protocols |
| Joins | SQL joins; engine tuned for filter-aggregate |
| Updates and deletes | No UPDATE; insert overwrites by key and timestamp; DELETE |
| Ingest to queryable | Writes buffer in a memtable, flushed to object storage as SSTs |
| Storage format | Own columnar on object storage |
| Compute and storage | Stateless frontends over datanodes; object storage with local cache |
| Indexes | Optional per column: inverted, skipping and fulltext indexes |
| Pre-aggregation | Flow engine: continuous aggregation into sink tables on write |
| Running it | |
| Concurrent users | Stateless frontends scale out; datanodes own regions |
vs GreptimeDB: Java, C++
vs GreptimeDB: Operational complexity: High · Java
vs GreptimeDB: Operational complexity: High · Java