开源时序型数据库 InfluxDB

74人浏览

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'