📊 监控指标系统该选什么数据库

时序数据有专门的数据库,通用数据库扛不住

指标系统数据库选型

监控指标收集系统的数据库选型,这是系统设计面试的经典问题 👇

📌 数据访问模式

  • 写负载很重:每天数百万运维指标,高频采集
  • 读负载有突发性:可视化和告警服务的查询量不稳定

📌 为什么不用MySQL?

  • 关系型数据库没有针对时序数据优化
  • 滑动窗口计算移动平均值需要复杂SQL
  • 标签/标记需要为每个标签建索引
  • 持续高写入负载下性能不佳

📌 为什么不用NoSQL?

  • Cassandra、Bigtable理论上可以,但需要深入了解内部机制才能设计出可扩展的schema
  • 有现成的时序数据库,没必要折腾

📌 正确选择:时序数据库(TSDB)

  • InfluxDB、TimescaleDB、Prometheus等
  • 专门为时序数据优化,写入快、查询高效

💡 选数据库要看数据特征和访问模式,不要用通用数据库硬扛专业场景。


#数据库 #监控 #时序数据库 #系统设计 #程序员 #后端开发 #技术干货