📑前言

在工业物联网的浪潮中,数据不再是副产品,而是驱动决策的核心资产。"随着物联网、工业互联网和智能监控的迅猛发展,时序数据正以前所未有的速度爆发。据预测,到2025年全球物联网设备将达750亿台,每秒都在产生海量的时间序列数据。如何高效地存储、管理与分析这些数据,已成为企业数字化转型的关键挑战。

作为一名长期深耕数据底层技术的开发者,我深刻体会到:选择一款合适的时序数据库,不仅关乎系统性能,更直接影响业务的稳定性与未来扩展性。今天,我想结合行业趋势与真实案例,和大家聊聊时序数据库的选型逻辑,并重点分享一款让我眼前一亮的开源利器——Apache IoTDB。

在这里插入图片描述

文章目录

  • 📑前言
  • 一、为什么需要时序数据库?
    • 1.1 什么是时序数据?
    • 1.2 时序数据的典型特征
  • 二、IoTDB 诞生的价值
    • 2.1 技术背景与自主研发
    • 2.2 核心功能与技术架构
    • 2.3 横向与纵向解决方案
  • 三、IoTDB 七大功能特性
    • 3.1 管得好:基于业务,便捷建模
    • 3.2 接得住:高频数据、乱序数据高写入
    • 3.3 存得下:首创标准文件格式TsFile
    • 3.4 处理强:支持时序特性查询分析
    • 3.5 智能化:AINode拥抱机器学习
    • 3.6 实时性:内置实时流处理功能
    • 3.7 云边协同:文件+引擎,全面数据协同
  • 四、Apache IoTDB的应用领域
  • 五、快速上手:三步体验IoTDB
    • 5.1 下载安装
    • 5.2 启动服务
    • 5.3 写入第一条数据(Java示例)
  • 结语

一、为什么需要时序数据库?

1.1 什么是时序数据?

时序数据,也称为时间序列数据,是指按时间顺序记录的同一统计指标的数据集合。这类数据的来源主要是能源、工程、交通等工业物联网强关联行业的机器设备和传感器,如汽车的车速、发动机转速,发电风车的功率、电压、电流等[5]

在这里插入图片描述

1.2 时序数据的典型特征

  • 测点多:在工业领域,设备数量可达百万级别,数据测点可达亿级,并随业务增长动态增加。
  • 采样频率高:在部分振动状态监控场景下,采样频次可达1kHz。
  • 存储成本高:数据的月增量可达10TB以上,并需长期存储海量历史数据[5]

在这里插入图片描述

时序数据库是专门用于管理时序数据的数据库类型。随着物联网设备和数据量的爆炸式增长,时序数据库通过管理和分析历史数据以及新产生的时序数据,能够助力工业企业实现数字化转型、工业4.0升级,进而达到降低成本、提高效率、提升产品质量等目的[5]

二、IoTDB 诞生的价值

2.1 技术背景与自主研发

IoTDB是一款国产自研的物联网原生时序数据库,其技术发源于清华大学,目前已历经13年的发展。IoTDB的诞生,主要是为了解决工业物联网时序数据管理的实时性、压缩比、分布式部署等多方面痛点[6][7][10]

在这里插入图片描述

开源版IoTDB是Apache基金会时序数据领域第一个Top-Level项目,其核心团队成立了天谋科技(北京)有限公司(以下简称“天谋科技”),专注IoTDB产品的打磨[6][7]

2.2 核心功能与技术架构

IoTDB提供数据采集工具,可对接多类协议,底层为纯自研列式存储文件系统TsFile,在此基础上设计存储、查询计算、流处理、分析引擎,以及系统管理模块与多种应用工具,并支持对接大数据生态,与单机版、分布式版、双活版等多类形态部署[6][7]

在这里插入图片描述

通过多项自研技术创新成果,IoTDB在不依赖第三方系统的情况下,可以实现高吞吐、高压缩、高可用的性能表现,并建立了物联网场景时序数据横向与纵向解决方案[7]

2.3 横向与纵向解决方案

  • 横向解决方案:以IoTDB为时序数据系统内核,通过其优异的存、读、写能力,上游对接多类采集协议,下游对接多类数据分析处理平台,可支持时序数据单平台采集、存储、计算、管理、应用全流程。
  • 纵向解决方案:将IoTDB部署于多个平台,实现跨厂、跨车间应用,IoTDB强大的数据同步能力与简便的数据同步机制,可支持跨平台端(设备侧/车间侧)、边(厂侧)、云(集团侧)数据协同[7]
    在这里插入图片描述

三、IoTDB 七大功能特性

IoTDB能够实现稳定、高效、易用的时序数据管理方案,在国际数据库基准测试性能排行榜benchANT中,IoTDB的读、写、压缩指标均排名第一。其功能特性可简单归结为“管得好、接得住、存得下、处理强、实时性、智能性、协同性”七个词[7]

3.1 管得好:基于业务,便捷建模

物联网场景中产线、设备产生的BOM数据是按照层级,彼此关联起来的。IoTDB实现了树形时序数据模型,能够直观地与BOM数据进行对应。同时对于需要新增或变更的设备,也能够做到自动化同步,有效降低了时序数据管理与运维的成本[7]

在这里插入图片描述

IoTDB自研的基于PBTree的元数据管理模型,可以实现亿级的时间序列管理规模,并降低数据冗余,能够通过高效的元数据存储提高IoTDB管理的数据质量。在树形模型基础上,IoTDB可以对序列级的权限进行更好的控制,比如可以为集团级、工厂级、产线级数据设置不同的权限范围,进而达到多层级数据高效管理的目的[7]

3.2 接得住:高频数据、乱序数据高写入

  • 高频数据写入:传统时序数据库一般因为采用行式数据写入,只能支持到秒级数据接入。IoTDB通过底层文件TsFile支持的列式数据写入,达到毫秒级的数据接入,相比竞品有10倍的性能优势[7]
  • 乱序数据写入:乱序数据在实际场景中非常常见,IoTDB首创了乱序分离存储引擎,用独有的顺乱序判断机制,将顺序数据与乱序数据分开,并通过多种空间合并的方法,消除乱序数据。IoTDB的乱序数据处理效率可以达到竞品的4倍以上[7]
    在这里插入图片描述

3.3 存得下:首创标准文件格式TsFile

时序数据存储方面一直面临海量数据导致存储成本高昂的问题,而IoTDB通过自研的时序数据标准文件格式TsFile解决了这一难题。TsFile结合列式存储、编码算法、分段摘要信息、文件级索引等架构,相比通用的文件格式,对时序数据的压缩比可以提升20%以上,达到无损压缩10倍以上、无损压缩100倍以上的压缩比[7]

在这里插入图片描述

另外,TsFile架构针对时序数据特性的优化,也使得IoTDB有效提升了时序数据的写入与查询效率。相比竞品,IoTDB的写入吞吐量提升了2-3倍,查询吞吐量则提升了2-10倍。值得一提的是,继IoTDB之后,TsFile已经被Apache基金会通过成为时序数据领域第二个Top-Level项目,这意味着其不但能够与IoTDB共同使用,还可以作为单独文件格式进行使用[7]

3.4 处理强:支持时序特性查询分析

时序数据因为强时间属性,在查询时用户很可能有一些特殊的、强关联时间的需求。IoTDB可提供降采样查询、最新点查询和时间分段查询。降采样查询可以去掉原始高频数据不必要的细节,还原数据的基本趋势;最新点查询通过缓存每个设备的最新值,实现毫秒级响应;时序分段查询可以根据数据的变化阈值、中断间隔等维度进行多样的分段查询[7]

在这里插入图片描述

IoTDB还提供一套UDF(用户自定义函数)体系,提供超过70种内置函数,可满足数据修复、数据图像、异常检测等时序数据计算需求。如果用户还有在这套体系之外的计算需求,也可自行在IoTDB中编辑、保存常用的UDF函数[7]

3.5 智能化:AINode拥抱机器学习

为了更好地让IoTDB实现智能化分析,IoTDB团队在2023年为IoTDB集群引入了智能分析节点AINode。AINode通过与集群管理节点(ConfigNode)、数据节点(DataNode)的交互,可以为用户提供模型注册、管理、推理的能力,结果可直接在IoTDB返回。同时也涵盖了时序数据适用的多类算法和自研模型,能够实现序列预测、异常预测等时序分析场景需要的深度学习功能[7][8]

在这里插入图片描述

3.6 实时性:内置实时流处理功能

IoTDB团队在2023年加入了实时流处理功能,可不间断地处理数据,并及时发现异常或分析趋势。IoTDB中,一个流处理任务(Pipe)包含抽取(Extract)、处理(Process)、发送(Connect)三个子任务,三个子任务可由三种独立插件进行实现,并允许用户自定义配置三个子任务的处理逻辑和具体属性,通过组合不同的子任务内核,实现灵活的数据ETL能力[7][8]

在这里插入图片描述

利用流处理框架,可以在IoTDB搭建完整、灵活的数据链路,实现毫秒级的低延迟响应,满足端边云数据同步、双活集群部署、网闸穿透、实时告警、数据订阅、异地灾备、读写负载分库等场景需求[7][8]

3.7 云边协同:文件+引擎,全面数据协同

工业物联网应用场景中,产生数据的设备可能来自于多个厂站,数据经常需要汇总至省域或集团进行分析,所以时序数据库需要多终端、多环境、多平台部署。IoTDB的数据同步基于可插拔的TsFile文件,并支持操作级、文件级的多种传输模式,与跨网闸传输、加密传输。同一个文件类型可在端、边、云侧进行协同传输,同步方案的易用性得以保障;传输模式多样则保障数据传输的实时性、吞吐量、安全性[7]

在这里插入图片描述

同时,IoTDB的数据同步支持数据在边侧进行必要的数据清洗与计算操作,再向云侧进行同步,能够最大化地利用边侧的算力资源,同时节省云侧算力资源。此外,企业因为业务扩张,往往也经常需要扩展数据库部署规模。IoTDB的分布式架构具备高扩展性,可以达到秒级扩容、无需迁移数据、灵活调整[7]

四、Apache IoTDB的应用领域

在这里插入图片描述

目前,天谋科技构建的IoTDB解决方案在业内得到了广泛应用,覆盖“天、空、地、海”各个层面。IoTDB落地的主要行业与应用效果有:

  • 电力:已有案例可支持千万级设备并发,管理百亿级累计数据,并支持设备端侧、现场边缘侧与中心云侧的端边云数据协同传输,与电力行业特性的跨网闸数据传输[7][8]
  • 储能:已有案例可达到毫秒级数据写入、毫秒级查询响应、超90倍压缩比,并实现大字段数据自动挂载、多字段、多路径、多关键词复杂查询等功能[7][8]
  • 钢铁:已有案例可用少量服务器管理集团全量数据,涉及装备数百万,时间序列达千万,并加速了数据的加工、抽取、备份过程,性能提升1个量级[7][8]
  • 太空:IoTDB于北邮一号卫星边缘侧成功部署,实现低CPU使用率及内存占用,与不定期关机场景下数据的自动保存与恢复,有效支持星-地数据协同[7][8]
  • 飞机制造:已有案例压缩率可达10倍,空间占用缩减为30%,预计节省百万存储成本,并协助实现异地工厂端与云中心侧的分布式数据互通和统一管理,与应用层、产线层、设备层多个应用系统的数据存储与调用[7][8]
  • 轨道交通:已有城轨案例管理列车数能力增加1倍,采样时间提升60%,需要服务器数降为1/9,月数据增量压缩后大小下降95%,实现日增4140亿数据点管理[7][8]
  • 车联网:已有案例管理约1.5亿时间序列,稳定支持千万级写入数据与单车时间范围查询、单车全时间序列最新点查询结果毫秒级返回[7][8]
  • 先进制造:已有案例压缩比达10倍以上,支持多种查询方式与多点位同时查询的需求,针对流程长、工艺复杂、精度高、数据量大的制造场景,支撑对核心指标进行实时分析[7][8]

目前,应用IoTDB的工业企业已经超过1000家,其中包括国家电网、中核集团、中航成飞、中国中车、中国气象局等国内企业,和博世力士乐、德国宝马、西门子、日本小松等海外企业。此外,IoTDB还被集成应用于华为、阿里、海尔、东方国信、用友等多个工业互联网平台中[7][8]

五、快速上手:三步体验IoTDB

5.1 下载安装

访问官方下载页:https://iotdb.apache.org/zh/Download/,获取最新版本[1]

5.2 启动服务

解压后执行 sbin/start-server.sh,默认6667端口启动[3]

5.3 写入第一条数据(Java示例)

import org.apache.iotdb.session.Session;public class FirstIoTDB {public static void main(String[] args) {try (Session session = new Session("127.0.0.1", 6667, "root", "root")) {session.open();// 创建时间序列String device = "root.vehicle.d001";session.createTimeseries(device + ".speed", TSDataType.DOUBLE, TSEncoding.PLAIN);// 写入数据long time = System.currentTimeMillis();double speed = 85.5;session.insertRecord(device, time, new String[]{"speed"}, new Object[]{speed});// 查询验证try (SessionDataSet dataset = session.executeQueryStatement("SELECT * FROM root.vehicle.*")) {while (dataset.hasNext()) {System.out.println(dataset.next());}}} catch (Exception e) {e.printStackTrace();}}
}

结语

作为专为物联网与时序数据打造的高性能数据库,Apache IoTDB 凭借高效存储、极速读写、灵活扩展三大核心优势,成为处理大规模 IoT 数据及时序数据的理想之选。其开源、分布式、易集成的特性,更让它在物联网、工业监控、智能城市等领域具备广泛且深入的应用潜力。​

若你正为海量时序数据的存储、处理难题困扰,不妨给 Apache IoTDB 一次实践机会 —— 它或许就是帮你搭建高效、稳定、可扩展数据架构的关键钥匙,为你的业务数据管理突破瓶颈。

官网地址:https://iotdb.apache.org
GitHub:https://github.com/apache/iotdb

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/95442.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/95442.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/95442.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一键核验,安全无忧!手机号三要素详情版API,为您的业务筑牢身份认证防线

一、什么是手机号三要素核验API? 手机号三要素核验API 是一种通过编程接口,实时验证一条个人身份信息是否与该国运营商登记的实名信息一致的在线服务。 这里的“三要素”特指: 姓名 身份证号码 手机号码 核验过程:用户提交上述三个…

轻松上手 qData 数据中台开源版:Docker Compose 助你10分钟跑起来

说在前面 谁适合看这份指南? 初次接触 qData,希望快速体验功能的小伙伴不想折腾复杂环境配置和前端打包的人想用“一键启动”省事体验完整平台的用户 我们已经为你准备好“开箱即用”的完整部署包,包括: ✅ 前端静态资源&…

Qt读写Excel--QXlsx基本使用

1、概述 Document 类是一个用于操作 XLSX 文件的类,继承自 QObject。它提供了对 Excel 文件的读写操作,包括单元格的读写、图片和图表的插入、单元格合并、列和行的格式化、数据验证和条件格式化等功能。此外,它还支持对工作簿和工作表的操作…

P13929 [蓝桥杯 2022 省 Java B] 山 题解

缩减一下题目的意思,问区间 [2022,2022222022] 有多少个数是回文数并且先单调不减,后单调不增。 因为有这两条条件,我们可以得知在判断时只用判断前半段的每个数是不是和对面相应的位置相等,以及是否单调不减。 为什么不用看后半段…

Unity Android 文件的读写

配置AndroidManifest 文件在Assets 目录下查找AndroidManifest 文件&#xff0c;添加权限声明&#xff0c;在application 节点中添加requestLegacyExternalStorage 属性。<!-- 权限声明 --> <uses-permission android:name"android.permission.READ_EXTERNAL_STO…

Pydantic模型验证测试:你的API数据真的安全吗?

url: /posts/03b2afdf35f55dbaef631710ab6da82c/ title: Pydantic模型验证测试:你的API数据真的安全吗? date: 2025-09-03T23:46:18+08:00 lastmod: 2025-09-03T23:46:18+08:00 author: cmdragon summary: Pydantic在FastAPI中用于数据验证和序列化,通过Python类型注解自动…

【Proteus仿真】AT89C51单片机中断系列仿真——INT0中断控制LED小灯/INT0和INT1中断控制数码管

目录 0案例视频效果展示 0.1例子1&#xff1a;INT0控制LED闪烁 0.2例子2&#xff1a;INT0中断控制数码管计数 0.3例子3&#xff1a;INT0中断实现秒表功能 0.4例子4&#xff1a;INT0INT1中断控制数码管计数 1基础知识补充——中断系统 1.1 中断源一览 1.2 控制寄存器 1…

MTK Linux DRM分析(三十三)- MTK mtk_mipi_tx.c

一、MIPI PHY驱动简介 1. MIPI 协议分层 应用层:显示(DSI)、摄像头(CSI)。 协议层:定义像素/图像帧如何封装成数据包。 物理层(PHY):具体电气信号传输方式 —— 这里就是 D-PHY 或 C-PHY。 2. D-PHY(Differential PHY) 传输方式:差分信号(类似 LVDS/USB/PCIe …

G2D 图形加速器

文章目录G2D 图形加速器1. 功能简介1.1 矩形填充1.2 旋转和镜像 (rotate and mirror)1.3 透明度混合1.4 colorkey1.5 缩放 (Stretchblt)2. G2D 框架3. 全志 G2D 使用示例3.1 使用G2D实现图像旋转缩放3.2 实时预览中加入旋转缩放功能G2D 图形加速器 G2D模块主要实现图像旋转、数…

【FPGA】单总线——DS18B20

目录 项目&#xff1a;项目&#xff08;含quartus工程、仿真文件&#xff09; 1. 单总线通信时序详解 1.1 初始化&#xff08;复位脉冲 存在脉冲&#xff09; 1.2 写时隙&#xff08;写“0”和写“1”&#xff09; 1.3 读时隙 2. DS18B20 暂存器与温度数据格式 2.1 暂存…

JUC的安全并发包机制

目录 1. Lock机制&#xff1a;明锁控制 2. 栅栏机制(CyclicBarrier) 3. 闭锁机制(CountDownLatch) 4. 信号量机制(Semaphore) 5. 无锁机制 1. Lock机制&#xff1a;明锁控制 Lock接口提供了比synchronized更灵活的锁机制&#xff0c;属于明锁&#xff08;需要手动获取和释…

开源企业级快速开发平台(JeecgBoot)

JeecgBoot 是一款基于 Spring Boot Vue 技术栈的开源企业级快速开发平台&#xff0c;旨在通过「低代码代码生成」模式降低企业级应用的开发成本&#xff0c;提升开发效率。其核心定位是“开箱即用的中后台解决方案”&#xff0c;覆盖权限管理、表单报表、工作流、代码生成等核…

探索 PostgreSQL 和 MySQL 之间的主要差异和相似之处,找到满足您项目需求的最佳数据库解决方案。

探索 PostgreSQL 和 MySQL 之间的主要差异和相似之处&#xff0c;找到满足您项目需求的最佳数据库解决方案。 探索 PostgreSQL 和 MySQL 之间的主要差异和相似之处&#xff0c;找到满足您项目需求的最佳数据库解决方案。 关系数据库已经存在了很长时间。事实上&#xff0c;关系…

如何画时序图、流程图、状态流转图

如何画时序图、流程图、状态流转图流程图符号约定时序图元素交互框最佳实践状态流转图在研发或者写技术方案的时候&#xff0c;我们经常会画各种图。图比文字更加容易理解一些&#xff0c;那么如何画出优秀好看的图呢下面简单介绍一些画图时需要注意的点 流程图 流程图是流程…

CSDN 与 掘金 高效学习指南

CSDN 和掘金&#xff08;juejin.cn&#xff09;是国内最活跃的技术社区&#xff0c;但信息量巨大、质量参差不齐。高效运用的关键是&#xff1a;从“被动浏览”转向“主动获取”&#xff0c;避免陷入“收藏一堆文章却学不会”的陷阱。 以下是为你量身定制的CSDN 与 掘金 高效学…

容器tomcat镜像制作

pull-tomcat镜像 docker pull tomcat启动 –security-opt 禁用默认的安全策略&#xff0c;放宽限制 docker run -d --name mysql-tomcat -p 8080:8080 --security-opt seccompunconfined tomcat:latest进入容器直接访问404&#xff0c;网页相关的webapps下面为空&#xff0c;将…

AC安全认证方式全解析

AC的几种安全认证方法认证方式 安全性 便捷性 典型应用场景 所需配置Portal认证 ​​中 高 访客网络、商场、 Portal服务 酒…

《垒球江西百科》男子垒球世界纪录·垒球9号位

男子垒球世界纪录终极盘点⚾ | 冷知识科普&#xff01;1. 最远本垒打距离 | Longest Home Run Distance纪录保持者&#xff1a; Jeff Hall (美国)距离&#xff1a; 643英尺 (约196米)赛事&#xff1a; 2012年 USSSA 慢投垒球锦标赛✨ 科普&#xff1a; 慢投垒球中&#xff0c;球…

设计模式六大原则2-里氏替换原则

肯定有不少人跟我刚看到这项原则的时候一样&#xff0c;对这个原则的名字充满疑惑。其实原因就是这项原则最早是在1988年&#xff0c;由麻省理工学院的一位姓里的女士&#xff08;Barbara Liskov&#xff09;提出来的。定义1&#xff1a;如果对每一个类型为 T1的对象 o1&#x…

Spring Security 深度学习(五): 过滤器链与自定义过滤器

目录1. 引言&#xff1a;揭开Spring Security的内部奥秘2. Spring Security 过滤器链核心机制2.1 DelegatingFilterProxy&#xff1a;整合Spring与Servlet容器2.2 FilterChainProxy&#xff1a;管理安全过滤器链的“总管”2.3 Security Filters&#xff1a;核心安全功能的承载者…