三种常用时序数据库对比调研-InfluxDB、Prometheus、IotDB

article/2025/8/19 13:44:51

1、引言

时序数据治理是数据治理领域核心、打通IT与OT域数据链路,是工业物联网基石、大数据价值创造的关键、企业管理提升的发动机、是数字化转型的重要支撑。

工业企业在生产经营过程中,会运用物联网技术,采集大量的数据并进行实时处理,这些数据都是时序的,而且具有显著的特点,比如带有时间戳、结构化、没有更新、数据源唯一等。

时序数据处理应用于智慧城市、物联网、车联网、工业互联网领域的过程数据采集、过程控制,并与过程管理建立一个数据链路,属于工业数据治理的新兴领域。

时序数据库的应用场景在物联网和互联网APM等场景应用比较多,下面是列举了一些时序数据库的应用场景,但不是全部:

  • 公共安全:上网记录、通话记录、个体追踪、区间筛选;
  • 电力行业:智能电表、电网、发电设备的集中监测;
  • 互联网:服务器/应用监测、用户访问日志、广告点击日志;
  • 物联网:电梯、锅炉、机械、水表等各种联网设备;
  • 交通行业:实时路况、路口流量监测、卡口数据;
  • 金融行业:交易记录、存取记录、ATM、POS机监测。

2、概述

2.1时序数据库的定义

时序数据是随时间不断产生的一系列数据,简单来说,就是带时间戳的数据。时序数据库 (Time Series Database,TSDB) 是优化用于摄取、处理和存储时间戳数据的数据库。此类数据可能包括来自服务器和应用程序的指标、来自物联网传感器的读数、网站或应用程序上的用户交互或金融市场上的交易活动。

其主要数据属性如下:

  • 每个数据点都包含用于索引、聚合和采样的时间戳。该数据也可以是多维的和相关的;
  • 写多读少,需要支持秒级和毫秒级甚至纳秒级高频写入;查询通常是多维聚合查询,对查询的延迟要求比较高
  • 数据的汇总视图(例如,下采样或聚合视图、趋势线)可能比单个数据点提供更多的洞察力。例如,考虑到网络不可靠性或传感器读数异常,我们可能会在一段时间内的某个平均值超过阈值时设置警报,而不是在单个数据点上这样做;
  • 分析数据通常需要在一段时间内访问它(例如,给我过去一周的点击率数据);

虽然其他数据库也可以在数据规模较小时一定程度上处理时间序列数据,但 TSDB可以更有效地处理随时间推移的数据摄取、压缩和聚合。简而言之,时序数据库是专门用于存储和处理时间序列数据的数据库,支持时序数据高效读写、高压缩存储、插值和聚合等功能。

2.2时序数据库的概念

时序数据库是专门处理时序数据的数据库,因此其相关概念是和时序数据紧密联系的,下面是时序数据库的一些基本概念。

  • 度量 Metric:Metric 类似关系型数据库里的表(Table),代表一系列同类时序数据的集合,例如为空气质量传感器建立一个 Table,存储所有传感器的监测数据。
  • 标签 Tag:Tag 描述数据源的特征,通常不随时间变化,例如传感器设备,包含设备 DeviceId、设备所在的 Region 等 Tag 信息,数据库内部会自动为 Tag 建立索引,支持根据 Tag 来进行多维检索查询;Tag 由 Tag Key、Tag Value 组成,两者均为 String 类型。
  • 时间戳 Timestamp:Timestamp代表数据产生的时间点,可以写入时指定,也可由系统自动生成;
  • 量测值 Field:Field描述数据源的量测指标,通常随着时间不断变化,例如传感器设备包含温度、湿度等Field;
  • 数据点Data Point: 数据源在某个时间产生的某个量测指标值(Field Value)称为一个数据点,数据库查询、写入时按数据点数来作为统计指标;
  • 时间线 Time Series :数据源的某一个指标随时间变化,形成时间线,Metric + Tags + Field 组合确定一条时间线;针对时序数据的计算包括降采样、聚合(sum、count、max、min等)、插值等都基于时间线维度进行;

2.3时序数据库的趋势

时序数据库的发展趋势,可以从DB-engines(Knowledge Base of Relational and NoSQL Database Management Systems)获取获取到,下图是DB-engines收录的数据库近24个月的发展趋势,其中时序数据库的活跃度最高,且随时间呈现越来越活跃的趋势。

 3、常用时序数据库测试

3.1读写测试

写入测试

指标

InfluxDB

Prometheus

IoTDB

10000

185ms

192ms

183ms

10000

186ms

195ms

120ms

20000

252ms

268ms

236ms

20000

264ms

273ms

219ms

30000

385ms

401ms

274ms

查询测试

指标

InfluxDB

Prometheus

IoTDB

10000

14ms

18ms

16ms

20000

31ms

32ms

35ms

40000

56ms

58ms

54ms

60000

75ms

82ms

78ms

90000

96ms

99ms

97ms

3.2 功能对比

DB-Engines提供的编辑信息

名字

InfluxDBX

Prometheus

Apache IoTDBX

描述

用于存储时间序列、事件和指标的 DBMS

开源时间系列DBMS和监控系统

具有高性能数据管理和分析的物联网原生数据库,可部署在边缘和云端,并与Hadoop,Spark和Flink集成

主数据库模型

时间序列数据库管理系统

时间序列数据库管理系统

时间序列数据库管理系统

辅助数据库模型

空间数据库管理系统

数据库引擎排名

得分       29.86

排    #29    整体

#1     时间序列数据库管理系统

得分       6.32

排    #67    整体

#3     时间序列数据库管理系统

得分       0.43

排    #255         整体

#20    时间序列数据库管理系统

网站

InfluxDB: Open Source Time Series Database | InfluxData

prometheus.io

iotdb.apache.org

技术文档

docs.influxdata.com/influxdb

prometheus.io/docs

开发人员

Apache Software Foundation

初始版本

2013

2015

2018

当前版本

2.0.8, 八月 2021

许可证信息

开源信息

开源信息

开源信息

仅基于云的信息

DBaaS 产品/服务信息

实现语言

Go

Go

Java

服务器操作系统

Linux

OS X

Linux

Windows

具有 Java 虚拟机的操作系统(>= 1.8)

数据方案

无架构

类型

数值数据和字符串

仅数字数据

XML支持

二级索引

断续器信息

类似 SQL 的查询语言

类似 SQL 的查询语言

API 和其他访问方法

HTTP API

JSON over UDP

RESTful HTTP/JSON API

JDBC

Native API

支持的编程语言

.Net

Clojure

Erlang

Go

Haskell

Java

JavaScript

JavaScript (Node.js)

Lisp

Perl

PHP

Python

R

Ruby

Rust

Scala

.Net

C++

Go

Haskell

Java

JavaScript (Node.js)

Python

Ruby

服务器端脚本

触发器

分布方法

分片

分片

复制方法

可选复制因子

地图共享资源

与Hadoop和Spark集成

一致性概念

没有

最终一致性

与Raft的强一致性

外键

交易概念

并发

耐久性

内存中功能

用户概念

通过用户账户进行简单的权限管理

系统供应商提供的详细信息

名字

InfluxDBX

Prometheus

Apache IoTDBX

具体特性

  1. InfluxData是开源时间序列数据库InfluxDB的创建者。 它专门用于处理物联网设备和传感器、应用程序、容器、VM 和网络生成的大量带时间戳的数据。借助 InfluxDB,开发人员可以快速、大规模地为物联网、分析和云原生服务构建实时应用程序。
  2. InfluxData专注于开发人员的幸福感和在开发人员所在的地方与他们会面 - 使用他们喜欢的工具以及无论他们在哪里构建应用程序:在云中,本地还是本地。InfluxData还致力于帮助开发人员更快地启动和运行,以便他们可以专注于其他事情。
  3. InfluxDB的客户范围从初创公司到财富500强企业,其用例跨越了每个垂直行业,例如消费者和工业物联网,安全,金融科技,可再生能源等。目前,全球有超过600,000个InfluxDB OSS的每日活动实例和超过50,000个注册开发人员使用InfluxDB Cloud;社区每年都在迅速发展。

\

  1. Apache IoTDB(物联网数据库)是一个时间序列数据管理系统,在物联网中集成了数据收集,数据存储,数据管理和数据分析。
  2. Apache IoTDB旨在解决物联网的痛点,即海量数据生成,高频采样,无序数据,特定分析要求,高存储和运维成本,物联网设备的低计算能力等。
  3. 它支持高频数据写入,低成本数据存储,低延迟查询,复杂分析等。
  4. “TsFile”是一种列存储文件格式,用于在Apache IoTDB中访问,压缩和存储时序数据。其结构基于LSM-Tree,减少了计算资源,优化了Apache IoTDB的性能。

竞争优势

  1. 价值实现时间
  • InfluxDB提供所有流行的语言和框架,使开发人员能够在几分钟内启动并运行,而不是几天或几周。借助易于使用的快速入门和文档,开发人员可以构建开放、可扩展且易于部署的应用程序。
  1. 社区与生态系统
  • InfluxDB拥有最大的云和开源开发人员社区,用于时序数据库解决方案。通过使社区能够为其他生态系统做出贡献并与其他生态系统集成,InfluxDB在所有用例中都具有更高的弹性,质量,使用和可配置性。Telegraf是InfluxDB的开源收集代理,目前拥有300多个插件,使开发人员不仅可以在数百个数据源中读取和写入指标,还可以转换和过滤这些指标。
  1. 实时实际操作
  • InfluxDB 通过实时分析提供可见性,以便开发人员可以快速对其数据采取行动,例如识别模式、预测未来结果以及将见解转化为行动。

\

  1. 低成本、高性能
  • 数千万点写入吞吐量
  • 压缩比高(优于1:10无损压缩),可大大节省服务器硬件成本。
  1. 易用性
  • 跨平台部署,仅依靠 JDK/JRE
  • 开箱即用
  • 独立于第三方系统和外部组件,降低运维成本。
  1. 多样化的数据处理和分析方法
  • 与Apache PLC4X、Apache Pulsar、Apache Flink、Apache Spark、Apache Zeppelin、Grafana等集成,构建完整的开源软件生态
  • 丰富的数据分析功能,如触发器、用户定义功能 (UDF)、选择进入、连续查询等。
  1. 物联网原生数据模型
  • 树状结构
  • 在单个节点中处理数百万台设备/数千万个时间序列
  • 自动创建模型。
  1. 通过“TsFile”的终端边缘云协同解决方案
  • 可部署为数据文件(“TsFile”,一种针对时序数据优化的列存储文件格式)、数据库或数据仓库
  • 在终端(例如现场设备),边缘(例如IPC)和云(内部或云服务器)之间同步“TsFile”,这可以避免重复计算和ETL成本。
  1. 低成本迁移
  • 通过适配器与各种TSDB(InfluxDB,Prometheus,KairosDB等)兼容

典型用户场景

  1. 物联网和传感器监控
  • 开发人员正在见证材料世界中每个可用表面的仪器化 - 从机器到人类。这些设备和传感器正在产生前所未有的数据量,软件需要扩展以满足这一需求。使用InfluxDB的开发人员可以利用数据在时间背景下提供的见解,使他们能够识别和预测随时间推移的趋势,确保任务关键型流程更加一致,高效和可靠。
  1. DevOps Monitoring & Tools for Developers
  • 微服务、容器化、弹性存储、软件定义网络、API 性能、身份验证故障、混合云等新兴趋势,都在不断推动 DevOps 监控和开发人员工具的边界。端点的数量和需要监控的指标的多样性迫使人们重新考虑“一刀切”的心态。现代 DevOps 监控和 DevTools 需要足够灵活,以便在通用框架上处理独特的应用程序和基础架构指标。
  1. 实时分析
  • 指标和事件的数量超出了任何人能够现实地解释和采取行动的能力。具有实时分析功能的机器学习对于从噪声中查找信号至关重要。组织是否需要实时分析来买卖股票,在机器发生故障之前对机器进行预测性维护,根据客户行为调整价格:实时处理,分析和处理时间序列数据是要解决的问题。

\

  1. 物联网/物联网
  2. 终端-边端-云协作
  3. 实时和历史时间序列分析

主要客户

  1. InfluxData拥有超过1,300名付费客户,其中客户包括MuleSoft,IBM,PayPal,Siemens,Tesla。

\

  1. 全球客户超过200家,包括博世、西门子、Komat'su、阿里巴巴等。

市场指标

  1. 增长最快的数据库可驱动 23,500 颗 GitHub 星
  2. 每天超过 600,000 个活动实例

\

  1. GitHub 上有 185 多个贡献者和 10,000 多次每月克隆
  2. 在2021年所有351个Apache项目中排名第7。
  3. 在国际会议/峰会上发表,如ICDE,VLDB,ApacheCon,构建物联网等。
  4. 在澳大利亚、巴西、中国、德国、日本、新西兰、美国等地实施。

许可和定价模式

  1. 具有闭源群集的开源核心,可在本地或云上作为托管服务使用。所有产品均可通过订阅获得。

\

  1. 开源:Apache License v2.0
  2. 商业/云/边缘版的定价由Timecho提供,并可根据要求提供。

3.3总结

系统供应商提供的详细信息

指标

InfluxDBX

Prometheus

Apache IoTDBX

优点

  1. Metrics+Tags
  2. 部署简单、无依赖
  3. 实时数据Downsample
  4. 高效存储
  1. Metrics+Tags
  2. 适用于容器监控
  3. 具有丰富的查询语言
  4. 维护简单
  5. 集成监控和报警功能
  1. 国产数据库
  2. 灵活部署策略
  3. 学习成本低
  4. 硬件成本低

缺点

  1. 开源版本没有集群功能
  2. 存在前后版本兼容问题
  3. 存储引擎在变化
  1. 没有集群解决方案
  2. 聚合分析能力较弱
  3. 它并不是为了解决大容量存储问题,TB级以上数据建议保存到远端TSDB中;
  4. 它是为运行时正确的监控数据准备的,无法做到100%精准,存在由内核故障、刮擦故障等因素造成的微小误差。
  1. 暂时不支持集群
  2. TSFile结构版本单一
  3. 计算层薄弱


http://chatgpt.dhexx.cn/article/WjAdhPKT.shtml

相关文章

时序数据 mysql存储_【时序数据库】时序数据库介绍

1.基本概念 时序数据库(Time Series Database)是用于存储和管理时间序列数据的专业化数据库。时序数据库特别适用于物联网设备监控和互联网业务监控场景。 下面介绍下时序数据库的一些基本概念(不同的时序数据库称呼略有不同)。 1.1 度量(metric) 监测数据的指标,例如风力和温…

mysql 时序数据库_时序数据库介绍和使用(转)

1.基础 1.1 时序数据的定义 什么是时间序列数据(Time Series Data,TSD,以下简称时序)从定义上来说,就是一串按时间维度索引的数据。用描述性的语言来解释什么是时序数据,简单的说,就是这类数据描述了某个被测量的主体在一个时间范围内的每个时间点上的测量值。它普遍存在于…

关于时序数据库

https://blog.csdn.net/ransom0512/article/details/78114167 看了一些时序数据库,没有太深入,有一些大概认识,记录下来。 1. 核心 数据存储分为行存储或者列存储,由于列存储的高压缩比,现在使用列存储的比较多一…

时序数据库Machbase

Background 最近偶然接触到Machbase,发现相关信息很少,于是自己做了一些简单的了解,这里记录下,方便有兴趣的童靴参考哈。 1、官方介绍 Machbase是韩国的一家公司开发的一款类似InfluxDB、DolphinDB、TDengine等时序数据库产品&am…

用友:时序数据库要更懂业务场景

本文来自IT168 作者卢敏 时序数据库是针对时间戳或时间序列数据优化的数据库。比如工业企业为了管好工业设备,需要用传感器收集一些带有时间标签的数据,这些数据既要求“超大规模数据瞬时写入”,又要求实现乱序管理。 用友网络助理总裁何冠…

InfluxDB时序数据库

InfluxDB是一个由InfluxData开发的开源时序型数据。它由Go写成,着力于高性能地查询与存储时序型数据。InfluxDB被广泛应用于存储系统的监控数据,IoT行业的实时数据等场景。 InfluxDB有三大特性: Time Series (时间序列&#xff…

【技术选型】时序数据库选型

文章目录 1、前言2、概述2.1 时序数据库的定义2.2 时序数据库的概念2.3 时序数据库的趋势 3、时序数据库对比3.1 influxdb3.2 Prometheus3.3 TDengine3.4 DolphinDB 4、选型结论 1、前言 时序数据治理是数据治理领域核心、打通IT与OT域数据链路,是工业物联网基石、…

mysql时序性数据库_时序数据库入门

数据库的模型包含关系型、key-value 型、Document 型等很多种,那么为什么新型的时序数据库成为监控数据存储的新宠呢? 下面就会从 为什么需要时序数据库? 时序数据库的数据结构 两个方面来介绍一下时序数据库。 1. 为什么需要时序数据库 1.1 …

时序数据库详解和使用

1.基础 1.1 时序数据的定义 什么是时间序列数据(Time Series Data,TSD,以下简称时序)从定义上来说,就是一串按时间维度索引的数据。用描述性的语言来解释什么是时序数据,简单的说,就是这类数据描…

时序数据库 InfluxDB

目录 一、介绍 二、安装 三、inflxudb保留字 四、基本语法 1、客户端操作 1. 数据库操作 2. 数据表和数据操作 3. series 操作 4.Shard 5. 用户操作 2、API操作 状态码 3、Java操作 五、常用函数 六、存储策略 1.查看策略 2.创建策略 3、修改策略 4. 删除…

时序数据库介绍

目录 1 .什么是InfluxDB 2.那么时序数据有什么特点呢? 3.对于时序数据,我们总结了以下特点: 4.业务方常见需求 5.时序数据库为了解决什么问题? 6.InfluxDB的优势 1 .什么是InfluxDB InfluxDB是一个开源的、高性能的时序型数…

4款堪称神器的电脑黑科技软件,让人相见恨晚

Syncthing https://syncthing.net/ 一款免费的开源跨平台文件同步客户端、服务器工具。支持Linux、Windows、OSX、FreeBSD以及Solaris等系统,具有一个强大的响应式的网页管理界面,能够帮助用户简便地添加、删除和管理通过网络进行同步的文件夹。支持用…

4个超级实用的黑科技软件神器,让你爱不释手!

EyeLoveU 一款免费的眼睛保护工具,主要功能分为两种提醒模式:定时提醒、智慧提醒,用户可以设定不同的提醒时间,或者工作持续多久后进入休息模式。 Rolan 一款轻量级系统启动器管理工具。支持添加一些常用系统功能,如…

目前最值得推荐的几款黑科技APP,快来收藏吧!

说到黑科技APP,每个人都有自己喜欢的,但是都有一个共同特性,那就是装逼神器、时尚大气、实用性强等等。那么今天我就来给大家推荐几款瞬间提高逼格的黑科技APP我们来一起看看吧! 一、魔音音乐 音乐是缓解学习和工作压力的最有效…

学计算机必备软件,电脑必备6个黑科技软件,每个都是顶尖,学习、工作必不可少!...

原标题:电脑必备6个黑科技软件,每个都是顶尖,学习、工作必不可少! 现在基本上已经是信息的时代,我们生活中几乎很难离开两样东西:一个是电脑、一个手机。我们经常会在电脑和手机上边下载或者是安装好多个软…

5款用得最爽的黑科技软件神器,每一款都好用到你无以伦比

闲话少扯,直接切入正题,5款软件件,值得你高调的收藏的! 1、一粒云盘软件 一款专注于企业数据管理的操作软件,每一个精细的权限下都是一次小小的改革,主要用于大型企业的数据资产保护,一个规模…

盘点那些功能强大的黑科技软件:竟然可以如此简单?

随着移动互联网的全球话普及,越来越多黑科技软件渗透到我们的日常生活和工作中,方便着人们的衣食住行。 今天就给大家分享几款比较小众但是却很神器的黑科技软件,用了他们你才知道,原来生活可以如此便捷! 1、拍手寻手机clap 据研究表明,80%的手机用户每年至少有3次找不…

EasyRecovery15专业电脑数据恢复黑科技软件

EasyRecovery数据恢复专家是一款专业数据恢复软件,软件支持文件、照片、视频等600多种文件格式恢复。支持的设备类型包括:电脑/笔记本、回收站、U盘、硬盘、移动硬盘、内存卡、数码设备等各类。先预览再恢复、免费扫描、一键恢复。免费试用!重…

有趣的计算机黑科技,6个让你欲罢不能的电脑黑科技软件,我一定要分享出来!...

办公中最常用的设备就是电脑了,我们使用电脑办公讲究的是效率,那么在大家的电脑上,都有哪些不错的软件呢?我也知道很多不错的软件,今天就给来大家分享6个能让你欲罢不能的电脑黑科技软件,快来一起看一看&am…

无需root计算机隐藏应用,应用隐藏大师APP一款极为隐秘的黑科技软件,无需Root 支持双开...

添加之后在应用隐藏大师中会生成一款“复制的应用”,运行的时候会给你两个选择 隐藏:会卸载掉桌面上原有的应用 启动副本:会保留桌面的应用并启动副本(相当于双K) 建议:如果你单纯想隐藏应用请选择“隐藏”,这样的话只…