NoSQL influxdb

  • 介绍

InfluxDB介绍
InfluxDB 是用Go语言编写的一个开源分布式时序、事件和指标数据库,无需外部依赖。
特色功能
基于时间序列,支持与时间有关的相关函数(如最大,最小,求和等);
可度量性:你可以实时对大量数据进行计算;
基于事件:它支持任意的事件数据;
主要特点
无结构(无模式):可以是任意数量的列;
可拓展;
支持min, max, sum, count, mean, median 等一系列函数,方便统计;
原生的HTTP支持,内置HTTP API;
强大的类SQL语法;
自带管理界面,方便使用;

influxdb与传统数据库的比较库、表等比较:
influxDB 传统数据库中的概念
database 数据库
measurement 数据库中的表
points 表里面的一行数据

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

influxdb使用的端口如下:
8083: Web admin管理服务的端口, http://localhost:8083
8086: 数据写入influxdb的地址,8086为默认端口
8088:为默认端口 数据备份恢复地址

  • 安装 并且创建测试
curl -O https://dl.influxdata.com/influxdb/releases/influxdb-1.7.7.x86_64.rpm
yum install influxdb-1.7.7.x86_64.rpm

#配置文件
/etc/influxdb/influxdb.conf
#默认存储会放在/var/lib目录 如果需要修改 注意目录授权influxdb用户
/var/lib/influxdb

systemctl start influxdb
systemctl eable influxdb
systemctl status influxdb

[root@253 lib]# influxd

 8888888           .d888 888                   8888888b.  888888b.
   888            d88P"  888                   888  "Y88b 888  "88b
   888            888    888                   888    888 888  .88P
   888   88888b.  888888 888 888  888 888  888 888    888 8888888K.
   888   888 "88b 888    888 888  888  Y8bd8P' 888    888 888  "Y88b
   888   888  888 888    888 888  888   X88K   888    888 888    888
   888   888  888 888    888 Y88b 888 .d8""8b. 888  .d88P 888   d88P
 8888888 888  888 888    888  "Y88888 888  888 8888888P"  8888888P"

2019-11-26T01:21:37.333505Z	info	InfluxDB starting	{"log_id": "0JLKdMDG000", "version": "1.7.6", "branch": "1.7", "commit": "01c8dd416270f424ab0c40f9291e269ac6921964"}
2019-11-26T01:21:37.333544Z	info	Go runtime	{"log_id": "0JLKdMDG000", "version": "go1.11", "maxprocs": 4}
run: open server: listen: listen tcp 127.0.0.1:8088: bind: address already in use


[root@253 bin]# ll /usr/bin/influx*
-rwxr-xr-x. 1 root root 31682944 Apr 17  2019 /usr/bin/influx #客户端
-rwxr-xr-x. 1 root root 45000576 Apr 17  2019 /usr/bin/influxd    #服务端
-rwxr-xr-x. 1 root root 18240172 Apr 17  2019 /usr/bin/influx_inspect #查看工具
-rwxr-xr-x. 1 root root 10713181 Apr 17  2019 /usr/bin/influx_stress #压力测试工具
-rwxr-xr-x. 1 root root 19730108 Apr 17  2019 /usr/bin/influx_tsm #数据转换工具

[root@253 bin]# ll /var/lib/influxdb/
total 0
drwxr-xr-x. 3 influxdb influxdb 23 Nov 26 09:13 data     #存放最终存储的数据 文件以.tsm结尾
drwxr-xr-x. 2 influxdb influxdb 21 Nov 26 09:14 meta    #存放数据库元数据
drwx------. 3 influxdb influxdb 23 Nov 26 09:13 wal        #存放预写日志文件


#登录并创建telegraf 和telegraf账户
[root@253 tmp]# influx
Connected to http://localhost:8086 version 1.7.6
InfluxDB shell version: 1.7.6
> show databases;
> create database telegraf; 
> use telegraf;
> create user "telegraf" with password 'telegraf';
> exit
  • 常用语法

#显示用户
SHOW USERS
#创建用户
CREATE USER "user" WITH PASSWORD 'user'
#创建管理员权限的用户
CREATE USER "admin" WITH PASSWORD 'admin' WITH ALL PRIVILEGES
#删除用户
DROP USER "user"

#显示所有的表
show measurements
#查询10
select * from measurement_name limit 10;
新建表没有具体的语法,只是增加第一条数据时,会自动建立表
insert results,hostname=index1 value=1

#设置一下时间显示格式
precision rfc3339
influx -precision rfc3339

#查看一个measurement中所有的tag key 
show tag keys
#查看一个measurement中所有的field key 
show field keys

show database;
create database test;

#数据保存策略

#查看当前数据库的Retention Policies
SHOW RETENTION POLICIES ON "test" 

#创建数据保存策略
CREATE RETENTION POLICY "test" ON "telegraf" DURATION 30d REPLICATION 1 DEFAULT;  
    #注释如下:
    rp_name:策略名
    db_name:具体的数据库名
    30d:保存30天,30天之前的数据将被删除
    它具有各种时间参数,比如:h(小时),w(星期)
    REPLICATION 1:副本个数,这里填1就可以了
    DEFAULT 设为默认的策略

#修改和删除策略
ALTER RETENTION POLICY "test" ON telegraf" DURATION 3w DEFAULT
DROP RETENTION POLICY "test" ON "telegraf"

#连续查询
SHOW CONTINUOUS QUERIES

#创建新的连续查询
CREATE CONTINUOUS QUERY cq_30m ON testDB BEGIN SELECT mean(temperature) INTO weather30m FROM weather GROUP BY time(30m) END
cq_30m:连续查询的名字
testDB:具体的数据库名
mean(temperature): 算平均温度
weather: 当前表名
weather30m: 存新数据的表名
30m:时间间隔为30分钟

#插入新数据自动创建
SHOW MEASUREMENTS

#删除
DROP CONTINUOUS QUERY <cq_name> ON <database_name>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值