时序列数据库(Time series database)
用来存储时序列(time-series)数据并以时间(点或区间)建立索引
广泛应用于物联网(IoT)设备监控系统、企业能源管理系统(EMS)、生产安全监控系统和电力检测系统等行业场景
定义
1、唯一标识的序列名/ID(比如cpu.load.1)
2、一组数据点{timestamp, value}
特点:数据结构简单=某一度量指标在某一时间点只会有一个值 量大
TSDB 专为时序数据优化而设计的(这个作者主要介绍了opentsdb)
特点:
- 1、写95% > 读5% 顺序写 少更新 区块删除(很容易进行优化,比如可以按区块来分开存储到不同的文件)
- 2、顺序读 基数大
为了提高读取的响应时间,有两种策略:
一是以写性能优先,不为读取做存储优化,但是通过分布式和并发读,来提高读取的速度。
二就是在写入的时候就考虑到读的性能问题,将统一指标、时间段的数据写入到同一数据块中,为读取进行写入优化。 - 3、应该天生就要考虑到分布式和分区等特性,将存储和查询分发到不同的服务器,以支撑大规模的数据采集和查询请求
也应该是能扩展和自动失败切换 - 4、提供做数据分析所必须的各种运算、变换函数