当前位置: 首页 > 工具软件 > InfluxDB > 使用案例 >

4_InfluxDB学习之InfluxDB的基本概念、InfluxDB中独有的概念(Point,series),InfluxDB学习之InfluxDB的基本操作,InfluxDB操作方式,crud

郦良才
2023-12-01

4.InfluxDB学习之InfluxDB的基本概念
4.1.与传统数据库中的名词做比较
4.2.InfluxDB中独有的概念
4.2.1.Point
4.2.2.series
4.3.InfluxDB学习之InfluxDB的基本操作
4.3.1.InfluxDB操作方式
4.3.2.InfluxDB数据库操作
4.3.3.InfluxDB数据表操作
4.4.数据操作
4.4.1.增加数据
4.4.2.查询数据
4.4.3.修改和删除数据
4.5.series操作

4.InfluxDB学习之InfluxDB的基本概念

转自:http://www.linuxdaxue.com/noun-interpretation-of-influxdb.html

4.1.与传统数据库中的名词做比较

InfluxDB中的名词传统数据库中的概念
database数据库
measurement数据库中的表
points表里面的一行数据

4.2.InfluxDB中独有的概念

4.2.1.Point

Point由时间戳(time)、数据(field)、标签(tags)组成。
Point相当于传统数据库里的一行数据,如下表所示:

Point属性传统数据库中的概念
time每个数据记录时间,是数据库中的主索引(会自动生成)
fields各种记录值(没有索引的属性)也就是记录的值:温度,湿度
tags各种有索引的属性:地区,海拔

4.2.2.series

所有在数据库中的数据,都需要通过图表来展示,而这个series表示这个表里面的数据,可以在图表上画成几条线:通过tags排列组合算出来。
如下所示:

>show series from cpu
key
cpu,cpu=cpu-total,host=ResourcePool-0246-billing07
cpu,cpu=cpu-total,host=billing07
cpu,cpu=cpu0,host=ResourcePool-0246-billing07
cpu,cpu=cpu0,host=billing07
cpu,cpu=cpu1,host=ResourcePool-0246-billing07
cpu,cpu=cpu1,host=billing07
cpu,cpu=cpu10,host=ResourcePool-0246-billing07
cpu,cpu=cpu10,host=billing07
cpu,cpu=cpu11,host=ResourcePool-0246-billing07
cpu,cpu=cpu11,host=billing07
cpu,cpu=cpu12,host=ResourcePool-0246-billing07
cpu,cpu=cpu12,host=billing07
cpu,cpu=cpu13,host=ResourcePool-0246-billing07
cpu,cpu=cpu13,host=billing07
cpu,cpu=cpu14,host=ResourcePool-0246-billing07
cpu,cpu=cpu14,host=billing07
cpu,cpu=cpu15,host=ResourcePool-0246-billing07
cpu,cpu=cpu15,host=billing07
cpu,cpu=cpu16,host=ResourcePool-0246-billing07
cpu,cpu=cpu17,host=ResourcePool-0246-billing07

4.3.InfluxDB学习之InfluxDB的基本操作

转自:http://www.linuxdaxue.com/influxdb-basic-operation.html

4.3.1.InfluxDB操作方式

InfluxDB提供三种操作方式:
1)客户端命令行方式
2)HTTP API接口
3)各语言API库

今天主要以命令行为例,为大家介绍下InfluxDB的基本操作,HTTP API接口和各种语言API库会在以后的文章中为大家详细介绍。

4.3.2.InfluxDB数据库操作

如同MYSQL一样,InfluxDB提供多数据库支持,对数据库的操作也与MYSQL相同。

1)显示数据库:

[root@node1 bin]# pwd
/root/installed/influxdb/usr/bin
[root@node1 bin]# ./influx -port 8085
Connected to http://localhost:8085 version 1.8.0
InfluxDB shell version: 1.8.0
> show databases;
name: databases
name
----
_internal
>

2)新建数据库:

> create database test
> show databases;
name: databases
name
----
_internal
test
>

3)删除数据库

> drop database test
> show databases;
name: databases
name
----
_internal
>

4)使用某个数据库

> create database xk_name;
> use xk_name;
Using database xk_name
>

4.3.3.InfluxDB数据表操作

在InfluxDB当中,并没有表(table)这个概念,取而代之的是MEASUREMENTS,MEASUREMENTS的功能与传统数据库中的表一致,因此我们也可以将MEASUREMENTS称为InfluxDB中的表。
1)显示所有表

> SHOW MEASUREMENTS
name: measurements
------------------
name
weather

2)新建表
InfluxDB中没有显式的新建表的语句,只能通过insert数据的方式来建立新表。如下所示:

> use xk_name
Using database xk_name
> insert disk_free,hostname=server01 value=442221834240i 1435362189575692182
>

其中disk_free就是表名,hostname是索引,value=xx是记录值,记录值可以有多个,最后是指定的时间
执行后结果如下:

> select * from disk_free
name: disk_free
time                hostname value
----                -------- -----
1435362189575692182 server01 442221834240
>

3)删除表

> drop measurement disk_free
> show measurements
>

4.4.数据操作

4.4.1.增加数据

增加数据采用insert的方式,要注意的是InfluxDB的insert中,表名与数据之间用逗号(,)分隔,tag和field之间用 空格分隔,多个tag或者多个field之间用逗号(,)分隔。

> insert disk_free,hostname=server01 value=442221834240i 1435362189575692182
> show measurements
name: measurements
name
----
disk_free
>

在这条语句中,disk_free是表名,hostname=server01是tag,属于索引,value=xx是field,这个可以随意写,随意定义。

4.4.2.查询数据

查询语句与SQL一样,在此不再赘述。

4.4.3.修改和删除数据

InfluxDB属于时序数据库,没有提供修改和删除数据的方法。

但是删除可以通过InfluxDB的数据保存策略(Retention Policies)来实现,这个会在以后的文章中讲到。

4.5.series操作

series表示这个表里面的数据,可以在图表上画成几条线,series主要通过tags排列组合算出来。
我们可以查询表的series, 如下所示:

> show series from mem
key
mem,host=ResourcePool-0246-billing07
mem,host=billing07
 类似资料: