Influxdb是什么?
InfluxDB是一个由InfluxData开发的开源时序型数据库,专注于海量时序数据的高性能读、高性能写、高效存储与实时分析等,在DB-Engines Ranking时序型数据库排行榜上排名第一,广泛应用于DevOps监控、IoT监控、实时分析等场景。
image.png
Influxdb基本概念
Database:数据库。
Measurement:表。
tag:索引列。
field:列。
Influxdb的优势
InfluxDB专注于DevOps监控、IoT监控等场景,相比OpenTSDB、MongoDB、Graphite、Cassandra等,InfluxDB的性能优势和成本优势明显。
Influxdb特性
InfluxDB是一种时序数据高效读写、压缩存储、实时计算能力为一体的数据库服务,除了具有成本优势的高性能读、高性能写、高存储率,InfluxDB还具有如下特点:
无系统环境依赖,部署方便。无结构化(SchemaLess)的数据模型,灵活强大。原生HTTP管理接口,免插件配置和免第三方依赖。强大的类SQL查询语句的操作接口,学习成本低,上手快。丰富的权限管理功能,精细到“表”级别。丰富的时效管理功能,自动删除过期数据,自定义删除指标数据。低成本存储,采样时序数据,压缩存储。丰富的聚合函数,支持AVG、SUM、MAX、MIN等聚合函数。
Influxdb常见搭配
Influxdb常常用于监控场景,搭配Grafana进行监控可视化&报警。
InfluxDb拓展&现有问题
Influxdb目前社区版本还不能支持HA,所以阿里云有在Influxdb基础上推出了TSDB,在客户端做了高可用等。给公司打个小广告:TSDB
Influxdb安装
官网下载链接Influxdb
macos安装influxdb直接使用homebrew。
brew update
brew install influxdb
如果没有安装brew,先安装brew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
然后启动Influxdb
brew services start influxdb
或者用launchctl,或者进入bin目录敲一下influxd(brew安装的在/usr/local/Cellar底下)
#启动服务
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.influxdb.plist
#停止服务
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.influxdb.plist
启动客户端
influx -precision rfc3339
然后跟mysql类似
show databases
create test
use test
show measurements
insert table_test,id=1,name=edison,age=18 salary=30000
> select*from table_test
name: table_test
time age id name salary
---- --- -- ---- ------
2019-12-01T09:02:36.005711Z 18 1 edison 30000
> insert table_test,id=2,name=nick,age=23 salary=20000
> select*from table_test
name: table_test
time age id name salary
---- --- -- ---- ------
2019-12-01T09:02:36.005711Z 18 1 edison 30000
2019-12-01T09:03:22.165129Z 23 2 nick 20000
influxdb没有显示创表语句,直接insert就会创建出来。
quit即可退出客户端,然后launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.influxdb.plist停了服务即可。
网友评论