1.介绍
InfluxDB是一个由InfluxData开发的开源时序型数据。它由Go写成,着力于高性能地查询与存储时序型数据。InfluxDB被广泛应用于存储系统的监控数据,IoT行业的实时数据等场景。
2.对常见关系型数据库(MySQL)的基础概念对比
1.tag set:不同的每组tag key和tag value的集合;
2.field set:每组field key和field value的集合;
3.retention policy:数据存储策略(默认策略为autogen)InfluxDB没有删除数据操作,规定数据的保留时间达到清除数据的目的;
4.series:共同retention policy,measurement和tag set的集合;
5.示例数据如下: 其中census是measurement,butterflies和honeybees是field key,location和scientist是tag key
3.注意点
1.tag 只能为字符串类型
2.field 类型无限制
3.不支持join
4.支持连续查询操作(汇总统计数据):CONTINUOUS QUERY
5.配合Telegraf服务(Telegraf可以监控系统CPU、内存、网络等数据)
6.配合Grafana服务(数据展现的图像界面,将influxdb中的数据可视化)
4.常用指令
-- 查看所有的数据库
show databases;
-- 使用特定的数据库
use database_name;
-- 查看所有的measurement
show measurements;
-- 查询10条数据
select * from measurement_name limit 10;
-- 数据中的时间字段默认显示的是一个纳秒时间戳,改成可读格式
precision rfc3339; -- 之后再查询,时间就是rfc3339标准格式
-- 或可以在连接数据库的时候,直接带该参数
influx -precision rfc3339
-- 查看一个measurement中所有的tag key
show tag keys
-- 查看一个measurement中所有的field key
show field keys
-- 查看一个measurement中所有的保存策略(可以有多个,一个标识为default)
show retention policies;