Nâng CaoSystem Design iconSystem Design

Time-Series Database là gì? Khi nào cần dùng và các giải pháp phổ biến? (What is a Time-Series Database? When is it needed and what are popular solutions?)

Time-Series Database (TSDB) là database được tối ưu đặc biệt cho dữ liệu có timestamp – metrics, sensor readings, financial ticks, logs, IoT data.

  • Đặc điểm: write-heavy (liên tục insert new data points), dữ liệu cũ ít được query, aggregation theo time windows (avg, sum, min/max trong khoảng thời gian), data retention policies (tự động xóa data cũ).
  • Vì sao RDBMS không tốt cho time-series: index B-Tree không hiệu quả cho sequential time-based writes, phải manually partition và archive old data.
  • TSDB tối ưu qua: columnar storage (compress cùng metric đến 10-100x), time-based partitioning built-in, downsampling (giảm resolution của old data), optimized aggregation functions.
  • InfluxDB: phổ biến nhất, có InfluxQL/Flux query language, built-in retention policies.
  • TimescaleDB: extension của PostgreSQL, dùng được SQL quen thuộc, hypertables tự động partition.
  • Prometheus + Grafana: stack tiêu chuẩn cho infrastructure monitoring.
  • Cassandra: cũng thường dùng cho time-series ở scale rất lớn (IoT).
  • Use cases: application metrics (Datadog, New Relic dùng TSDB), stock prices, server monitoring, IoT sensor data.

Xem toàn bộ System Design cùng filter theo level & chủ đề con.

Mở danh sách System Design