InfluxDB数据库--入门篇

时序数据库 – InfluxDB

Time series database (TSDB) 时序数据库

  1. 时序数据库是一种随着时代演化,数据量大量增加的情况出现的数据库,时序数据库更像是之前的关系型数据库和非关系型数据库的结合体,时序数据库不需要严格的数据结构,时序数据库的一种 — influxDB使用的是类似于SQL 语句的操纵方式,且时序数据库与非关系型数据库都有很强的高并发能力。
  2. 时序数据库是基于时间进行存储的一种数据库,每一条数据中都有一个时间戳,因而这种数据库特别适合存储那些随着时间变化的数据,通过一些工具处理后,能够分析出数据随时间变化的趋势。
  3. 时序数据库相较关系型数据库的变化,底层的存储结构不同,关系型数据库使用的是B+ 树存储结构,而时序数据库使用的是LSM存储结构,能够带来很多好处,一大好处就是支持比关系型数据库甚至比NoSQL大得多的并发量,如下图
    InfluxDB数据库--入门篇
  4. 说了这么多,到底时序数据库的用处在哪里呢
    1. 时序数据库最开始应用的地方 – 工业制造,为了高效存储传感器传来的测量数据,监测各项环境变量
    2. IoT – 物联网,也就是每个设备都会有一个传感器,搭配上IPv6,每个设备都能传输数据到数据库
    3. 自动驾驶,与5G搭配,将自动驾驶的海量数据存储到时序数据库
    4. 监控,运维中对计算机基础设施的监控数据非常多,从网络,数据中心,集群,主机,虚拟机,存储等
    5. 金融,华尔街还专门开发时序数据库(DolphinDB)存储金融数据,为量化金融的分析统计助力
  5. 参考资料
    1. 十分钟看懂时序数据库
    2. WIKI 百科—时序数据库
  6. 时序数据库排名
  7. 时序数据库排名
时序数据库 优点 缺点
OpenTSDB Metric+Tags- 集群方案成熟(HBase)
写高效(LSM-Tress)
查询函数有限
依赖HBase
运维复杂- 聚合分析能力较弱
Graphite 提供丰富的函数支持 - 支持自动Downsample
对Grafana的支持最好 - 维护简单
Whisper存储 引擎IOPS高
Carbon组件CPU使用率高
聚合分析能力较弱
InfluxDB Metrics+Tags
部署简单、无依赖
实时数据Downsample
高效存储
开源版本没有集群功能
存在前后版本兼容问题
存储引擎在变化
Prometheus Metric + Tags
适用于容器监控
具有丰富的查询语言
维护简单
集成监控和报警功能
没有集群解决方案
聚合分析能力较弱
Druid 支持嵌套数据的列式存储 - 具有强大的多维聚合分析能力 - 实时高性能数据摄取 - 具有分布式容错框架 - 支持类SQL查询 一般不能查询原始数据
不适合维度基数特别高的场景
时间窗口限制了数据完整性
运维较复杂
ElasticSearch 支持嵌套数据的列式存储
支持全文检索
支持查询原始数据
灵活性高
社区活跃
扩展丰富
不支持分析字段的列式存储
对硬件资源要求高
集群维护较复杂
ClickHouse 具有强大的多维聚合分析能力
实时高性能数据读写
支持类SQL查询
提供丰富的函数支持
具有分布式容错框架
支持原始数据查询
适用于基数大的维度存储分析
比较年轻,扩张不够丰富,社区还不够活跃
不支持数据更新和删除
集群功能较弱
上一篇:容器资源需求、需求资源限制及HeapSter


下一篇:kubernetes监控和性能分析工具:heapster+influxdb+grafana