时间序列数据库

时间序列数据库调研报告

TimeSeries

  • 一个时间序列一系列数值,每个数值都伴随着一个时间值,代表数据被记录时的时间。
  • 时间序列数据存入后就很少再需要修改了,查询时经常是查询一个连续时间段的数据,也可能查询汇总或者聚合后的数据。
  • 时间序列数据库是一种储存多个时间序列的方式,在其中检索一个或几个时间序列的某一个特定时间段的数据是特别高效的。

RDBMS

  • 时间序列数据存放到事实表(fact table): 时间,序列ID,数值
  • 序列的细节存放在维度表(dimension table): 数值的含义
  • 每次测量都使用一行数据来存储, 即一个数据点一行记录

ts_fact

宽表

  • 一行存储多个数据点,同一行的多个列在磁盘上按照时间顺序连续存储的
  • 每个时间窗口的采样点要足够富裕,比如设计time-window的start-time为每一分钟.如果一秒钟一行,还是会扫描很多行的

ts_wide

  • 可以对一行的所有列数据压缩成blob,减少从磁盘读取的数据量

ts_compress

  • 压缩操作可以放在Cache层,并周期性写到存储层(内存). 而不是从宽表提取数据再压缩(磁盘)
  • 完整的数据流只写入到内存中, 数据在压缩成blob之前不会被写入到数据库

ts_cache

Ref


文章目录
  1. 1. TimeSeries
    1. 1.1. RDBMS
    2. 1.2. 宽表
  2. 2. Ref