influxdb的基本概念

  • influxdb的介绍

InfluxDB是领先的开源时间序列数据库(TSDB)。

InfluxDB使用Go语言编写,适用于各类时间序列数据的高效存储与检索。

InfluxDB的特点:

  1. 每条记录都必须有时间戳字段(不设置会自动生成,类似关系型数据库的主键)
  2. 提供海量数据的写入和读取能力
  3. 提供针对时序的聚合函数,方便查询数据的聚合
  4. 它天生就是为特定场景业务而生的;主要针对那些写多读少、大量数据写入需求、按时间维度进行聚合查询的业务场景,比如:数据监控
  5. 配合Telegraf服务(Telegraf可以监控系统CPU、内存、网络等数据)
  6. 配合Grafana服务(数据展现的图像界面,将influxdb中的数据可视化)

 

  • influxdb中的database、measurement、point介绍

database:数据库,等同MySQL等关系型数据库中的数据库database

measurement:数据表,相当于关系型数据库中的表table

point:数据点,表示单条数据记录,相当于关系型数据库中的一行数据row

retention policy(保留策略):单个measurement可以有不同的retention policy,measurement默认有一个autogen的保留策略。influxdb没有删除数据操作,规定数据的保留时间达到清除数据的目的

 

  • point的介绍

point由时间戳(time)、数据(field)、标签(tags)三类字段组成

time:代表每条数据的时间字段,是measurement中的数据主键,因此time字段具有索引属性。一条point只能有一个time

field:代表各种数据的字段,例如气温、压力、股价等。field字段没有索引属性,一条point可以包括多个field

tag:代表各类非数据字段,例如设备编码、地区、姓名等。tag字段有索引属性,一条point可以包括多个tag(tag只能为字符串类型)

 

  • 举例说明

两位科学家langstroth和perpetua于2015年8月18日在两个不同位置进行一项计算蝴蝶和蜜蜂数量的统计实验。假设他们使用同一个database,并使用同一个名为census的measurement录入数据。以下表示某一个point的样例数据:

其中time为time字段。butterflies和honeybees分别代表蝴蝶和蜜蜂的数量,因此他们是field字段。location和scientist代表科学家的位置和名字,因此他们是tag字段。

 

posted @ 2023-01-13 11:00  让我们荡起双桨!  阅读(887)  评论(0编辑  收藏  举报