OpenTSDB
By OpenTSDB contributors
OpenTSDB is an open-source, distributed time-series database that stores and serves metrics at scale by running on top of Apache HBase (or Google Bigtable), inheriting HBase's horizontal scalability to handle very high volumes of…
Definition
OpenTSDB is an open-source, distributed time-series database that stores and serves metrics at scale by running on top of Apache HBase (or Google Bigtable), inheriting HBase's horizontal scalability to handle very high volumes of time-stamped data points. It is designed for infrastructure and application monitoring use cases where millions of metrics are written continuously and later queried for dashboards, alerting, and historical analysis.
Overview
Monitoring large infrastructure fleets generates an enormous, ever-growing stream of numeric metrics tagged with metadata such as host, service, or region, and traditional relational databases struggle to ingest and query that volume efficiently over long retention periods. OpenTSDB was created to solve this by building a time-series-specific data model directly on top of a proven distributed storage engine rather than writing a new storage layer from scratch. Mechanically, OpenTSDB does not implement its own storage; it stores time-series data as rows in HBase (or Bigtable), using a schema that groups data points by metric name, tags, and time buckets so that range scans over a time window are efficient. A separate component called the TSD (time series daemon) handles ingestion and query serving, translating OpenTSDB's HTTP API and query language into the underlying HBase row operations, while tag-based indexing allows filtering by dimensions like host or datacenter without full scans. Among time-series databases, OpenTSDB is notable for explicitly depending on HBase rather than shipping a self-contained storage engine, which distinguishes it from purpose-built systems like InfluxDB or TimescaleDB that manage their own storage internally. This gives OpenTSDB HBase's proven horizontal scalability and operational tooling, but it also means running OpenTSDB well requires operating (or already operating) an HBase or Bigtable cluster, which is a heavier dependency than a standalone time-series database. In practice, OpenTSDB has been used at organizations with large existing Hadoop or HBase deployments to collect and query infrastructure and application metrics, often feeding dashboards built in Grafana and receiving data from collection agents like collectd or StatsD via bridges. Its tag-based model maps naturally onto monitoring dimensions such as service, host, and environment. The main trade-off is operational: OpenTSDB inherits the strengths of HBase, but also its complexity, so teams without an existing HBase or Bigtable investment usually find purpose-built time-series databases faster to deploy and operate for equivalent workloads. Capacity planning for OpenTSDB effectively means capacity planning for the underlying HBase cluster, including region splitting behavior and compaction tuning, which requires HBase operational expertise on the team rather than expertise limited to metrics collection alone. Query performance also depends heavily on how well the row-key schema matches actual query patterns, so poorly chosen tag cardinality can degrade scan performance in ways that are harder to fix after data has already been written at scale. Because the schema is effectively fixed by how the row keys were designed at ingestion time, teams adopting OpenTSDB benefit from modeling their expected query patterns carefully up front rather than treating the tagging scheme as something to refine casually later on.
Key Features
- Built on Apache HBase or Google Bigtable for distributed storage
- Tag-based data model for filtering metrics by dimension
- TSD daemon handles ingestion and HTTP query serving
- Designed to scale horizontally with underlying HBase clusters
- HTTP API and query language for time-range metric retrieval
- Commonly paired with Grafana for dashboarding
- Suited to organizations with existing Hadoop/HBase infrastructure