时序数据: 按照时间顺序记录的数据,比如:CPU 利用率、某一时间的环境温度等。
特点: 数据量很大,海量数据,时序数据主要来自监控
常见开源产品
- OpenTSDB, opentsdb.net
- KairosDB, kairosdb.github.io
- Prometheus, prometheus.io/
- InfluxDB, www.influxdata.com
- Graphite, graphiteapp.org
InfluxDB
InfluxDB 由 META 节点和 DATA 节点 2 个逻辑单元组成,这两个节点是 2 个单独的程序
- META 节点
- 存储内容:存放的是系统运行的关键元信息,比如数据库(Database)、表(Measurement)、保留策略(Retention policy)等。
- 特点:一致性敏感,但读写访问量不高,需要一定的容错能力
- 一致性:Raft 算法
- 节点数的多少代表的是容错能力,一般3个节点,能容忍一个节点故障即可
- DATA 节点
- 存储内容:具体的时序数据
- 特点:最终一致性、面向业务、性能越高越好,除了容错,还需要实现水平扩展,扩展集群的读写性能。
- 一致性:
- 自定义副本数
- Hinted-handoff
- 反熵
- Quorum NWR
- 节点数的多少代表了读写性能
- 一般在一定数量以内(比如10个节点)越多越好,因为节点数越多读写性能也越高,
- 但是节点数太多也不行,因为查询时会出现访问节点数过多而延迟大的问题