InfluxDB入门
InfluxDB 简介
InfluxDB 是采用Golang编写的一款时间序列数据库,负责高效处理实时数据。目前市面上比较流行的时序数据库还有Open TSDB(Hbase)、Prometheus等。各时序数据库都有自己的适用场景,在做技术选型的时候需要结合业务需求进行选择。
官网:https://www.influxdata.com/
下载:https://portal.influxdata.com/downloads/
目前官方InfluxData免费提供单机版,但是对于集群版需要收费,集群版会提供负载均衡、数据同步等集群高可用的功能。线上生产环境如需大规模使用,还是比较推荐使用集群版来保证高可用的。
特色功能
- 基于时间序列,支持与时间有关的相关函数
- 可度量性:实时对大量数据进行计算
- 基于事件:支持任意的事件数据
主要特点
- 无结构(无模式):可以是任意数量的列
- 支持min, max, sum, count, mean, median 等一系列函数,方便统计
- 原生的HTTP支持,内置HTTP API
- 强大的类SQL语法
- 自带管理界面,也方便与Grafana等整合进行图表展示
influxDB安装
安装方式
(1)OS X
brew update
brew install influxdb
(2)Docker Image
docker pull influxdb
(3)Ubuntu & Debian
wget https://dl.influxdata.com/influxdb/releases/influxdb_1.7.7_amd64.deb
sudo dpkg -i influxdb_1.7.7_amd64.deb
(4)RedHat & CentOS
wget https://dl.influxdata.com/influxdb/releases/influxdb-1.7.7.x86_64.rpm
sudo yum localinstall influxdb-1.7.7.x86_64.rpm
(5)Standalone Windows Binaries (64-bit)
wget https://dl.influxdata.com/influxdb/releases/influxdb-1.7.7_windows_amd64.zip
unzip influxdb-1.7.7_windows_amd64.zip
(6)Standalone Linux Binaries (64-bit)
wget https://dl.influxdata.com/influxdb/releases/influxdb-1.7.7_linux_amd64.tar.gz
tar -zxf influxdb-1.7.7_linux_amd64.tar.gz -C /usr/local/
mv /usr/local/influxdb-1.7.7-1 /usr/local/influxdb
(7)Standalone Linux Binaries (32-bit)
wget https://dl.influxdata.com/influxdb/releases/influxdb-1.7.7_linux_i386.tar.gz
tar -zxf influxdb-1.7.7_linux_amd64.tar.gz -C /usr/local/
mv /usr/local/influxdb-1.7.7-1 /usr/local/influxdb
(8)Standalone Linux Binaries (ARM)
wget https://dl.influxdata.com/influxdb/releases/influxdb-1.7.7_linux_armhf.tar.gz
tar -zxf influxdb-1.7.7_linux_amd64.tar.gz -C /usr/local/
mv /usr/local/influxdb-1.7.7-1 /usr/local/influxdb
配置文件
配置文件位置:
/etc/influxdb/influxdb.conf //rpm安装
/usr/local/influxdb/etc/influxdb/influxdb.conf //bin安装
在配置文件中,可以修改InfluxDB的缓存大小等参数。
InfluxDB启动
服务端启动
如果是通过包安装的,可以使用如下语句启动:
sudo service influxdb start
如果直接下载的二进制包,则通过如下方式启动
编写如下脚本influxdb_start.sh
#!/bin/bash
/usr/local/influxdb/usr/bin/influxd -config /usr/local/influxdb/etc/influxdb/influxdb.conf &
运行上述脚本:
chmod +x influxdb_start.sh
sh influxdb_start.sh
即可以后台运行的方式启动influxdb的服务端
客户端启动
创建软链接并执行influx即可登入Influx服务器
# ln -s /usr/local/influxdb/usr/bin/influx /usr/bin/
# influx
Connected to http://localhost:8086 version 1.7.7
InfluxDB shell version: 1.7.7
>
新版本已经删除web管理界面,访问:http://ip/8086 显示404即代表安装成功
熟悉基本操作
# influx
Connected to http://localhost:8086 version 1.7.7
InfluxDB shell version: 1.7.7
> show databases;
name: databases
name
----
_internal
> create database test;
> create retention policy "default_policy" on "test" duration 90d replication 2 default;
> use test;
Using database test
> show retention policies;
name duration shardGroupDuration replicaN default
---- -------- ------------------ -------- -------
autogen 0s 168h0m0s 1 false
default_policy 2160h0m0s 24h0m0s 2 true
> insert cpu,uuid=123456,projectId=10086d usr=1,idle=12
> select * from cpu;
name: cpu
time idle projectId usr uuid
---- ---- --------- --- ----
1563845542369889051 12 10086d 1 123456
> insert cpu,uuid=123456,projectId=2s2d usr=12,idle=27,sys=13
> select mean(idle) from cpu group by projectId;
name: cpu
tags: projectId=10086d
time mean
---- ----
0 12
name: cpu
tags: projectId=2s2d
time mean
---- ----
0 27
> precision rfc3339
> select mean(idle) from cpu group by projectId;
name: cpu
tags: projectId=10086d
time mean
---- ----
1970-01-01T00:00:00Z 12
name: cpu
tags: projectId=2s2d
time mean
---- ----
1970-01-01T00:00:00Z 27
> drop database test
>
客户端工具
推荐Windows平台下的开源数据库管理工具InfluxDBStudio
,简化查询数据库的步骤,提高工作效率。
软件下载:https://github.com/CymaticLabs/InfluxDBStudio/releases
软件使用
(1)创建连接
(2)查询数据
![APP开发技术博客](http://www.yezhou.me/AppBlog/images/数据库/InfluxDB Query.jpg)
使用感受
InfluxDBStudio
支持删除数据库,删除表,导出数据等功能,目前该工具还在开发中,可能跟成熟的Oracle工具PLSQL
或Mysql的Navicat
等工具还有一些差距,但可以满足在Windows环境上对InfluxDB的常规操作,刚接触InfluxDB的开发者,可以用此体验。
目前使用看来,还算流畅,只在查询全表千万条数据的时候,没有分页功能,会导致卡顿,所以大表查询,推荐用limit 1000
语句加以限制,防止卡死。
版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/03/12/getting-started-with-influxdb/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论