02.27 一分钟 Get 时序数据库 InfluxDB 的技能

1

通过上期分享《实践指路明灯,源码剖析flink-metrics》,对当下较火的流式处理框架 flink 的指标监控体系有了全局的认识,并结合 flink-metrics-xxxx 模块进行深入分析,对 flink 是如何集成监控轮子了如指掌。


不过,源码中的 flink-metrics-influxdb 模块,你是否留意到?按照设计规范,不用多想,那肯定是 flink 指标监控对 influxdb 的集成。


那么,influxdb ?influxdb 是啥?influxdb 你用过吗?


今天稍微花一分钟,带你 Get 这门技能,放心不会伤脑。


一分钟 Get 时序数据库 InfluxDB 的技能

图看不清放大了去看

2

去说 InfluxDB 之前,先聊聊,什么是时间序列数据(时序数据)?


时间序列数据就是在不同时间上收集到的数据,主要有两个关键指标:监测时间和监测数值。生活中常见的时间序列数据,包括股票价格、网站的 PV/UV、服务器系统监控数据(比如 CPU 和内存占用率)等等。


那时间序列数据应该存到哪儿?时间序列数据库(TSDB)是啥?

A time series database (TSDB) is a software system that is optimized for storing and serving time series through associated pairs of time(s) and value(s)


https://en.wikipedia.org/wiki/Time_series_database


简单去理解,时间序列数据可以存储到 TSDB 中,因为 TSDB 是用于存储和分析时间序列数据的数据库。


一分钟 Get 时序数据库 InfluxDB 的技能

如图所示,在 DB-ENGINES 给出的最新的时间序列数据库的排名中,InfluxDB 高居第一位,而脸熟的 Prometheus、Graphite 等也位居其中,下面就以 InfluxDB 作为突破口进行体验。


3


3.1 磨刀霍霍。

首先,选择您最中意的版本进行下载。

<code>https://portal.influxdata.com/downloads//<code>
一分钟 Get 时序数据库 InfluxDB 的技能

本次以 v1.7.10 的 Mac 系统版本进行安装。

<code>https://dl.influxdata.com/influxdb/releases/influxdb-1.7.10_darwin_amd64.tar.gz/<code>

下载解压后的目录全局概览,不同安装方式会不同,但是着重关注 usr/bin/ 目录,后续操作的命令全在这里啦。


一分钟 Get 时序数据库 InfluxDB 的技能


然后,按照安装手册进行配置,若是为了体验,默认配置也够用啦。

<code>https://docs.influxdata.com/influxdb/v1.7/introduction/installation//<code>


3.2 披荆斩棘。

下载安装已经完成,执行 ./influxd 命令启动 InfluxDB。

一分钟 Get 时序数据库 InfluxDB 的技能

一顿命令操作猛如虎,熟练工种。


一分钟 Get 时序数据库 InfluxDB 的技能


熟练工种,命令多练就是啦,感受一下与传统数据库有啥不同?


一分钟 Get 时序数据库 InfluxDB 的技能


另外,InfluxDB 也提供了 HTTP API 方式操作。


一分钟 Get 时序数据库 InfluxDB 的技能


简单整理了一下,/ping 可以获取 InfluxDB 实例信息以及健康状况;/write 提供插入数据的功能;/query 提供查询数据的功能。


InfluxDB 提供 API 要比这多,用到之时再深入也未尝不可。


3.3 拨云见日


InfluxDB 与传统数据库有啥不同呢?

一分钟 Get 时序数据库 InfluxDB 的技能

如图示意,InfluxDB 中的 measurement 类似于传统数据库中的表,包含了列 time、tags 和 fields。

tag key/value 类似于传统数据库里索引的列;

field key/value 类似于传统数据库里没有索引的列;

time 存着时间戳,类似于传统数据库的主键。


另外,有没有什么轮子,可以更好的展示 InfluxDB 中的数据呢?


InfluxDB 位居 DB-ENGINES 排名首榜,对应的展示数据的轮子还是很多的,例如官方的 Chronograf,以及提及多次的 Grafana 等等。


闲暇之余,可以参考官方文档去深入。

<code>https://docs.influxdata.com/influxdb/v1.7/introduction/getting-started//<code>


4


InfluxDB 本次就说到这里,希望你们能有所获。


下期,我们将结合源码,去看看别人都是怎么用 InfluxDB 的?并尝试把 InfluxDB、Grafana 这些轮子组装到一起,看看组装之后的车子能否跑起来,敬请期待。


分享到:


相關文章: