Skip to main content
Version: 1.0

Why GreptimeDB

The Problem: Three Systems for Three Signals

Most observability stacks today look like this: Prometheus (or Thanos/Mimir) for metrics, Grafana Loki (or ELK) for logs, and Elasticsearch (or Tempo) for traces. Each system has its own query language, storage backend, scaling model, and operational overhead.

This "three pillars" architecture made sense when these were separate concerns. But in practice, it means:

  • 3x operational complexity — three systems to deploy, monitor, upgrade, and debug
  • Data silos — correlating a spike in error logs with a metrics anomaly requires manual context-switching between systems
  • Cost escalation — each system stores redundant metadata, and scaling each independently leads to over-provisioning

GreptimeDB takes a different approach: one database engine for all three signal types, built on object storage with compute-storage separation.

Unified Processing for Observability Data

GreptimeDB unifies the processing of metrics, logs, and traces through:

  • A consistent data model that treats all observability data as timestamped wide events with context
  • Native support for both SQL and PromQL queries
  • Built-in stream processing capabilities (Flow) for real-time aggregation and analytics
  • Seamless correlation analysis across different types of observability data (read the SQL example for detailed info)

It replaces complex legacy data stacks with a high-performance single solution.

This means you can replace the Prometheus + Loki + Elasticsearch stack with a single database, and use SQL to correlate metrics spikes with log patterns and trace latency — in one query, without context-switching between systems.

Replaces complex legacy data stacks with a high-performance single solution

Cost-Effective with Object Storage

GreptimeDB leverages cloud object storage (like AWS S3 and Azure Blob Storage etc.) as its storage layer, dramatically reducing costs compared to traditional storage solutions. Its optimized columnar storage and advanced compression algorithms achieve up to 50x cost efficiency. Scale flexibly across cloud storage systems (e.g., S3, Azure Blob Storage) for simplified management, dramatic cost efficiency, and no vendor lock-in.

In production deployments, teams have achieved:

  • Logs: 10x query performance improvement, 30% TCO reduction (migrated from Loki — processing billions of logs daily across 170+ availability zones)
  • Traces: 45x storage cost reduction, 3x faster queries (replaced Elasticsearch as Jaeger backend — one-week migration)
  • Metrics: Replaced Thanos with native compute-storage separation, significantly reducing operational complexity

High Performance

As for performance optimization, GreptimeDB utilizes different techniques such as LSM Tree, data sharding, and flexible WAL options (local disk or distributed services like Kafka), to handle large workloads of observability data ingestion.

GreptimeDB is written in pure Rust for superior performance and reliability. The powerful and fast query engine is powered by vectorized execution and distributed parallel processing (thanks to Apache DataFusion), and combined with indexing capabilities such as inverted index, skipping index, and full-text index. GreptimeDB combines smart indexing and Massively Parallel Processing (MPP) to boost pruning and filtering.

GreptimeDB achieves 1 billion cold runs #1 in JSONBench! Read more benchmark reports.

Elastic Scaling with Kubernetes

Built from the ground up for Kubernetes, GreptimeDB features a disaggregated storage and compute architecture that enables true elastic scaling:

  • Independent scaling of storage and compute resources
  • Unlimited horizontal scalability through Kubernetes
  • Resource isolation between different workloads (ingestion, querying, compaction)
  • Automatic failover and high availability

Unlike Thanos or Mimir, which require multiple stateful components (ingesters with persistent disks, store-gateways, compactors) to achieve scalability, GreptimeDB's architecture separates compute from storage at the core — data persists in object storage, compute nodes scale independently, with local disk serving as buffer/cache. WAL can be configured flexibly (local or distributed via Kafka). Scaling up means adding nodes; scaling down loses no data.

Storage/Compute Disaggregation, Compute/Compute separation

Flexible Architecture: From Edge to Cloud

The architecture of GreptimeDB

GreptimeDB's modularized architecture allows different components to operate independently or in unison as needed. Its flexible design supports a wide variety of deployment scenarios, from edge devices to cloud environments, while still using consistent APIs for operations. For example:

  • Frontend, datanode, and metasrv can be merged into a standalone binary
  • Components like WAL or indexing can be enabled or disabled per table

This flexibility ensures that GreptimeDB meets deployment requirements for edge-to-cloud solutions, like the Edge-Cloud Integrated Solution.

From embedded and standalone deployments to cloud-native clusters, GreptimeDB adapts to various environments easily.

Easy to Integrate

GreptimeDB supports PromQL, Prometheus remote write, OpenTelemetry, Jaeger, Loki, Elasticsearch, MySQL, and PostgreSQL protocols — migrate from your existing stack without rewriting queries or pipelines. Query with SQL or PromQL, visualize with Grafana.

The combination of SQL and PromQL means GreptimeDB can replace the classic "Prometheus + data warehouse" combo — use PromQL for real-time monitoring and alerting, SQL for deep analytics, joins, and aggregations, all in one system. GreptimeDB also supports a multi-value model, where a single row can contain multiple field columns, reducing transfer traffic and simplifying queries compared to single-value models.

Beyond querying, SQL is also GreptimeDB's management interface — create tables, manage schemas, set TTL policies, and configure indexes, all through standard SQL. No proprietary config files, no custom APIs, no YAML-driven control planes. This is a key operational difference from systems like Prometheus (configured via YAML + relabeling rules), Loki (LogQL + config files), or Elasticsearch (REST API + JSON mappings). Teams with SQL skills can manage GreptimeDB without learning new tooling.

How GreptimeDB Compares

The following comparison is based on general architectural characteristics and typical deployment scenarios:

GreptimeDBPrometheus / Thanos / MimirGrafana LokiElasticsearch
Data typesMetrics, logs, tracesMetrics onlyLogs onlyLogs, traces
Query languageSQL + PromQLPromQLLogQLQuery DSL
StorageNative object storage (S3, etc.)Local disk + object storage (Thanos/Mimir), ingester requires persistent diskObject storage (chunks)Local disk
ScalingCompute-storage separation, compute nodes scale independentlyFederation / Thanos / Mimir — multi-component, ops heavyStateless + object storageShard-based, ops heavy
Cost efficiencyUp to 50x lower storageHigh at scaleModerateHigh (inverted index overhead)
OpenTelemetryNative (metrics + logs + traces)Partial (metrics only)Partial (logs only)Via instrumentation
ManagementStandard SQL (DDL, TTL, indexes)YAML config + relabeling rulesYAML config + LogQLREST API + JSON mappings

For more details, explore: