type
status
date
slug
summary
tags
category
icon
password
😀
本文由之前写的 《Prometheus》 衍生而来

🕰 基于时间

对于采集频率快、采集依赖时间维度、测量点庞大的数据存储结构有一种比较成熟的解决方案,对于这系列的数据格式称为 基于时间序列数据。
 
而针对这部分数据特性,关系型数据库又不再满足,转而出现了针对性时间序列数据存储的数据库。
 
基本需要满足的特点有:
  • 根据时间序列快速写入
  • 持久化
  • 多维度聚合查询
  • 精确到毫秒
  • 不需要转换步骤存储数据和写入一致
  • 永久保留原始数据
 
 
OpenTSDB是TSD和实用命令组成的,独立且没有master、不共享状态。
底层是通过HBase在存储数据,必须先有HBase环境
 

💡核心概念

 
  • Metric 监控项/指标
  • Tags 维度/标签
  • Value 值
  • Timestamp 时间戳
  • DataPoint 某个Metric在某个时间点的数值
    • 格式例如: Timestamp-Tags-Metric-Value
 
 

🤗 总结归纳

OpenTSDB不适合超大数据量,在千万级、亿级中提取几万条数据,比如某个指标半年内的5分钟级别的数据,还是很快响应的。但如果再提取多点数据,几十万,百万这样的量级,又或者提取后再做个聚合运算,OpenTSDB 就勉为其难,实际使用的时候用作服务端机器的监控无任何问题,如果作为客户端APP监控,响应就比较迟缓。
 
TIPS: 如果需要支持特大批量时序数据,建议使用Druid或InfluxDB,其中InfluxDB是最易用的时序数据库。

📎 参考文章

 
关于软件研发中架构的思考(2)读《高性能MySQL》—— 索引章节的应用思考
  • GitTalk
2021-2025 guozichun.

BLOG | Father, Husband, Developer