时间序列数据的存储和计算 - 开源时序数据库解析(三)
时间序列数据的存储和计算 - 开源时序数据库解析(三)
小虾米DYX 发表于4个月前
时间序列数据的存储和计算 - 开源时序数据库解析(三)
  • 发表于 4个月前
  • 阅读 36
  • 收藏 1
  • 点赞 0
  • 评论 0
摘要: InfluxDB在DB-Engines的时序数据库类别里排名第一,实至名归,从它的功能丰富性、易用性以及底层实现来看,都有很多的亮点,值得大篇幅来分析。

点击查看全文

InfluxDB

  InfluxDB在DB-Engines的时序数据库类别里排名第一,实至名归,从它的功能丰富性、易用性以及底层实现来看,都有很多的亮点,值得大篇幅来分析。

  首先简单归纳下它的几个比较重要的特性:

  1. 极简架构:单机版的InfluxDB只需要安装一个binary,即可运行使用,完全没有任何的外部依赖。相比来看几个反面例子,OpenTSDB底层是HBase,拖家带口就得带上ZooKeeper、HDFS等,如果你不熟悉Hadoop技术栈,一般运维起来是有一定的难度,这也是其被人抱怨最多的一个点。KairosDB稍微好点,它依赖Cassandra和ZooKeeper,单机测试可以使用H2。总的来说,依赖一个外部的分布式数据库的TSDB,在架构上会比完全自包含的TSDB复杂一点,毕竟一个成熟的分布式数据库本身就很复杂,当然这一点在云计算这个时代已经完全消除。 2.** TSM Engine**:底层采用自研的TSM存储引擎,TSM也是基于LSM的思想,提供极强的写能力以及高压缩率,在后面的章节会对其做一个比较详细的分析。
  2. InfluxQL:提供SQL-Like的查询语言,极大的方便了使用,数据库在易用性上演进的终极目标都是提供Query Language。
  3. Continuous Queries: 通过CQ能够支持auto-rollup和pre-aggregation,对常见的查询操作可以通过CQ来预计算加速查询。
  4. TimeSeries Index: 对Tags会进行索引,提供高效的检索。这一项功能,对比OpenTSDB和KairosDB等,在Tags检索的效率上提升了不少。OpenTSDB在Tags检索上做了不少的查询优化,但是受限于HBase的功能和数据模型,所以然并卵。不过目前稳定版中的实现采用的是memory-based index的实现方式,这种方案在实现上比较简单,查询上效率最高,但是带来了不少的问题,在下面的章节会详细描述。
  5. Plugin Support: 支持自定义插件,能够扩展到兼容多种协议,如Graphite、collectd和OpenTSDB。

  在下面的章节,会主要对其基本概念、TSM存储引擎、Continuous Queries以及TimeSeries Index做详细的解析。

 

 

点击查看全文

共有 人打赏支持
粉丝 0
博文 113
码字总数 0
×
小虾米DYX
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: