• 一分钟 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 这些轮子组装到一起,看看组装之后的车子能否跑起来,敬请期待。

  • 相关阅读:
    vuerouter 无登录页根据权限动态添加菜单栏
    [转]Pytorch常用代码块
    colab查看gpu信息
    文本预处理
    swagger
    springboot中使用分页插件
    sqlServer数据库创建定时任务方法
    java查询的数据返回给jsp页面,通过jstl来获取后端页面数据,并显示数据
    EF Core 生成实体类
    .net core 部署无法正常跨域访问的解决方案
  • 原文地址:https://www.cnblogs.com/socoool/p/12629726.html
Copyright © 2020-2023  润新知