InfluxDB是什么,能用于哪些场景的数据存储和分析?

摘要:一、简介 -> 关注清哥聊技术公众号,了解更多技术文章 InfluxDB(时序数据库)influxdb是一个开源分布式时序、时间和指标数据库,使用 Go 语言编写,无需外部依赖。其设计目标是实现分布式和水平伸缩扩展,是
一、简介->关注清哥聊技术公众号,了解更多技术文章 InfluxDB(时序数据库)influxdb是一个开源分布式时序、时间和指标数据库,使用 Go 语言编写,无需外部依赖。其设计目标是实现分布式和水平伸缩扩展,是 InfluxData 的核心产品。常用的一种使用场景:监控数据统计,物联网传感器数据和实 时分析等的后端存储。每毫秒记录一下电脑内存的使用情况,然后就可以根据统计的数据,利用图形化界面(InfluxDB V1一般配合Grafana)制作内存使用情况的折线图;可以理解为按时间记录一些数据(常用的监控数据、埋点统计数据等),然 后制作图表做统计。 时间序列数据:从定义上来说,就是一串按时间维度索引的数据。 时序数据库(TSDB)特点: 持续高并发写入、无更新; 数据压缩存储; 低查询延时。 常见 TSDB:influxdb、opentsdb、timeScaladb、Druid 等。 influxdb 完整的上下游产业还包括:Chronograf、Telegraf、Kapacitor,其具体作用及关系如下: influxdb和其他时序数据库比较 二、同常见关系型数据库(MySQL)的基础概念对比 概念MySQLInfluxDB 数据库(同) database database 表(不同) table measurement 列(不同) column tag(带索引的,非必须)、field(不带索引)、timestemp(唯一主键) tag set:不同的每组tag key和tag value的集合; field set:每组field key和field value的集合; retention policy:数据存储策略(默认策略为autogen)InfluxDB没有删除数据操作,规定数据的保留时间达到清除数据的目的; series:共同retention policy,measurement和tag set的集合; 示例数据如下: 其中census是measurement,butterflies和honeybees是field key,location和scientist是tag key name: census ———————————— time butterflies honeybees location scientist 2015-08-18T00:00:00Z 12 23 1 langstroth 2015-08-18T00:00:00Z 1 30 1 perpetua 2015-08-18T00:06:00Z 11 28 1 langstroth 2015-08-18T00:06:00Z 11 28 2 langstroth    point的数据结构由时间戳(time)、标签(tags)、数据(fields)三部分组成,具体含义如下: point 属性含义 time 数据记录的时间,是主索引(自动生成) tags 各种有索引的属性 fields 各种value值(没有索引的属性) 此外,influxdb还有个特有的概念:series(一般由:retention policy, measurement, tagset就共同组成),其含义如下: 所有在数据库中的数据,都需要通过图表来展示,而这个series表示这个表里面的数据,可以在图表上画成几条线:通过tags排列组合算出来。
阅读全文