✕

Join us for a virtual meetup on Zoom at 8 PM, July 31 (PDT) about using One Time Series Database for Both Metrics and Logs 👉🏻 Register Now

✕
Skip to content
About M3DB
M3DB is Uber's open-source, distributed time-series database designed for large-scale metrics storage and processing. Originally developed to power Uber's massive monitoring infrastructure, M3DB serves as Prometheus remote storage with 100% PromQL compatibility. It features a multi-component architecture including M3 Coordinator (Prometheus sidecar), M3 Query (distributed query engine), and M3 Aggregator (stream-based downsampling), all coordinated through etcd clustering. M3DB excels at handling billions of time series with proven production scalability.
GreptimeDB vs. M3DB
Feature/AspectGreptimeDBM3DB
Data ModelUnified Observability DatabaseDistributed Time-Series Database
Value ModelMulti-Value (supports complex data structures)Single-Value (Prometheus metrics)
Multi-model SupportMetrics, Logs & Traces in one databaseMetrics only (requires separate systems for logs/traces)
Query LanguagesSQL & PromQL (dual interface)PromQL (100% compatibility) & M3QL
Ingestion ProtocolsSQL
gRPC
InfluxDB Line Protocol
Prometheus Remote Storage
OpenTelemetry
HTTP API
Prometheus Remote Write
M3 Coordinator API
Carbon (Graphite)
Data RetentionFlexible TTL policies with tiered storageConfigurable retention with automatic expiration
Continuous AggregationBuilt-in SQL aggregation, Pipeline ETL engine & Flow streaming computationM3 Aggregator with stream-based downsampling
Deployment ComplexitySingle system deploymentMulti-component deployment (coordinator, query, aggregator)
Use CasesUnified observability, real-time analytics, IoT monitoring, edge computingLarge-scale Prometheus monitoring, metrics aggregation
ArchitectureCloud-native distributed with compute-storage separationMulti-component architecture (M3DB + M3 Coordinator + M3 Query + M3 Aggregator)
Storage FormatApache Parquet (columnar, compressed)M3TSZ compression (optimized Gorilla TSZ)
Storage ScalabilityObject storage integration with unlimited capacityDistributed storage with automatic sharding
High AvailabilityNative clustering with automatic failoverMulti-region deployment with quorum-based consistency
LicenseApache 2.0Apache 2.0
Written LanguageRust (memory safety, performance)Go (ecosystem compatibility)
Deployment OptionsSingle-node, cluster, Kubernetes-native, edge-to-cloud with unified APIMulti-component deployment with etcd coordination
Operational ComplexitySingle unified system with simplified Kubernetes operationsComplex multi-component operations

Join our community

Get the latest updates and discuss with other users.