Graphite vs Opentsdb
Two old-guard time-series databases for metrics. One is dead-simple and ubiquitous; the other is a heavyweight that demands HBase. Here's which one actually deserves your monitoring stack.
The short answer
Graphite over Opentsdb for most cases. Graphite wins because it gets you collecting and graphing metrics in an afternoon, plugs into every dashboard and alerting tool on earth, and doesn't drag a.
- Pick Graphite if want metrics flowing today, a massive ecosystem (Grafana, StatsD, collectd), and zero appetite for babysitting a distributed datastore
- Pick Opentsdb if genuinely have billions of datapoints, already run HBase/Hadoop in production, and need arbitrary tag-based queries at that scale
- Also consider: In 2026 both are legacy. If you're greenfield, look hard at Prometheus, VictoriaMetrics, or TimescaleDB before adopting either.
— Nice Pick, opinionated tool recommendations
The Core Difference
Graphite is three small parts — carbon (ingest), whisper (a fixed-size RRD-style file format), and a rendering API. You point StatsD or collectd at it, and graphs appear. It's hierarchical: metrics are dotted paths like servers.web01.cpu. Simple, predictable, and it runs on a single box for most shops. OpenTSDB is a different animal: it's a daemon that stores metrics in HBase on top of HDFS, with a tag-based data model (metric + key/value tags) instead of rigid dot-paths. That tag model is genuinely more expressive — you can slice by host, datacenter, and service without exploding your namespace. But you pay for it by running a Hadoop stack. Graphite optimizes for getting started; OpenTSDB optimizes for not falling over at petabyte scale. Most teams are nowhere near the second problem and feel the first one daily.
Operations and Scaling
This is where OpenTSDB's bill comes due. Its scaling story is real — HBase shards horizontally, so OpenTSDB ingests millions of datapoints per second across a cluster. But you are now operating HBase, HDFS, ZooKeeper, and region servers, and that team-month-of-pain never ends. Graphite's classic weakness is whisper: every metric is a pre-allocated fixed file, so high-cardinality or millions of series chew disk and IOPS, and clustering carbon (carbon-relay, consistent hashing) is fiddly. The honest answer: Graphite scales fine into the hundreds of thousands of series with go-carbon or carbonapi, which is more than enough for most. You hit OpenTSDB-territory needs rarely, and when you do, you've usually outgrown both for something like VictoriaMetrics. Graphite fails gracefully and cheaply; OpenTSDB fails rarely but expensively to run.
Query Model and Ecosystem
Graphite's render API and its function library (summarize, derivative, movingAverage, asPercent) are a quiet superpower — decades of dashboards and tools speak Graphite natively. Grafana treats it as a first-class source. StatsD, collectd, Diamond, Telegraf all emit to it. That gravity is the real moat. OpenTSDB's tag-based queries are more flexible for ad-hoc filtering and aggregation across dimensions, which the dot-path model genuinely struggles with — high-cardinality tags are Graphite's Achilles heel. But OpenTSDB's tooling orbit is thin and its query UX is clunkier, and Grafana support, while present, is less loved. If your metrics are naturally multi-dimensional and you live in queries, OpenTSDB's model is the better fit. For everyone graphing CPU and request rates, Graphite's ecosystem wins by a mile.
The 2026 Reality
Be honest with yourself: both of these are sunset technology. Graphite is stable, maintained, and beloved but architecturally frozen — whisper is an RRD descendant in a Prometheus world. OpenTSDB is barely moving; the HBase tax has driven nearly everyone to alternatives. If you already run Graphite, keep it — it's reliable and the ecosystem is unmatched for classic monitoring. If you already run OpenTSDB on an existing Hadoop estate, fine, ride it out. But do not start a new project on either. Prometheus owns pull-based cloud-native monitoring, VictoriaMetrics gives you Graphite/Prometheus compatibility with vastly better scaling and operations, and TimescaleDB handles SQL-native time-series. The only reason to pick between these two today is inertia. Given that, Graphite is the one you'll resent less.
Quick Comparison
| Factor | Graphite | Opentsdb |
|---|---|---|
| Setup effort | Single box, running in an afternoon | Requires HBase/HDFS/ZooKeeper cluster |
| Data model | Rigid dotted hierarchy, weak on high cardinality | Flexible tag-based (metric + key/value) |
| Max scale | Hundreds of thousands of series comfortably | Billions of datapoints across a cluster |
| Ecosystem & tooling | Universal: Grafana, StatsD, collectd, Telegraf | Thin orbit, clunky query UX |
| Operational burden | Low; whisper IOPS is the main worry | High; you operate a full Hadoop stack forever |
The Verdict
Use Graphite if: You want metrics flowing today, a massive ecosystem (Grafana, StatsD, collectd), and zero appetite for babysitting a distributed datastore.
Use Opentsdb if: You genuinely have billions of datapoints, already run HBase/Hadoop in production, and need arbitrary tag-based queries at that scale.
Consider: In 2026 both are legacy. If you're greenfield, look hard at Prometheus, VictoriaMetrics, or TimescaleDB before adopting either.
Graphite vs Opentsdb: FAQ
Is Graphite or Opentsdb better?
Graphite is the Nice Pick. Graphite wins because it gets you collecting and graphing metrics in an afternoon, plugs into every dashboard and alerting tool on earth, and doesn't drag a Hadoop cluster into your life. OpenTSDB scales further on paper, but the operational tax of running HBase is a punishment most teams will regret.
When should you use Graphite?
You want metrics flowing today, a massive ecosystem (Grafana, StatsD, collectd), and zero appetite for babysitting a distributed datastore.
When should you use Opentsdb?
You genuinely have billions of datapoints, already run HBase/Hadoop in production, and need arbitrary tag-based queries at that scale.
What's the main difference between Graphite and Opentsdb?
Two old-guard time-series databases for metrics. One is dead-simple and ubiquitous; the other is a heavyweight that demands HBase. Here's which one actually deserves your monitoring stack.
How do Graphite and Opentsdb compare on setup effort?
Graphite: Single box, running in an afternoon. Opentsdb: Requires HBase/HDFS/ZooKeeper cluster. Graphite wins here.
Are there alternatives to consider beyond Graphite and Opentsdb?
In 2026 both are legacy. If you're greenfield, look hard at Prometheus, VictoriaMetrics, or TimescaleDB before adopting either.
Graphite wins because it gets you collecting and graphing metrics in an afternoon, plugs into every dashboard and alerting tool on earth, and doesn't drag a Hadoop cluster into your life. OpenTSDB scales further on paper, but the operational tax of running HBase is a punishment most teams will regret.
Related Comparisons
Disagree? nice@nicepick.dev