InfluxDB简单学习

1.InfluxDB介绍

InfluxDB用Go语言编写的一个开源分布式时序、事件和指标数据库,和传统是数据库相比有不少不同的地方。
类似的数据库有Elasticsearch、Graphite等。

特点

提供了Http接口的API来操作数据
提供了类似sql的数据库语句

2.InfluxDB相关名词术语介绍

在这里插入图片描述
其中,Point由时间戳(time)、数据(field)、标签(tags)组成。
还有一个重要的名词:series
所有在数据库中的数据,都需要通过图表来表示,series表示这个表里面的所有的数据可以在图标上画成几条线(注:线条的个数由tags排列组合计算出来),举例如下:
在这里插入图片描述

3.InfluxDB基本操作

创建数据库与表,和普通关系型数据库类似,如下:
#创建数据库

create database "db_name" 

#显示所有的数据库

show databases 

#删除数据库

drop database "db_name"  

#使用数据库

use db_name

#显示该数据库中所有的表

show measurements

#创建表,直接在插入数据的时候指定表名

insert test,host=127.0.0.1,monitor_name=test count=1

#删除表

drop measurement "measurement_name"

1.通过命令行

insert weather,altitude=1000,area=北 temperature=11,humidity=-4

这样,我们就向数据库中添加了一条数据。

2.通过Http接口
InfluxDB提供了Http的API接口,所以我们也可以通过下面的方式来插入数据。

curl -i -XPOST 'http://localhost:8086/write?db=testDB' --data-binary 'weather,altitude=1000,area=北 temperature=11,humidity=-4'

Line Protocol格式
说明:influxDB存储数据采用的是Line Protocol格式。那么何谓Line Protoco格式?
Line Protocol格式:写入数据库的Point的固定格式,如:

weather,altitude=1000,area=北 temperature=11,humidity=-4

注:
weather : —>表名
altitude=1000,area=北 :—> tag
temperature=11,humidity=-4 :—>field

删与改

在InfluxDB中并没有提供数据的删除与修改方法。
不过我们可以通过数据保存策略(Retention Policies)来实现删除。
1.数据保存策略(Retention Policies)
influxDB是没有提供直接删除数据记录的方法,但是提供数据保存策略,主要用于指定数据保留时间,超过指定时间,就删除这部分数据。
(1)查看当前数据库的Retention Policies

SHOW RETENTION POLICIES ON "testDB"

(2)创建新的Retention Policies

CREATE RETENTION POLICY "rp_name" ON "db_name" DURATION 30d REPLICATION 1 DEFAULT

其中:
rp_name:策略名
db_name:具体的数据库名
30d:保存30天,30天之前的数据将被删除
它具有各种时间参数,比如:h(小时),w(星期)
REPLICATION 1:副本个数,这里填1就可以了
DEFAULT 设为默认的策略
(3)修改Retention Policies

alter retention policy "rp_name" on "db_name" duration 30d default

(4)删除Retention Policies

drop retention policy "rp_name"

1.通过命令行
查询最新的三条数据

SELECT * FROM weather ORDER BY time DESC LIMIT 3

2.通过Http接口

curl -G 'http://localhost:8086/query?pretty=true' --data-urlencode "db=testDB" --data-urlencode "q=SELECT * FROM weather ORDER BY time DESC LIMIT 3"

InfluxDB是支持类SQL语句的,具体的查询语法都差不多,可以直接写sql语句。例如:
在这里插入图片描述
参考资料:
https://www.liangzl.com/get-article-detail-125680.html
https://www.cntofu.com/book/118/influxdbjie_shao.md

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值