InfluxDB
InfluxDB是开源时序型数据库,由Go写成,被广泛应用于监控系统,如cpu利用率,io,内存等指标;穿戴设备,如心率,体温;IoT实时数据等场景。InfluxDB 官方网站:https://www.influxdata.com/products/influxdb-overview/
什么是时间序列数据
数据源每隔一段时间产生一条数据,除了时间戳和值不一样,其他都相同。比如cpu使用率,随着时间变化,它产生的数据就是时间序列数据。
InfluxDB 主要特性
- 部署简单;
- 极强的写能力以及高压缩率;
- InfluxQL:类SQL的查询语句;
- 具有一系列聚合函数;
InfluxDB 重要概念
database:数据库
measurement:数据库表
point:一行数据
Point由时间戳(time)、标签(tags)和值(field)组成
time:每条数据记录的时间,也是数据库自动生成的主索引
tags:各种有索引的属性
fields:各种记录的值
InfluxDB 安装配置
下载安装包
wget https://dl.influxdata.com/influxdb/releases/influxdb-1.2.4.x86_64.rpm
安装influxdb
yum install influxdb-1.2.4.x86_64.rpm -y
启动influxDB
systemctl start influxdb
常用InfluxQL
## 数据库操作
show databases;
create database mytest;
drop database mytest;
## 查看measurement
show measurements;
# 插入数据
INSERT cpu,host=serverA,region=us_west value=0.64
INSERT temperature,machine=unit42,type=assembly external=25,internal=37
# 查看数据
SELECT host, region, value FROM cpu
SELECT * FROM temperature
# 用表名通配符,同时查看多个表记录
# SELECT * FROM /.*/ LIMIT 10
# 查询条件
SELECT * FROM cpu WHERE value > 0.9 limit 10
# 删除数据
delete from cpu where host='serverA'