Time Series Database
Definition
Database optimized for storing and querying time-stamped data like sensor readings or metrics, ideal for monitoring and analytics applications.
Use Cases
- Netflix: Monitoring service and infrastructure metrics (time-stamped telemetry) to detect incidents and performance regressions. — Netflix has publicly described using time series monitoring systems (e.g., Atlas) to collect, aggregate, and query large volumes of metrics over time for alerting and dashboards. (Improved observability for microservices, faster detection of anomalies, and better operational reliability through near-real-time metric analysis.)
- Uber: Real-time monitoring of platform health and performance using high-cardinality time series metrics. — Uber has publicly discussed using M3, an open-source metrics platform designed for scalable time series storage and querying, to power monitoring and alerting. (Scalable metrics ingestion and querying to support large-scale operations, enabling faster troubleshooting and more reliable alerting.)
- GitHub: Tracking operational metrics over time to support reliability engineering and capacity planning. — GitHub has publicly shared using InfluxDB (a time series database) for storing and querying time-stamped metrics for monitoring and analysis. (Better visibility into system behavior over time and improved ability to diagnose issues using historical metric trends.)
Provider Equivalents
- AWS: Amazon Timestream
- Azure: Azure Data Explorer
- GCP: Cloud Bigtable
- OCI: OCI Streaming
Frequently Asked Questions
- What's the difference between a Time Series Database and a relational database (SQL)?
- A time series database is optimized for data that arrives with timestamps (like CPU usage every 10 seconds). It typically supports fast writes, time-based queries (last 15 minutes, hourly averages), retention policies, and downsampling. A relational database can store timestamps too, but it usually requires more manual indexing/partitioning and may be less efficient and more expensive at very high ingest rates or long retention periods for metrics.
- When should I use a Time Series Database?
- Use one when you have lots of time-stamped measurements and you frequently query by time ranges or need rollups (min/max/avg per minute/hour/day). Common cases include IoT sensor data, application and infrastructure metrics, industrial equipment telemetry, energy usage, and financial tick data. If your data is mostly transactional (orders, users) or you need complex joins across many entities, a relational database is often a better fit.
- How much does a Time Series Database cost?
- Cost depends on (1) ingest rate (writes per second), (2) data retention period, (3) storage tier (hot vs cold), (4) query frequency and complexity, and (5) compression/downsampling. Managed services often charge separately for writes, storage, and queries (for example, AWS Timestream pricing is based on ingested data, stored data, and queried data). You can reduce cost by setting retention policies, downsampling older data, and limiting high-cardinality dimensions.
Category: data
Difficulty: intermediate
Related Terms
See Also