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

1

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

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

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

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

(图看不清放大了去看)

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 是用于存储和分析时间序列数据的数据库。

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

3

3.1 磨刀霍霍。

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

https://portal.influxdata.com/downloads/

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

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

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

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

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

3.2 披荆斩棘。

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

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

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

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

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

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

3.3 拨云见日

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


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

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

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

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

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

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

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

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

4

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

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

推荐阅读:

这些技术轮子,让监控落地成为现实!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
时序数据库是一种专门用于存储和处理时间序列数据的数据库系统。在MongoDB中,可以通过创建时序数据集合来实现时序数据库的功能。通过使用命令`BCON_NEW("timeseries", "{", "timeField", "datetime", "}")`,可以创建一个MongoDB时序数据集合。这个命令指定了时间字段为`datetime`,以便对时间序列数据进行管理和查询。 在MongoDB中,可以使用`mongoc_client_get_database`函数来创建数据库。例如,可以通过执行`database1 = mongoc_client_get_database(client, "myfu")`来创建名为`myfu`的数据库。 此外,MongoDB还提供了与多个主要BI报告工具集成的功能,包括Tableau、QlikView、Microstrategy和TIBCO等。通过MongoDB BI连接器,可以将MongoDB与这些工具无缝集成,从而实现可视化和分析MongoDB中的数据。此外,MongoDB还提供了名为MongoDB Charts的本地BI报告工具,它可以快速可视化MongoDB中的数据,无需使用任何第三方产品。 总结起来,时序数据库是一种用于存储和处理时间序列数据的数据库系统。在MongoDB中,可以通过创建时序数据集合来实现时序数据库的功能。此外,MongoDB还提供了与多个主要BI报告工具集成的功能,以及一个本地的BI报告工具MongoDB Charts。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [【用c/c++创建mongodb数据库时序集合,存储时序数据】](https://blog.csdn.net/m0_59138576/article/details/126788789)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [「时序数据库」时间序列数据与MongoDB:第一部分-简介](https://blog.csdn.net/jiagoushipro/article/details/125063097)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值