时序数据库知识体系概览
问题
什么是时序数据库?为什么不用 MySQL 存储时序数据?
答案
什么是时序数据库
时序数据库(TSDB, Time Series Database)是专门为按时间顺序记录的数据而优化的数据库。时序数据的典型特征:
- 写入密集:持续高频写入,很少修改或删除
- 时间有序:每条记录都带有时间戳
- 数据过期:历史数据可以按策略自动淘汰或降采样
- 聚合查询:主要查询模式是时间范围 + 聚合(AVG、MAX、SUM)
典型场景
| 场景 | 示例数据 |
|---|---|
| 基础设施监控 | CPU、内存、磁盘使用率 |
| 应用性能监控 | 请求延迟、QPS、错误率 |
| IoT 传感器 | 温度、湿度、GPS 位置 |
| 金融数据 | 股票价格、交易量 |
| 日志分析 | 访问日志、错误日志统计 |
为什么不用 MySQL
| 对比 | MySQL | 时序数据库 |
|---|---|---|
| 写入性能 | 数万/秒 | 数百万/秒 |
| 存储压缩 | 低(通用存储) | 极高(列式 + 时间压缩) |
| 聚合查询 | 慢(逐行扫描) | 快(预聚合 + 列式计算) |
| 数据过期 | 手动删除 | 自动 TTL |
| 降采样 | 不支持 | 原生支持 |
本分类文档导航
| 文档 | 核心内容 | 面试重点 |
|---|---|---|
| 时序数据库原理 | 数据模型、存储引擎、压缩 | ⭐⭐⭐⭐ |
| InfluxDB | InfluxDB 架构与使用 | ⭐⭐⭐⭐ |
| TimescaleDB | 基于 PostgreSQL 的时序扩展 | ⭐⭐⭐ |
相关链接
- Elasticsearch
- Prometheus 监控