influxdb查看数据库命令_认识Influxdb时序数据库及Influxdb基础命令操作

认识Influxdb时序数据库及Influxdb基础命令操作

一、什么是Influxdb,什么又是时序数据库

Influxdb是一个用于存储时间序列,事件和指标的开源数据库,由Go语言编写而成,无需外部依赖。

什么是时间序列数据库?就是基于时间存储的数据,数据格式里包含Timestamp字段的数据,即每一条数据中都会有一个时间存储字段。

二、Influxdb能用来做什么

Influxdb(时序数据库)主要的应用场景有以下几种:

很多物联网数据都通过InfluxDB存储,分析与展示。如:智慧物联网监控分析系统,传统石油化工、采矿以及制造企业设备数据采集与分析,医疗数据采集与分析,车联网,智慧交通等。

InfluxDB同时还应用于日志存储、监控数据统计和分析。如:各种服务、软件以及系统监控数据采集、分析与报警,金融数据采集与分析等。记录每毫秒服务器以及软件服务的使用情况,用于后期大数据分析,机器学习,实现预测、预警、服务提升优化等。

实时大数据量的存储以及快速查询,定时归集指定时间的数据,用于更大时间范围监控数据的展现。

Influxdb的特性:

时间序列数据编写的自定义高性能数据存储。TSM引擎允许高摄取速度和数据压缩。

内置HTTP接口,使用方便,简单,高性能的写入和查询HTTP API

数据可以打标记,标签允许对系列进行索引以实现快速有效的查询

类SQL的查询语句,可轻松查询聚合数据

安装管理很简单,并且读写数据很高效

能够实时查询,数据在写入时被索引后就能够被立即查出

完全用 Go 语言编写。 它编译成单个二进制文件,没有外部依赖项

三、Influxdb与Mysql的基本概念对比

概念

InfluxDB

MySQL

数据库(同)

database

database

表(不同)

table

measurement

列(不同 )

column

tag (带索引的,非必须)、field(不带索引)、timestemp(唯一主键)

四、Influxdb有哪些组成结构

database: 数据库名,在 InfluxDB 中可以创建多个数据库,不同数据库中的数据文件是隔离存放的,存放在磁盘上的不同目录。

retention policy: 存储策略,用于设置数据保留的时间,每个数据库刚开始会自动创建一个默认的存储策略 autogen,数据保留时间为永久,之后用户可以自己设置,例如保留最近2小时的数据。插入和查询数据时如果不指定存储策略,则使用默认存储策略,且默认存储策略可以修改。InfluxDB 会定期清除过期的数据。

measurement: 测量指标名,例如 cpu_usage 表示 cpu 的使用率。

tag sets: tags 在 InfluxDB 中会按照字典序排序,不管是 tagk 还是 tagv,只要不一致就分别属于两个 key,例如 host=server01,region=us-west 和 host=server02,region=us-west 就是两个不同的 tag set。

field name: 例如上面数据中的 value 就是 fieldName,InfluxDB 中支持一条数据中插入多个 fieldName,这其实是一个语法上的优化,在实际的底层存储中,是当作多条数据来存储。

timestamp: 每一条数据都需要指定一个时间戳,在 TSM 存储引擎中会特殊对待,以为了优化后续的查询操作。

说明:

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

tag set:不同的每组tag key和tag value的集合;

field set:每组field key和field value的集合,列不需要手动创建,加入数据会自动创建;

Series 相当于是 InfluxDB 中一些数据的集合,在同一个 database 中,retention policy、measurement、tag sets 完全相同的数据同属于一个 series,同一个 series 的数据在物理上会按照时间顺序排列存储在一起;

Shard 在 InfluxDB 中是一个比较重要的概念,它和 retention policy 相关联。每一个存储策略下会存在许多 shard,每一个 shard 存储一个指定时间段内的数据,并且不重复,例如 7点-8点 的数据落入 shard0 中,8点-9点的数据则落入 shard1 中。每一个 shard 都对应一个底层的 tsm 存储引擎,有独立的 cache、wal、tsm file;

五、怎么快速搭建Influxdb环境,入门Influxdb

这里使用docker搭建快速入门,命令如下:

docker run -d -p 8086:8086 --name myinfluxdb influxdb

也可以使用docker-compose.yml,便于后期管理,与其他容器结合使用:

version: '3'services:

influxdb:

image: influxdb

restart: always

tty:truecontainer_name: influxdb

ports:- 8086:8086

六、常用基础操作

进入上述创建的myinfluxdb容器,docker exec -it myinfluxdb bash

输入influx,即进入Influxdb交互式界面:

root@0aba3a348938:/# influx

Connected to http://localhost:8086 version 1.8.0

InfluxDB shell version: 1.8.0

>

3.  常用命令及效果如下:

--进入数据库

usenginx_log;--删除数据库

drop databasenginx_log;--显示数据库中所有表

SHOW MEASUREMENTS;--创建表,直接在插入数据的时候指定表名,自动创建表及列

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

--查询10条数据

select * from test limit 10;--查看一个measurement中所有的tag key

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

show field keys--查看一个measurement中所有的保存策略(可以有多个,一个标识为default)

show retention policies;--创建存储策略

create retention policy "rp_name" on "nginx_log" duration 3w replication 1 defaultrp_name:策略名;db_name:具体的数据库名;

3w:保存3周,3周之前的数据将被删除,influxdb具有各种事件参数,比如:h(小时),d(天),w(星期);replication 1:副本个数,一般为1就可以了;default:设置为默认策略--修改存储策略

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

--删除存储策略

drop retention policy "rp_name" on"nginx_log"--删除表

drop measurement test

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值