当前位置:网站首页>InfluxDB语法
InfluxDB语法
2022-08-09 17:12:00 【_小笼包_】
目录
influxDB 时序数据库
时序数据库:
opentsdb 基于HBASE
TimeScaleDB 基于postgreSQL
KairosDB 基于Cassandra
通用数据库
kudu
CreateDB 基于ElasticSearch
InfluxDB是一个由InfluxData开发的开源时序型数据库,它由
Go语言写成,着力于高性能地查询与存储时序型数据。InfkuxDB被广
泛应用与存储系统的监控数据,loT行业的实时数据等场景。
InfluxDB有如下三大特性:
* 基于时间序列
* 可度量性
* 基于事件
InfluxDB数据模型
Measurement(表)
Tags(维度列)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-APXDkWkX-1659933382527)(influxDB_files/1.jpg)]
device = dev1 building = b1
device = dev2 building = b1
device = dev2 building = b2
device = dev1 building = b2
类似于主键,不唯一
Field 数值列
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BmmsK6um-1659933382528)(influxDB_files/2.jpg)]
point
相当于数据库中的一条记录
InfluxDB时间线(Series)
Series = Measurement + Tags
时间线:一个数据源采集的一个指标随着时间的流逝而源源不断吐出数据,这样形成的一条数据线
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lgIYYNp8-1659933382528)(influxDB_files/3.jpg)]
InfluxDB系统架构
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-m4O3eDce-1659933382529)(influxDB_files/4.jpg)]
DataBase
create database test;
RP (数据保留策略)
RP是数据库级别的,不是表级别的属性
每个数据库有多个保留策略,但是只能有一个默认策略
– 查看库数据的过期策略
show retention policies on telegraf
ShardGroup
每个ShardGroup只存储指定时间段的数据。
不同的ShardGroup对应的时间段不会重合
为什么这样划分?
* InfluxDB中数据过期删除的执行力度就是ShardGroup
* 可以有效根据时间维度选择目标分区,淘汰部分数据
Shard
shard才是真正存储数据的部分
influxdb命令行命令
systemctl status influxdb #查看influxdb状态
systemctl start influxdb #启动influxdb
systemctl status influxdb #查看状态
systemctl enable influxdb #开启开机启动
cd /usr/bin
influxd #influxdb服务器
influx #influxdb命令行客户端
influx_inspect #查看工具
influx_stress #压力测试工具
influx_tsm #数据库转换工具(将数据库从b1或bz1格式转换为tsm1格式)
cd /var/lib/influxdb
data #存放最终存储的数据,文件以.tsm结尾
meta #存放数据库元数据
wal #存放预写日志文件
cd /var/log/influxdb 日志存储位置
cd /etc/influxdb 配置文件位置
vim influxdb.conf
systemctl start telegraf *
service grafana-server start *
systemctl status telegraf --查看telegraf状态
systemctl stop telegraf --停止telegraf
– 重启 telegraf 服务,使配置文件生效
service telegraf restart
– Linux 不同系统服务的启动方式不同
systemctl start telegraf
– 查看telegraf状态
systemctl status telegraf
wget https://dl.influxdata.com/chronograf/releases/chronograf-1.8.6.x86_64.rpm
influxdb语法
– 插入
measurement:表名
tag:维度列
field:数值列
insert [,=…] =[,=…] [unix-nano-timestamp]
insert test,host=127.0.0.1,monitor_name=test1,app=ios count=2,num=3
– 查看所有维度列
show tag keys from 表名
– distinct的字段只能是数值列,不能是维度列
select distinct(数值列) from 表名
– group by 只能对维度列使用,不能对数值列使用
select * from test group by 维度列
– 查看某个维度列的value值
show tag values from 表名 with key=“维度列”
– 模糊查询
-- =~/字符串/ 包含指定字符串的
select * from 表名 where 维度列|数值列 = ~/aaa/
-- =~/^字符串/ 以指定字符串开始
select * from 表名 where 维度列|数值列 = ~/^aaa/
-- =~/aaa$/ 以指定字符串结尾
select * from 表名 where 维度列|数值列 = ~/aaa$/
– 分页
– 从第2条记录开始,显示2条
limit 2 offset 2
– 没有IN操作,有OR操作
select * from cpu where cpu =‘aa’ or cpu=‘bb’
influxdb函数
– count()函数 数值列
返回一个字段中的非空值的数量
语法:
SELECT COUNT(<field_key>) FROM <measurement_name> [WHERE ] [GROUP BY ]
示例:
select count(usage_idle) from cpu where time > xxx and time < xxx
注意:influxdb中的函数如果没有指定时间的话,
会默认以1970年1月1日00时00分00秒作为时间
– MEAN()函数 数值列
返回一个字段(数值列)中的值的算术平均值,字段类型必须是长整型或float64
语法:
SELECT MEAN(<field_key>) FROM <measurement_name> [WHERE ] [GROUP BY ]
示例:
select MEAN(usage_idle) from cpu
– MEDIAN()函数 数值列
从单个字段(数值列)中的排序值返回中间值(中位数)。
字段值的类型必须是长整型或float64
语法:
SELECT MEDIAN(<field_key>) FROM <measurement_name> [WHERE ] [GROUP BY ]
示例:
select MEDIAN(usage_idle) from cpu
– SPREAD()函数 数值列
返回字段的最小值和最大值之间的差值
数据的类型必须是长整型或float64
语法:
SELECT SPREAD(<field_key>) FROM <measurement_name> [WHERE ] [GROUP BY ]
示例:
select SPREAD(usage_idle) from cpu
– SUM()函数 数值列
返回一个字段中的所有值的和
字段的类型必须是长整型或float64
语法:
SELECT SUM(<field_key>) FROM <measurement_name> [WHERE ] [GROUP BY ]
示例:
select SUM(usage_idle) from cpu
– 给文件权限才能下载
chmod 777 log_info.log
边栏推荐
猜你喜欢
随机推荐
动态RDLC报表(四)
ARM 汇编基础
李乐园:iMetaLab Suite宏蛋白质组学数据分析与可视化(视频+PPT)
win10 uwp 装机必备应用 含源代码
The principle implementation of handwritten flexible.js, I finally understand the multi-terminal adaptation of the mobile terminal
mysql生成随机姓名、手机号、日期
最新!2022版新员工基础安全知识教育培训PPT,企业拿去直接用
The most complete architect knowledge map in history
win10 uwp 活动磁贴
国能准能集团研发矿山数字孪生系统 填补国内采矿行业空白
About the common Hook encapsulation of DOM (2)
动态RDLC报表(一)
神秘的程序员(20-30)
mysql如何查看所有复合主键的表名?
艺术与科技的狂欢,云端XR支撑阿那亚2022砂之盒沉浸艺术季
测试开发是什么,为什么现在这么吃香?
总结篇4:redis 核心数据存储结构及核心业务模型实现应用场景
论文解读:Deep-4MCW2V:基于序列的预测指标,以鉴定大肠杆菌中的N4-甲基环胞嘧啶位点
体验远超Hue,这才是技术人员最喜欢的SQL工具
The strongest distributed lock tool: Redisson