InfluxDB是一个时序性数据库,因为工作需求,安装后使用测试下是否支持大数据下的业务场景
说明:
安装最新版本 v1.6.0集群版本要收费,单机版本免费内部集成的web控制台被ko掉了直接到官网,查询对应的下载安装方式
Installing InfluxDB OSS安装方式
SHA256: fa118d657151b6de7c79592cf7516b3d9fada813262d5ebe16516f5c0bf62039 wget https://dl.influxdata.com/influxdb/releases/influxdb-1.6.0.x86_64.rpm sudo yum localinstall influxdb-1.6.0.x86_64.rpm服务启动命令
# 启动命令 service influxdb start # 关闭命令 service influxdb stop注意
默认占用8086/8088两个端口号,可以根据自己的实际场景进行替换,进入配置文件 /etc/influxdb/influxdb.conf
查询 bind-address,其中端口号对应的用处说明如下
# Bind address to use for the RPC service for backup and restore. bind-address = "127.0.0.1:8088" ... [http] # Determines whether HTTP endpoint is enabled. # enabled = true # The bind address used by the HTTP service. bind-address = ":8086"influx提供了一个控制台进行简单的操作,下面给出基本的使用姿势,对于influxdb的一些概念性问题,放在下一篇专门给与说明
首先进入控制台
influx # 如果修改了端口号,则需要显示指定 # influx -port xxx这个数据库和我们平常接触比较多的mysql中的数据库差不多,使用姿势也相差无几
说明: >后面跟的是命令,后面的是输出结果
> show databases name: databases name ---- _internal hh_test和mysql语法一致, create database xxx
> create database mytest > show databases name: databases name ---- _internal hh_test mytest使用drop进行删除,drop database xxx
> drop database mytest > show databases name: databases name ---- _internal hh_test在influxDB中,表不是我们传统理解的table,在这里,专业术语叫做 measurement (度量?)
查看所有的measurement的命令
show measurements; name: measurements name ---- trade不同于mysql,没有提供专门的创建表,新插入数据,就会自动创建一个不存在的表
说明:
tbname : 数据表名称tags : 表的tag域values : 表的value域timestamp :当前数据的时间戳(可选,没有提供的话系统会自带添加) > insert students,addr=wuhan phone=124 > select * from students name: students time addr phone ---- ---- ----- 1532514647456815845 wuhan 124查询和sql类似,基本结构如下,但是有很多的限制,后面详解
select * from table where condition group by xxx order by time asc limit 10一个实例case
> insert students,addr=wuhan phone=124 > insert students,addr=wuhan phone=123 > insert students,addr=changsha phone=15 > select * from students where phone>0 group by addr order by time desc limit 10; name: students tags: addr=wuhan time phone ---- ----- 1532515056470523491 123 1532515052664001894 124 name: students tags: addr=changsha time phone ---- ----- 1532515064351295620 15当需要更新一个记录时,直接覆盖一个时间戳+所有的tag相等的即可
> select * from students name: students time addr phone ---- ---- ----- 1532515052664001894 wuhan 124 1532515056470523491 wuhan 123 1532515064351295620 changsha 15 > insert students,addr=wuhan phone=111123 1532515052664001894 > select * from students name: students time addr phone ---- ---- ----- 1532515052664001894 wuhan 111123 1532515056470523491 wuhan 123 1532515064351295620 changsha 15删除一条记录,用delete命令
> select * from students name: students time addr phone ---- ---- ----- 1532515052664001894 wuhan 111123 1532515056470523491 changsha 123 1532515056470523491 wuhan 123 > delete from students where time=1532515056470523491 > select * from students name: students time addr phone ---- ---- ----- 1532515052664001894 wuhan 111123一灰灰的个人博客,记录所有学习和工作中的博文,欢迎大家前去逛逛
尽信书则不如,已上内容,纯属一家之言,因个人能力有限,难免有疏漏和错误之处,如发现bug或者有更好的建议,欢迎批评指正,不吝感激
微博地址: 小灰灰BlogQQ: 一灰灰/3302797840小灰灰Blog&公众号
知识星球
转载于:https://www.cnblogs.com/yihuihui/p/9367775.html
相关资源:JAVA上百实例源码以及开源项目