InfluxDB为什么能成为排名第一的时序数据库?其一致性实现相比于其他时序数据库究竟有什么样的奥秘?本篇文章通过介绍常用时序数据库的一致性实现、业界通用的一致性实现,InfluxDB企业版的一致性实现来尝试解释这些问题。
一、时序数据库介绍
首先简单回顾下时序数据库,他是存储时序数据的数据库,比如按照时间顺序记录系统、设备状态变化等的数据,其应用场景主要来自监控,业务监控,性能监控,系统监控。常用时序数据库如下:
该图展示了时序数据库的搜索排行榜,可以看到influxdb是远大于第二名的,InfluxDB,在业界也有很多厂商在使用,包括ebay、IBM、CITRIX等。
在详细介绍InfluxDB企业版的一致性实现之前,我们先来看看其他时序数据库是怎么实现一致性的。
(1)OpenTSDB,其基于HBase实现,数据一致性实现依赖于HDFS,如下图所示
其数据的同步是按照pipeline一级一级往下写,全部写好以后再返回。
可见其同步效率并不高,需要将数据都同步到其他节点,才算写完成。
(2)Prometheus,他是一套带有时序数据库的监控系统,其并没有提供数据一致性实现。</