InfluxDB
一个开源的时间序列数据库
InfluxDB是一个开源的没有外部依赖的时间序列数据库。适用于记录度量,事件及执行分析。
特性
- 内置HTTP API,所以不用再写服务端代码来启动和运行。
- 数据可以被标记,允许非常灵活的查询。
- 类似SQL的查询语言
- 安装和管理简单,数据输入和输出速度快
- 它旨在实时响应查询。这意味着point数据写入即被索引并立即可供响应时间应小于100ms的查询使用。
安装
推荐使用已编译好的包来安装InfluxDB。然后启动InfluxDB:
- service influxdb start 如果你已经使用官方的Debian或RPM软件包安装了InfluxDB。
- systemctl start influxdb 如果您已经使用官方的Debian或RPM软件包安装了InfluxDB,并且正在使用systemd运行一个发行版。 例如,Ubuntu 15或更高版本。
- $GOPATH/bin/influxd 如果你已经用源码编译InfluxDB。
准备开始
创建第一个数据库
curl-XPOST "http://localhost:8086/query" --data-urlencode "q=CREATEDATABASE mydb"
插入一些数据
curl-XPOST "http://localhost:8086/write?db=mydb" \
-d'cpu,host=server01,region=uswest load=42 1434055562000000000'
curl-XPOST "http://localhost:8086/write?db=mydb" \
-d'cpu,host=server02,region=uswest load=78 1434055562000000000'
curl-XPOST "http://localhost:8086/write?db=mydb" \
-d'cpu,host=server03,region=useast load=15.4 1434055562000000000'
查询数据
curl -G "http://localhost:8086/query?pretty=true"--data-urlencode"db=mydb" \
--data-urlencode"q=SELECT * FROM cpu WHEREhost='server01' AND time < now() - 1d"
分析数据
curl -G "http://localhost:8086/query?pretty=true"--data-urlencode"db=mydb" \
--data-urlencode"q=SELECT mean(load) FROM cpu WHEREregion='uswest'"
文档
- 详细了解关于这个项目的设计目标和动机
- 按照入门指南在几分钟内学习基础知识。
- 详细了解InfluxDB的关键概念。
译自:https://github.com/influxdata/influxdb
提醒:早期的开源版本支持集群,最近的开源版本都不支持,需付费的企业版支持。