【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
InfluxDB简介
InfluxDB 是一个 Go 语言开发的开源(MIT)分布式时间序列数据库。
下载
https://www.influxdata.com/
https://portal.influxdata.com/downloads
安装启动
解压
启动
服务器端
./influxd
客户端
./influx
简单实践
create database meng
show databases
use meng
insert weather,altitude=1000,area=北 temperature=11,humidity=-4
SELECT * FROM weather
参考资料
https://github.com/influxdata/influxdb
http://wiki.huihoo.com/wiki/InfluxDB
官方文档
https://github.com/influxdata/docs.influxdata.com
网上教程
https://xtutu.gitbooks.io/influxdb-handbook/content/
教程
第一章:InfluxDB介绍
InfluxDB用Go语言编写的一个开源分布式时序、事件和指标数据库,和传统是数据库相比有不少不同的地方。
类似的数据库有Elasticsearch、Graphite等。
特点
提供了Http接口的API来操作数据
提供了类似sql的数据库语句
用途
一般用来储存实时数据,配合一套UI界面来展示信息。
在浏览器中输入localhost:8083 即可进入web管理页面。
第二章 概念
series
所有在数据库中的数据,都需要通过图表来展示,而这个series表示这个表里面的数据,可以在图表上画成几条线:通过tags排列组合算出来。
select * from weather
show series from weather
新增数据
通过命令行
use test
insert weather,altitude=1000,area=北 temperature=11,humidity=-4
这样,我们就向数据库中添加了一条数据。
通过Http接口
InfluxDB提供了Http的API接口,所以我们也可以通过下面的方式来插入数据。
curl -i -XPOST 'http://localhost:8086/write?db=testDB' --data-binary 'weather,altitude=1000,area=北 temperature=11,humidity=-4'
Line Protocol格式
插入数据的格式似乎比较奇怪,这是因为influxDB储存数据所采用的是Line Protocol格式。
在上面两个插入数据的方法中,都有一样的部分。
weather,altitude=1000,area=北 temperature=11,humidity=-4
其中:
weather : 表名
altitude=1000,area=北 : tag
temperature=11,humidity=-4 :field
具体的格式介绍可以看官方的文档
查询数据
通过命令行
SELECT * FROM weather ORDER BY time DESC LIMIT 3
通过Http接口
curl -G 'http://localhost:8086/query?pretty=true' --data-urlencode "db=testDB" --data-urlencode "q=SELECT * FROM weather ORDER BY time DESC LIMIT 3"
InfluxDB是支持类SQL语句的
案例:
# 创建数据库
CREATE DATABASE "db_name"
# 显示所有数据库
SHOW DATABASES
# 删除数据库
DROP DATABASE "db_name"
# 使用数据库
USE mydb
# 显示该数据库中的表
SHOW MEASUREMENTS
# 创建表
# 直接在插入数据的时候指定表名(weather就是表名)
insert weather,altitude=1000,area=北 temperature=11,humidity=-4
# 删除表
DROP MEASUREMENT "measurementName"
# 查看数据
SELECT * FROM weather
show series from weather
# 显示用户
SHOW USERS
# 创建用户
CREATE USER "username" WITH PASSWORD 'password'
# 创建管理员权限的用户
CREATE USER "username" WITH PASSWORD 'password' WITH ALL PRIVILEGES
# 删除用户
DROP USER "username"
来源:oschina
链接:https://my.oschina.net/u/2548201/blog/2875812