InfluxDB

 ̄綄美尐妖づ 提交于 2019-12-19 19:17:25

【推荐】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://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"
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!