InfluxDB是什么

子凡问答2019-08-06 15:37:59阅读(...)

InfluxDB是一个由InfluxData开发的开源时序型数据库,由Go写成,着力于高性能地查询与存储时序型数据。InfluxDB被广泛应用于存储系统的监控数据,IoT行业的实时数据等场景。

InfluxDB 是一个由 InfluxData 开发的开源时序型数据库,由 Go 写成,着力于高性能地查询与存储时序型数据。InfluxDB 被广泛应用于存储系统的监控数据,IoT 行业的实时数据等场景。

InfluxDB

历史

Errplane 公司在 2013 年下半年开始以开源项目的形式开始了 InfluxDB 的开发。其目的是为了提供一个高性能的监控以及告警的解决方案。在 2014 年 11 月,Errplane 获得了由梅菲尔德风险投资公司与 Trinity Ventures 领投的 A 轮投资,金额高达 810 万美元。在次年的 2015 年,Errplane 正式更名为 InfluxData Inc.,而更名后的 InfluxData 又分别于 2016 年 9 月,2018 年 2 月获得了金额高达 1600 万美元和 3500 万美元的 B 轮,C 轮投资。

技术概览

    • InfluxDB 在技术实现上充分利用了 Go 语言的特性,无需任何外部依赖即可独立部署。
    • InfluxDB 提供了一个类似于 SQL 的查询语言并且一系列内置函数方便用户进行数据查询。
    • InfluxDB 存储的数据从逻辑上由 Measurement, tag 组以及 field 组以及一个时间戳组成的:
      • Measurement: 由一个字符串表示该条记录对应的含义。比如它可以是监控数据”cpu_load”,也可以是测量数据”average_temperature”
      • tag 组: 由一组键值对组成,表示的是该条记录的一系列属性信息。同样的 measurement 数据所拥有的 tag 组不一定相同,它是无模式的(Schema-free)。tag 信息是默认被索引的。
      • field 组:也是由一组键值对组成,表示的是该条记录具体的 value 信息(有名称)。field 组中可定义的 value 类型包括:64 位整型,64 位浮点型,字符串以及布尔型。Field 信息是无法被索引的。
      • 时间戳:就是该条记录的时间属性。如果插入数据时没有明确指定时间戳,则默认存储在数据库中的时间戳则为该条记录的入库时间。
  • InfluxDB 支持基于 HTTP 的数据插入与查询。同时也接受直接基于 TCP 或 UDP 协议的连接
  • InfluxDB 允许用户定义数据保存策略(Retention Policies)来实现对存储超过指定时间的数据进行删除或者降采样。

闭源的集群组件

在向 InfluxDB 开源社区贡献了一个名为 InfluxDB-Relay 的高可用套件后。2016 年 3 月,InfluxData 宣布他们会将用于支撑 InfluxDB 集群水平扩展的组件作为闭源产品单独销售,从而为 InfluxDB 的持续开发建立一个稳定的收入来源。

收藏0个人收藏
走进科技生活方式

评论交流

泪雪默认头像请「登录」后参与评论
  1. 加载中..