什么是InfluxDB?

业界 作者:最黑客 2022-05-26 17:55:28
InfluxDB是一个开源的、高性能的时序型数据库,在时序型数据库DB-Engines Ranking上排名第一。
在介绍InfluxDB之前,先来介绍下时序数据。按照时间顺序记录系统、设备状态变化的数据被称为时序数据(Time Series Data),如CPU利用率、某一时间的环境温度等。
时序数据以时间作为主要的查询纬度,通常会将连续的多个时序数据绘制成线,制作基于时间的多纬度报表,用于揭示数据背后的趋势、规律、异常,进行实时在线预测和预警,时序数据普遍存在于IT基础设施、运维监控系统和物联网中。
时序数据主要有如下3个特点:
  • 抵达的数据几乎总是作为新条目被记录,无更新操作。
  • 数据通常按照时间顺序抵达。
  • 时间是一个主坐标轴。
时序型数据库是存放时序数据的专用型数据库,并且支持时序数据的快速写入、持久化、多纬度的实时聚合运算等功能。
传统数据库通常记录数据的当前值,时序型数据库则记录所有的历史数据,在处理当前时序数据时又要不断接收新的时序数据,同时时序数据的查询也总是以时间为基础查询条件,并专注于解决以下海量数据场景的问题:
  • 时序数据的写入:如何支持千万级/秒数据的写入。
  • 时序数据的读取:如何支持千万级/秒数据的聚合和查询。
  • 成本敏感:海量数据存储带来的是成本问题,如何更低成本地存储这些数据,是时序型数据库需要解决的关键问题。
InfluxDB是一个由InfluxData公司开发的开源时序型数据库,专注于海量时序数据的高性能读、高性能写、高效存储与实时分析,在DB-Engines Ranking时序型数据库排行榜上位列榜首,广泛应用于DevOps监控、IoT监控、实时分析等场景。
具体的DB-Engines Ranking时序型数据库的排行榜(源自2019年5月的DB-Engines Ranking数据)如图1-1所示。
  • InfluxDB部署简单、使用方便,在技术实现上充分利用了Go语言的特性,无须任何外部依赖即可独立部署;
  • 提供类似于SQL的查询语言,接口友好,使用方便;拥有丰富的聚合运算和采样能力;
  • 提供灵活的数据保留策略(Retention Policy)来设置数据的保留时间和副本数;
  • 在保障数据可靠性的同时,及时删除过期数据,释放存储空间;
  • 提供灵活的连续查询(Continuous Query)来实现对海量数据的采样。
  • 支持多种通信协议,除了HTTP、UDP等原生协议,还兼容CollectD、Graphite、OpenTSDB、Prometheus等组件的通信协议。
讲到InfluxDB,就不能不提InfluxData的开源高性能时序中台TICK(Telegraf + InfluxDB + Chronograf + Kapacitor),InfluxDB是作为TICK的存储系统进行设计和开发的。
TICK专注于DevOps监控、IoT监控、实时分析等应用场景,是一个集成了采集、存储、分析、可视化等能力的开源时序中台,由Telegraf、 InfluxDB、Chronograf、Kapacitor 4个组件以一种灵活松散但紧密配合、互为补充的方式构成,各个模块相互配合、互为补充,整体系统架构如图1-2所示。
Telegraf是用于采集和上报指标的数据采集程序,采用灵活的、可配置的插件实现。
Telegraf可以通过配置文件的配置,采集当前运行主机的指定指标,如CPU负载、内存使用等,也可以从第三方消费者服务(如StatsD、Kafka等)拉取数据,上报到已支持的多种存储系统、服务或消息队列,如InfluxDB、Graphite、OpenTSDB、Datadog、Librato、Kafka、MQTT、NSQ等。
InfluxDB是专注于时序数据场景(如DevOps监控、IoT监控、实时分析等)的高性能时序型数据库,支持灵活的自定义保留策略和类SQL的操作接口。
Chronograf是可视化的、BS架构的管理系统,可用于配置和管理接收到的监控数据、告警,并支持通过灵活强大的模块和库,快速配置数据可视化仪表盘、告警规则、可视化规则。
Kapacitor是从零构建的原生数据处理引擎,支持流式处理和批量处理,支持灵活强大的自定义功能,如定义新的告警阈值、告警指标特征、告警统计异常特征等,以及后续的告警处理行为。
除了灵活,Kapacitor也很开放,能灵活地集成对接第三系统,如HipChat、OpsGenie、Alerta、Sensu、PagerDuty、Slack等。

延伸阅读
  • TDengine和InfluxDB查询性能对比测试报告

    我们之前已经发布了 TDengine 和 InfluxDB 的写入性能测试报告,今天我们再来对比一下两款时序数据库(Time-Series Database)产品的查询性能。1. 前言本报告包含了基础

  • TDengine VS InfluxDB写入性能大PK!

    大家好。为了更好地展现 TDengine 的性能与竞争力,我们涛思数据精心策划了《 TDengine 和 InfluxDB 的性能对比》系列测试报告。该系列报告的主要测试点为:数据写入性能查询响应速度

  • 对比InfluxDB和TDengine 基于InfluxDB

    TDengine Database开源项目里已经包含了性能对比测试的工具源代码。https://github.com/taosdata/TDengine/tests/comparisonTest,并基

关注公众号:拾黑(shiheibook)了解更多

赞助链接:

关注数据与安全,洞悉企业级服务市场:https://www.ijiandao.com/
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接