Time-Series Database (TSDB) là database tối ưu riêng cho dữ liệu gắn timestamp — metrics, số đo cảm biến, tick giá, log, dữ liệu IoT.
Đặc thù của loại dữ liệu này: ghi rất nhiều và liên tục, data cũ ít khi bị query lại, hay tổng hợp theo cửa sổ thời gian (avg, sum, min/max trong một khoảng), và cần retention policy tự xoá data cũ.
Vì sao RDBMS đuối: index B-Tree không hiệu quả với kiểu ghi tuần tự theo thời gian, và bạn phải tự tay partition rồi archive data cũ.
TSDB tối ưu bằng: columnar storage (nén cùng một metric tới 10-100 lần), partition theo thời gian có sẵn, downsampling để giảm độ phân giải của data cũ, và các hàm tổng hợp được viết riêng.
Các lựa chọn:
- InfluxDB — phổ biến nhất, có InfluxQL/Flux và retention policy tích hợp.
- TimescaleDB — extension của PostgreSQL nên vẫn viết SQL quen thuộc, hypertable tự partition.
- Prometheus + Grafana — bộ tiêu chuẩn cho monitoring hạ tầng.
- Cassandra — hay được dùng cho time-series ở quy mô rất lớn, kiểu IoT.
Thực tế Datadog và New Relic đều chạy trên nền TSDB để lưu metrics ứng dụng.