设为首页收藏本站

追梦Linux

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 292|回复: 0

InfluxDB学习之InfluxDB基本概念及操作

[复制链接]

482

主题

485

帖子

16万

积分

CEO

Rank: 9Rank: 9Rank: 9

积分
168047

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

QQ
发表于 2017-6-15 11:40:51 | 显示全部楼层 |阅读模式
一、与传统数据库名词比较
influxDB中的名词
传统数据库中的概念
database
数据库
measurement
数据库中的表
points
表里面的一行数据
二、InfluxDB中独有的概念
1)Point

Point由时间戳(time)、数据(field)、标签(tags)组成。

Point相当于传统数据库里的一行数据,如下表所示:

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

InfluxDb数据库里series对应的是我们常规认识的表,而表里面的一行数据一般都来表示一个对象,而series里面一行数据则是描述的一个point。所有在数据库中的数据,都需要通过图表来展示,而这个series表示这个表里面的数据,可以在图表上画成几条线:通过tags排列组合算出来。


三、InfluxDB操作方式

InfluxDB提供三种操作方式:

1)客户端命令行方式

2)HTTP API接口

3)各语言API库
四、InfluxDB数据库操作

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

查看数据库、创建数据库、删除数据库、使用数据库

[Bash shell] 纯文本查看 复制代码
> show databases
name: databases
name
----
_internal

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

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

> create database test
> use test
Using database test
> 

五、InfluxDB数据表操作

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

显示所有表

[Bash shell] 纯文本查看 复制代码
> use _internal
Using database _internal
> show measurements
name: measurements
name
----
cq
database
httpd
queryExecutor
runtime
shard
subscriber
tsm1_cache
tsm1_engine
tsm1_filestore
tsm1_wal
write

> 

新建表

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

[Bash shell] 纯文本查看 复制代码
> use test
Using database test
> insert disk_free,hostname=server01 value=442221834240i 1435362189575692182
> show MEASUREMENTS
name: measurements
name
----
disk_free

> 

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

查询数据、删除表

[Bash shell] 纯文本查看 复制代码
> select * from disk_free 
name: disk_free
time                hostname value
----                -------- -----
1435362189575692182 server01 442221834240

> drop measurement disk_free
> show MEASUREMENTS
> 

六、数据操作

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

[Bash shell] 纯文本查看 复制代码
> insert disk_free,hostname=server01 value=44426652i 1435362189575692182
> select * from disk_free
name: disk_free
time                hostname value
----                -------- -----
1435362189575692182 server01 44426652

在这条语句中,disk_free是表名,hostname=server01是tag,属于索引,value=xx是field,这个可以随意写,随意定义。
2)查询数据
查询语句与SQL一样,在此不再赘述。
3)修改和删除数据
InfluxDB属于时序数据库,没有提供修改和删除数据的方法。
但是删除可以通过InfluxDB的数据保存策略(Retention Policies)来实现。
七、series操作
series表示这个表里面的数据,可以在图表上画成几条线,series主要通过tags排列组合算出来。
我们可以查询表的series,如下所示:
[Bash shell] 纯文本查看 复制代码
> show series from mem
key
mem,host=ResourcePool-0246-billing07
mem,host=billing07

八、界面操作
InfluxDB还提供了管理界面,大大降低了入门难度,在启动了InfluxDB服务之后,直接输入 <IP>:8083 即可访问界面。界面如下图所示


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

QQ|小黑屋|手机版|Archiver|追梦Linux ( 粤ICP备14096197号  点击这里给我发消息

GMT+8, 2019-1-23 00:17 , Processed in 0.266181 second(s), 35 queries .

Powered by 追梦Linux! X3.3 Licensed

© 2015-2017 追梦Linux!.

快速回复 返回顶部 返回列表