influxdb入门

influxdb入门了解 influxdb 参考 https www cnblogs com wzbk p 10569683 html1 数据格式在 InfluxDB 中 我们可以粗略的将要存入的一条数据看作一个虚拟的 key 和其对应的 value fieldvalue 虚拟的 key 包括以下几个部分 database retentionpol measurement tagsets fieldname timestamp database 数据库名 在 InfluxDB 中可以创建多

了解influxdb

database: 数据库名,在 InfluxDB 中可以创建多个数据库,不同数据库中的数据文件是隔离存放的,存放在磁盘上的不同目录。
retention policy: 存储策略,用于设置数据保留的时间,每个数据库刚开始会自动创建一个默认的存储策略 autogen,数据保留时间为永久,之后用户可以自己设置,例如保留最近2小时的数据。插入和查询数据时如果不指定存储策略,则使用默认存储策略,且默认存储策略可以修改。InfluxDB 会定期清除过期的数据。
measurement: 测量指标名,例如 cpu_usage 表示 cpu 的使用率。InfluxDB数据结果中的一部分,描述了存在关联field中的数据的意义,measurement是字符串。
timestamp: 每一条数据都需要指定一个时间戳,在 TSM 存储引擎中会特殊对待,以为了优化后续的查询操作。






tag sets: 数据点上tag key和tag value的集合。tags 在 InfluxDB 中会按照字典序排序,不管是 tagk 还是 tagv,只要不一致就分别属于两个 key,例如 host=server01,region=us-west 和 host=server02,region=us-west 就是两个不同的 tag set。
tag InfluxDB数据结构中的键值对,tags在InfluxDB的数据中是可选的,但是它们可用于存储常用的metadata。在InfluxDB中,tag是一个非常重要的部分,表名+tag一起作为数据库的索引,是“key-value”的形式。
tag key 组成tag的键值对中的键部分,tag key是字符串,存在metadata中。
tag set数据点上tag key和tag value的集合。






user 在InfluxDB里有两种类型的用户:
admin用户对所有数据库都有读写权限,并且有管理查询和管理用户的全部权限。
非admin用户有针对database的可读,可写或者二者兼有的权限。
当认证开启之后,InfluxDB只执行使用有效的用户名和密码发送的HTTP请求。






wal(Write Ahead Log)
最近写的点数的临时缓存。为了减少访问永久存储文件的频率,InfluxDB将最新的数据点缓冲进WAL中,直到其总大小或时间触发然后flush到长久的存储空间。这样可以有效地将写入batch处理到TSM中。
可以查询WAL中的点,并且系统重启后仍然保留。在进程开始时,在系统接受新的写入之前,WAL中的所有点都必须flushed。




2、与传统数据库中的名词做比较

influxDB中的名词 传统数据库中的概念
database 数据库
measurement 数据库中的表
points 表里面的一行数据
tag 相当于有索引的列
field 相当于没有索引的列

3、Point

Point由时间戳(time)、数据(field)、标签(tags)组成。

4、Series

Series 相当于是 InfluxDB 中一些数据的集合,在同一个 database 中,retention policy、measurement、tag sets 完全相同的数据同属于一个 series,同一个 series 的数据在物理上会按照时间顺序排列存储在一起

5、Shard

Shard 在 InfluxDB 中是一个比较重要的概念,它和 retention policy 相关联。每一个存储策略下会存在许多 shard,每一个 shard 存储一个指定时间段内的数据,并且不重复,例如 7点-8点 的数据落入 shard0 中,8点-9点的数据则落入 shard1 中。每一个 shard 都对应一个底层的 tsm 存储引擎,有独立的 cache、wal、tsm file。

安装使用influxdb

下载安装influxdb: 下载链接https://portal.influxdata.com/downloads/
分别有influxdb四大组件TICK
T(Telegraf):服务监控数据采集,包括服务器CPU、内存、IO、进程状态、服务状态等等;
I(InfluxDB):时序型数据库,存储Telegraf采集的监控数据,每条数据都会有time序列;
C(Chronograf):时间序列数据可视化展示,InfluxDB UI界面;
K(Kapacitor):可以按照预先编写好的规则,实时地订阅influxDB数据或者批量查询数据,并进行告警。
在这里插入图片描述












选择zip文件免安装。

启动influxdb: influxdb下载解压完成后,打开influxd.exe,再打开influx.exe,成功启动。

启动influxdb UI(chronograf) 启动完influxdb后,直接打开chronograf.exe。根据显示的端口号打开本地的UI网页。

简易中文文档:https://jasper-zhang1.gitbooks.io/influxdb/content/Guide/querying_data.html

influxdb sql

建表
CREATE DATABASE "test"

插入数据

注意: 在influxdb中没有专门用来创建measurement的命令,在执行向某个measurement新增记录的时候,如果不存在measurement,则会新创建一个。

//选定数据库 use test //基本插入语法 insert measurement,tagkey1=tagvalue1,tagkey2=tagvalue2 fieldkey1=fieldvalue1,fieldkey2=fieldvalue2 // 同类型之间用逗号隔开,先输入的是tag,tag和field用空格隔开。tag有索引,field无索引 //下面的insert语句中,tag是id,field是heartRate和SPO2H insert runner,id=10001 heartRate=210,SPO2H=97 

查询数据

//时间戳输出格式设定为rfc3339 precision rfc3339 //基本查询语法 SELECT <field_key>[,<field_key>,<tag_key>] FROM <measurement_name>[,<measurement_name>] //全部查询 select * from measurement //单独查询 select "fieldKey"::field, "tagKey"::tag from measurement; 

举例:(两条数据举例)

> select * from "runner" name: runner time SPO2H heartRate id ---- ----- --------- -- 2020-08-26T01:45:43.Z 99 108 10001 2020-08-26T01:46:18.Z 97 210 10001 > select "heartRate"::field, "id"::tag from runner; name: runner time heartRate id ---- --------- -- 2020-08-26T01:45:43.Z 108 10001 2020-08-26T01:46:18.Z 210 10001 > select "heartRate", "id" from runner; name: runner time heartRate id ---- --------- -- 2020-08-26T01:45:43.Z 108 10001 2020-08-26T01:46:18.Z 210 10001 

按条件查询

//where 查询分tag和field tag列为字符串,所以在使用是一定要加上单引号 field如果是数字则不用 > select * from "runner" where id='10002' name: runner time SPO2H heartRate id ---- ----- --------- -- 2020-08-26T02:59:10.Z 100 110 10002 > select * from "runner" where heartRate=108 name: runner time SPO2H heartRate id ---- ----- --------- -- 2020-08-26T01:45:43.Z 99 108 10001 

删除
删除操作不推荐在时序型数据库中使用。修改操作同理,因此不再介绍修改操作

> delete from "measurement" where time= > 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/228204.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月16日 下午7:34
下一篇 2026年3月16日 下午7:34


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号