InfluxDB时序数据库的使用 您所在的位置:网站首页 influxdb官网中文 InfluxDB时序数据库的使用

InfluxDB时序数据库的使用

2023-03-11 22:14| 来源: 网络整理| 查看: 265

InfluxDB时序数据库的使用 InfluxDB InfluxDB概述 相关概念 安装InfluxDB InfluxDB的操作 用户管理 启用认证 数据库操作 数据库表操作 查询操作 项目集成使用 添加依赖 创建数据库 配置InfluxDB 编码 执行测试 InfluxDB InfluxDB概述

InfluxDB 是一个从头开始构建的时间序列数据库,用于处理高写入和查询负载。InfluxDB 旨在用作任何涉及大量时间戳数据的用例的后备存储,包括 DevOps 监控、应用程序指标、物联网传感器数据和实时分析。

什么是时间序列的数据?从定义上来说,就是一串按时间维度索引的数据。

时间序列数据库(TSDB)特点:

持续高并发写入、不用更新 数据压缩存储 低延时查询

常见的时间序列数据库除了InfluxDB之外还有:opentsdb、timeScaladb、Druid等。

官网: https://www.influxdata.com/

GitHub:https://github.com/influxdata/influxdb

中文文档:https://jasper-zhang1.gitbooks.io/influxdb/content/Introduction/installation.html

相关概念 nfuxDB传统数据库database数据库measurement数据库中的表point表中的行

Point是由时间戳(time)、标签(tags)、数据(fields)三部分组成

point属性含义time数据记录的时间,主索引,默认自动生成,相当于每行数据都具备的列tags相当于有索引的列。tag中存储的值的类型是字符串类型fieldsvalue值,没有索引的列。field中存储的值得类型:字符串、浮点数(Double)、整数、布尔型。一个field value总是和一个timestamp相关联 安装InfluxDB

拉取influxdb

docker pull influxdb:1.8 复制代码

启动influxdb

docker run -d --name influxdb -p 8086:8086 influxdb:1.8 复制代码

进入influxdb容器

docker exec -it influxdb /bin/bash 复制代码

在命令行里输入influx,进入InfluxDB数据库环境

root@70783fdf1b06:/# influx Connected to http://localhost:8086 version 1.8.10 InfluxDB shell version: 1.8.10 > 复制代码 InfluxDB的操作 用户管理

创建用户

> create user "root" with password 'root' with all privileges > show users user admin ---- ----- root true > 复制代码

删除用户

> drop user root > > show users user admin ---- ----- > 复制代码 启用认证

配置influxdb.conf文件启用认证

docker cp influxdb:/etc/influxdb/influxdb.conf ./ docker cp ./influxdb.conf influxdb:/etc/influxdb/ docker restart influxdb 复制代码

在influxdb.conf配置文件中添加如下内容

[http] auth-enabled= true 复制代码

使用账号密码登录

root@70783fdf1b06:/# influx -username 'root' -password 'root' Connected to http://localhost:8086 version 1.8.10 InfluxDB shell version: 1.8.10 > show users user admin ---- ----- root true > 复制代码

错误密码认证

root@70783fdf1b06:/# influx -username 'root' -password 'root123' Connected to http://localhost:8086 version 1.8.10 InfluxDB shell version: 1.8.10 > show users ERR: authorization failed Warning: It is possible this error is due to not setting a database. Please set a database with the command "use ". > 复制代码 数据库操作

显示数据库:show databases

> show databases name: databases name ---- _internal > 复制代码

新建数据库:create database test

> create database test > show databases name: databases name ---- _internal test > 复制代码

删除数据库命令:drop database test

> drop database test > show databases name: databases name ---- _internal > 复制代码

使用某个数据库,必须先创建create database test ,然后再使用use test

> create database test > use test Using database test > 复制代码 数据库表操作

显示所有表:SHOW MEASUREMENTS

> SHOW MEASUREMENTS > 复制代码

新建表:insert

InfluxDB中没有显式的新建表的语句,只能通过insert数据的方式来建立新表,或者在客户端程序代码中插入数据的时候就会自动建表。

以下命令表示:一个measurement为cpu,tag是host和region,value值为0.64的数据点被写入到InfluxDB中

> INSERT cpu,host=serverA,region=us_west value=0.64 > SHOW MEASUREMENTS name: measurements name ---- cpu > 复制代码

删除表:drop measurement cpu

> drop measurement cpu > SHOW MEASUREMENTS > 复制代码 查询操作

InfluxQL是一种类似SQL的查询语言,用于与InfluxDB中的数据进行交互。

表数据查询:SELECT * FROM tb

> SELECT "host", "region", "value" FROM "cpu" name: cpu time host region value ---- ---- ------ ----- 1642915045925737934 serverA us_west 0.64 > 复制代码

InfluxDB中的模糊搜索和mysql中的模糊搜索一样

查询包含给定字段数据

select fieldName from measurementName where fieldName=~/条件值/ 复制代码

查询以给定字段开始的数据

select fieldName from measurementName where fieldName=~/^条件值/ 复制代码

查询以给定字段结束的数据

select fieldName from measurementName where fieldName=~/条件值$/ 复制代码

统计记录个数

select count(value) from measurementName where time>='2021-01-01' and time='2021-01-01' and time select * from bbu name: bbu time alarm deviceId indicatorName level value ---- ----- -------- ------------- ----- ------ 1642948114035000000 0 0001 温度 正常 56.5 > 复制代码 > select * from bbu where time>='2020-01-01' and time select last(value),* from bbu where deviceId='0001' group by deviceId name: bbu tags: deviceId=0001 time last alarm indicatorName level value ---- ---- ----- ------------- ----- ----- 1642950703148000000 65.55 0 温度 正常 65.55 > 复制代码


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有