引用:
http://liubin.org/blog/2016/02/18/tsdb-intro/
https://www.xaprb.com/blog/2014/06/08/time-series-database-requirements/
http://jmoiron.net/blog/thoughts-on-timeseries-databases
DB-Engines:
https://db-engines.com/en/ranking/time+series+dbms
Graphite vs. InfluxDB vs. Kdb+ vs. OpenTSDB vs. RRDtool vs. Druid
https://db-engines.com/en/system/RRDtool%3BInfluxDB%3BKdb%2B%3BOpenTSDB%3BGraphitemysql
定义:时序列数据库用来存储时序列(time-series)数据并以时间(点或区间)创建索引的软件。web
定义:
- 能够惟一标识的序列名/ID
- 一组数据点{timestamp, value}
特色:
- 数据结构简单:某一指标在单位时间点只有一个值,没有复杂(嵌套,层次等)结构和(关联,主外键等)关系。
- 数据量大sql
读取优化: 1.以写性能优先,不为读取作存储优化,可是经过分布式和并发读,来提升读取的速度 2.区块的写。在写入的时候就考虑到读的性能问题,将统一指标、时间段的数据写入到同一数据块中,为读取进行写入优化
TSDB的数据是用来分析的,因此TSDB还会提供作数据分析所必须的各类运算、变换函数。数据库
选取以下典型的数据库进行分析:
Graphite vs. InfluxDB vs. Kdb+ vs. OpenTSDB vs. RRDtool vs. Druidapi
进行对比的指标以下:缓存
指标 | 1# InfluxDB | 3# RRDtool | 4# Graphite | 5# OpenTSDB | 6# Prometheus | 7# Druid |
---|---|---|---|---|---|---|
主导公司 | InfluxData | Tobias Oetiker | graphiteapp | OpenTSDB | Prometheus | druid |
License | Open Source/MIT/free single machine | Open Source/GPL V2 and FLOSS | Open Source/Apache 2.0 | Open Source/LGPL | Open Source/Apache 2.0 | Open Source/Apache 2.0 |
技术栈 | Go | C | Python | Java | Go | Java |
存储方案 | KV方式(LevelDB, RocksDB, HyperLevelDB, LMDB) | RRD(Round- Robin Database)环型数据库 | Whisper (基于RRD) | HBase | KV方式(LevelDB) | 列存储方式 |
性能(须要手工测试) | 测试单机版的边界 | RRDtool | Graphite | OpenTSDB | Prometheus | Druid |
集群功能 | 支持(收费) | 不支持(不须要) | 支持(难扩展) | 支持(易扩展) | 支持 | 支持 |
API | HTTP API/JSON over UDP | Pipe | HTTP API/Sockets | HTTP API/Telnet API | RESTful HTTP/JSON API | JSON over UDP |
SQL-like | 支持 | 不支持 | 不支持 | 不支持 | 不支持 | 支持 |
可视化和报警 | 只负责存储 | 存储和绘图 | 存储&自带UI | 存储 | 监控&报警&存储 | 存储&生态好 |
多租户支持 | 支持 | 不支持 | 支持 | 不支持 | 不支持 | 支持 |
保留策略 | 删除指定时间外的数据 | 循环删除 | 同rrdtool | OpenTSDB | Prometheus | Druid |
安全性 | InfluxDB | RRDtool | Graphite | OpenTSDB | Prometheus | Druid |
特性功能 | InfluxDB | RRDtool | Graphite | OpenTSDB | Prometheus | Druid |
https://db-engines.com/en/system/Graphite%3BInfluxDB%3BRRDtool
https://db-engines.com/en/system/Druid%3BOpenTSDB%3BPrometheus