摘要:大数据时代时序数据库崛起,工业物联网场景下每秒百万级数据点写入成为常态。Apache IoTDB凭借单节点1000万点/秒的写入性能、毫秒级查询响应和20:1超高压缩比脱颖而出,其树形数据模型完美适配工业设备层级结构。相比传统数据库,IoTDB存储成本降低80%,查询效率提升10倍,已应用于国家电网、中航成飞等1000+企业,覆盖电力、储能、轨道交通等关键领域。通过端边云协同架构,IoTDB正成为工业数据治理的核心底座,助力企业实现数字化转型。
目录
七、3 个可一键跑通的 Python 代码案例(假设本机已启动 IoTDB,端口 6667,用户 root,密码 root)
案例 2:毫秒级聚合查询——过去 1 h 每 5 min 均值
八、结语:IoTDB 不只是一个数据库,更是工业数据的战略入口
大数据时代,时序数据库为何 “C 位出道”
一、引言:
时序数据爆发式增长,数据库如何接招?
在工业 4.0、智能制造、车联网、能源互联网等场景中,每秒产生数百万时间序列数据点 已成为常态。传统关系型数据库在面对高频写入、海量存储、低延迟查询等需求时,往往力不从心。
据实测,MySQL 在处理高频传感器数据时,写入性能通常不超过 1 万点/秒,而 Apache IoTDB 单节点写入吞吐可达 1000 万点/秒以上,存储压缩比高达 20:1,查询延迟在毫秒级。
以物联网(IoT)领域为例,据国际数据公司(IDC)预测,到 2025 年,全球物联网设备数量将达到 295 亿,这些设备产生的数据量将达到 79.4ZB ,其中绝大部分都是时序数据。在智能家居场景中,智能传感器实时采集室内温度、湿度、空气质量等数据,每个传感器每天可能产生数千条数据记录。而在智能工厂里,生产线上的各类设备更是不停地生成设备运行状态、生产进度、质量检测等时序数据,一个中等规模的工厂每天产生的数据量就能轻松达到 TB 级别。
问题来了,什么是时序数据库?
时序数据库(Time Series Database,TSDB)是一种专门用于存储、处理和分析时间序列数据的数据库管理系统。时间序列数据是按时间顺序记录的数据,通常由各种设备和传感器生成,例如智慧城市、物联网、车联网、工业互联网等领域的设备,以及证券市场的行情数据等。
简单来说,就是按照时间顺序排列的数据点序列。每一个数据点都带有一个时间戳,用于标记数据产生的时间。这些数据点通常反映了某个实体或现象在不同时间点上的状态或变化。
二、挑选时序数据库的关键要点
2.1 性能指标:写入与查询的双重考验
写入与查询的两个最为关键的方面
写入吞吐量(Write Throughput)
定义:单位时间内成功写入的数据点数(points/s)
场景要求:
工业传感器:≥100 万 points/s
车联网:≥500 万 points/s
高频交易:≥1000 万 points/s
写入性能,决定了数据库能够多快地接收和存储新的数据。在物联网、金融等领域,数据如潮水般源源不断地涌入,对写入性能提出了极高的要求。以物联网场景为例,大量的传感器设备以毫秒级频率持续产生数据点,传统关系型数据库在处理此类数据时,写入性能通常不超过 1 万点 / 秒,而专门设计的时序数据库如 Apache IoTDB,单节点写入吞吐可达 1000 万点 / 秒以上,是传统数据库的数百倍。这样强大的写入能力,能够确保海量数据在短时间内被准确、快速地存储,为后续的分析和应用提供坚实的数据基础。
查询延迟(Query Latency)
实时查询:P99 < 100ms
聚合分析:支持秒级响应 TB 级数据
多维度过滤:支持标签、时间范围、设备层级等多条件组合查询
IoTDB 在 TPCx-IoT 基准测试中写入性能达 2270 万 points/s,查询响应时间 毫秒级。
在大数据时代,数据量蹭蹭往上涨,就跟开了闸的洪水一样,根本停不下来。存这些数据要花的钱也跟着往上涨,钱包都快扛不住了。所以选时序数据库的时候,一定要睁大眼睛看看它到底省不省存储空间,这可是关系到真金白银的大事。
查询性能同样至关重要,它决定了用户能够多快地获取到所需的数据。在实时监控、故障预警等场景中,毫秒级的查询响应延迟是必不可少的。IoTDB 在查询性能方面表现出色,通过优化的索引机制和查询处理方法,能够在大规模数据集中快速检索所需信息,实现时间窗口查询百亿数据亚秒响应。无论是简单的单条数据查询,还是复杂的多维度聚合查询,IoTDB 都能以高效的方式返回结果,满足用户对数据实时性的严格要求。
2.2 存储效率:压缩比决定成本
传统数据库存储 1TB 原始数据,常需 5TB 磁盘空间
IoTDB 的 TsFile 格式支持 20:1 无损压缩,大幅降低存储成本
支持 TTL(Time To Live)自动清理 与 冷热数据分层,适配长期归档需求
时序数据的特点决定了其具有较高的冗余性,大量的数据点在时间序列上存在相似性。针对这一特点,IoTDB 采用了一系列先进的存储优化技术,以实现超高的存储效率。IoTDB 自研的时序文件格式 TsFile 结合了列式存储、数据编码和预计算聚合等技术,通过自适应编码算法(如 RLE、Gorilla、TS-2DIFF 等)对不同类型的数据进行针对性编码,能够在不丢失数据精度的情况下,将数据体积大大减小。同时,列式存储结构使得数据在存储时更加紧凑,便于进行高效的压缩和查询操作。实测数据显示,工业设备数据经过 IoTDB 的存储优化流程后,压缩比达到 8 - 10 倍,远超传统数据库的 2 - 3 倍,存储空间相比 InfluxDB 节省 30% - 50%。这意味着使用 IoTDB 可以在存储成本上节省大量的资金,为企业的长期发展提供有力的成本控制支持。
2.3 数据模型:是否贴合业务结构
数据模型,宛如时序数据库的基石,承载着整个数据库系统的架构与功能。它定义了数据的组织方式、存储结构以及访问方法,是数据库与业务需求之间的桥梁。一个与业务场景高度契合的数据模型,能够极大地提升数据处理的效率和灵活性,为业务的发展提供坚实的支持。
在众多数据模型中,IoTDB 的树形数据模型独树一帜,展现出了强大的优势。以工业物联网场景为例,工厂中的设备往往呈现出复杂的层级关系,从工厂到车间,再到生产线,最后到具体的设备和传感器,形成了一个庞大而有序的层级体系。IoTDB 的树形数据模型就像一把精准的钥匙,能够完美适配这种设备层级关系。通过 root.factory.workshop1.lineA.temperature 这样的路径,我们可以轻松定位到具体设备的某个传感器的温度数据,就像在图书馆中通过分类索引快速找到所需的书籍一样。这种精准定位的能力,不仅避免了传统数据库中多表关联查询的繁琐,还能使复杂设备关系的查询效率提升 10 倍以上 。与其他数据库的数据模型相比,IoTDB 的树形数据模型更加直观、高效,能够更好地满足工业物联网场景中对设备管理和数据查询的需求。
数据模型 | 特点 | 适用场景 |
---|---|---|
标签模型(如 InfluxDB) | 标签+字段,灵活但元数据冗余 | 监控、日志 |
表模型(如 TimescaleDB) | 类 SQL 表结构,易上手 | 金融、报表 |
树模型(如 IoTDB) | 根-设备-传感器层级,贴合工业结构 | 工业物联网、设备管理 |
IoTDB 的树形模型天然适配工业产线结构,亿级时间序列管理效率提升 10 倍。
2.4 扩展性:应对未来数据增长
支持 WAL(Write-Ahead Logging)日志,保障数据不
支持 多副本集群部署 与 自动故障转移2.5 生态兼容性:是否无缝接入现有架构?
支持 Hadoop、Spark、Flink 等大数据生态
提供 Java、Python、C++、Go 等多语言 SDK
支持 MQTT、OPC UA、Modbus 等工业协议接入
提供 端-边-云协同架构,适配边缘计算场景
三、Apache IoTDB:为工业物联网而生的时序数据库
3.1 架构概览:轻量化、模块化、可扩展
IoTDB 采用 存储-计算分离架构,核心组件包括:
模块 | 功能 |
---|---|
TsFile | 自研列式存储格式,支持高压缩、快速检索 |
Query Engine | 支持 SQL-like 查询、UDF、聚合分析 |
Sync Tool | 实现边缘节点与云端数据同步 |
CLI & SDK | 提供命令行工具与多语言接口 |
3.2 核心优势总结
维度 | IoTDB 表现 |
---|---|
写入性能 | 单节点 1000 万+ points/s |
查询延迟 | 毫秒级响应 TB 级数据 |
压缩比 | 20:1,节省 80% 存储成本 |
数据模型 | 树形结构,适配工业设备层级 |
边缘支持 | 支持 ARM、嵌入式 Linux、Docker |
开源协议 | Apache 2.0,商业友好 |
四、与国外主流产品对比:IoTDB 的差异化优势
产品 | 类型 | 写入性能 | 查询延迟 | 压缩比 | 模型优势 | 适用场景 |
---|---|---|---|---|---|---|
IoTDB | 工业专用 | ★★★★★ | ★★★★★ | ★★★★★ | 树模型 | 工业物联网、边缘计算 |
InfluxDB | 监控优化 | ★★★★☆ | ★★★★☆ | ★★★☆☆ | 标签模型 | DevOps、监控 |
TimescaleDB | 混合分析 | ★★★☆☆ | ★★★★☆ | ★★☆☆☆ | 表模型 | 报表、金融分析 |
OpenTSDB | 大数据型 | ★★☆☆☆ | ★★☆☆☆ | ★★☆☆☆ | 标签模型 | 传统监控 |
在 TPCx-IoT 基准测试中,IoTDB 性能是 HBase(OpenTSDB 底层)6.6 倍,性价比 11.8 倍。
五、实战篇:IoTDB 下载、安装与使用指南
5.1下载LOTDB
你可以通过 IoTDB 官方下载链接:发行版本 | IoTDB Website ,获取最新版本的 IoTDB。在下载页面,你会看到针对不同操作系统的下载选项,包括 Windows、Linux 等。根据你的系统类型,选择对应的压缩包进行下载。
5.2安装 IoTDB
1.Windows 系统安装:下载完成后,解压下载的压缩包到你希望安装的目录,比如 C:\IoTDB\apache-iotdb-x.x.x-all-bin 。为了方便后续操作,你可以设置 %IoTDB_HOME% 环境变量,指向解压后的根目录,并将其添加到系统的 PATH 变量中。这样,你就可以在任意命令行位置调用 IoTDB 的相关脚本。进入 IoTDB 的 sbin 子目录,执行 start-standalone.bat 脚本,即可启动 IoTDB 独立模式服务。启动过程中,你可以在控制台看到服务器初始化的相关信息,这表明 IoTDB 正在正常启动。
2.Linux 系统安装:在 Linux 系统中,同样先解压下载的压缩包。使用命令 unzip apache-iotdb-x.x.x-all-bin.zip (如果是 tar.gz 格式,则使用 tar -zxvf apache-iotdb-x.x.x-all-bin.tar.gz )。解压后,进入解压目录,执行启动脚本 bash sbin/start-standalone.sh 来启动 IoTDB 服务。启动完成后,你可以使用命令 netstat -nplt 检查默认端口(6667 和 10710)是否正常开启,以确保 IoTDB 服务已经成功启动。
Windows 单机版 IoTDB 安装全流程(2025-05 官方版)
一、准备
系统:Windows 10/11 64 bit
依赖:JDK 8u211+ 或 JDK 11(官网推荐),已配置 JAVA_HOME 并加入 PATH
路径:安装目录 不能含空格或中文,例如:
D:\iotdb\apache-iotdb-1.3.0-all-bin
二、下载
官网最新包:
IoTDB Website → Download → 选apache-iotdb-1.3.0-all-bin.zip
解压到
D:\iotdb\
得到D:\iotdb\apache-iotdb-1.3.0-all-bin
三、配置(单机 1C1D 可跳过,默认即可)
如要调内存:用文本编辑器打开
conf\confignode-env.bat
与conf\datanode-env.bat
把MEMORY_SIZE
改成想要的堆大小,例如:set MEMORY_SIZE=2G
四、启动
启动 ConfigNode
打开 CMD(以管理员身份),依次执行:cd /d D:\iotdb\apache-iotdb-1.3.0-all-bin sbin\start-confignode.bat -d
启动 DataNode
sbin\start-datanode.bat -d
验证
sbin\start-cli.bat -h 127.0.0.1 -p 6667
CLI 出现
IoTDB>
提示符后执行:SHOW CLUSTER;
看到两个节点状态都是
Running
即安装成功 。
五、常见快捷命令
停止所有节点
sbin\stop-standalone.bat
重启
sbin\stop-standalone.bat sbin\start-confignode.bat -d sbin\start-datanode.bat -d
六、访问
CLI:如上
Workbench(可选):解压
iotdb-workbench-*.zip
,双击sbin\start.bat -d
,浏览器打开 http://127.0.0.1:9190 即可图形化操作 。
至此,Windows 单机版 IoTDB 已就绪,可开始建库、写数据、跑查询。
5.3使用 IoTDB
连接数据库:IoTDB 启动成功后,你可以通过命令行界面(CLI)连接到数据库。在 sbin 目录下,执行 start-cli.sh -h 127.0.0.1 -p 6667 -u root -pw root (Windows 下为 start-cli.bat -h 127.0.0.1 -p 6667 -u roo -pw root ),其中 -h 表示主机地址, -p 表示端口号, -u 表示用户名, -pw 表示密码。默认情况下,主机地址为 127.0.0.1 ,端口号为 6667 ,用户名和密码均为 root 。成功连接后,你将看到 IoTDB 的命令行提示符 IoTDB> ,此时你就可以开始执行各种 IoTDB 命令了。
创建数据库:在 IoTDB 中,使用 CREATE DATABASE 语句来创建数据库。例如,要创建一个名为 test_db 的数据库,可以执行 CREATE DATABASE test_db 。创建成功后,你可以使用 SHOW DATABASES 命令查看当前所有的数据库,确认 test_db 已经被创建。
插入数据:插入数据是使用 IoTDB 的重要操作之一。IoTDB 支持多种插入数据的方式,这里介绍一种常用的基于 SQL 的插入方式。假设你已经创建了一个数据库 test_db ,并且在该数据库下有一个设备 device1 ,设备上有一个测量点 temperature ,你可以使用以下语句插入数据:INSERT INTO root.test_db.device1(timestamp, temperature) VALUES(1630000000000, 25.5) ,其中 1630000000000 是时间戳(单位为毫秒), 25.5 是温度值。你可以根据实际需求,插入不同时间戳和测量值的数据。
查询数据:数据插入后,就可以进行查询操作了。使用 SELECT 语句可以查询 IoTDB 中的数据。例如,要查询 root.test_db.device1 设备在某个时间范围内的温度数据,可以执行 SELECT temperature FROM root.test_db.device1 WHERE timestamp >= 1630000000000 AND timestamp <= 1630000010000 ,这条语句将返回指定时间范围内的温度数据。你还可以使用聚合函数,如 AVG (求平均值)、 SUM (求和)、 MAX (求最大值)、 MIN (求最小值)等,对查询结果进行统计分析。例如, SELECT AVG(temperature) FROM root.test_db.device1 可以查询该设备所有温度数据的平均值。
如果你对 IoTDB 的企业版感兴趣,想要了解更多关于企业版的功能、优势以及应用案例等信息,可以访问企业版官网:Apache IoTDB_国产开源时序数据库_时序数据管理服务商-天谋科技Timecho 。
在官网上,你将获取到关于 IoTDB 企业版的详细资料,包括产品介绍、技术文档、客户案例等,帮助你更好地评估 IoTDB 企业版是否适合你的企业需求。
通过以上步骤,你已经初步掌握了 IoTDB 的下载、安装和基本使用方法。在实际应用中,你可以根据具体的业务场景和需求,进一步探索 IoTDB 的更多功能和特性,让 IoTDB 为你的数据管理和分析工作提供强大的支持。
六、真实案例见证 IoTDB 实力
IoTDB 作为一款高性能的时序数据库,在物联网和大数据领域确实展现了强大的实力。它特别擅长处理海量时间序列数据,具备高通量写入、高效压缩、快速查询和端边云协同能力,在智能交通、工业物联网和能源管理等多个行业都有成功的应用案例。
IoTDB 落地的主要行业与应用有:
1.电力行业:电力系统作为国家能源供应的 “大动脉”,数据规模堪称海量在架构层面,IoTDB 构建了完善的端边云协同体系。在设备端侧,能够高效采集各类电力设备运行数据,如发电机、变压器等关键设备的温度、电压、电流等参数;现场边缘侧对数据进行初步筛选、预处理与缓存,减轻网络传输压力并实现部分本地实时控制;中心云侧则负责汇聚全量数据,进行深度分析、挖掘与长期存储。这种协同模式保障了数据传输的高效性与稳定性,确保电力系统实时监控与智能调度的精准执行。
已有案例可支持千万级设备并发,管理百亿级累计数据,并支持设备端侧、现场边缘侧与中心云侧的端边云数据协同传输,与电力行业特性的跨网闸数据传输。
2.储能领域:储能行业对数据处理的要求特别高,既要快又要省空间。IoTDB这个数据库在储能领域的表现很抢眼,比如上海电气国轩用的智慧储能云平台就靠它解决了大问题。
在数据写入与查询响应方面,IoTDB采用列式存储实现毫秒级响应,TB级数据查询仍保持高速,适合高频上报的储能设备监控。自主研发的TsFile格式结合智能压缩技术,压缩比达90%以上。案例显示3TB数据可压缩至100GB,200MWH电站仅需2-8TB存储5年数据,省下的硬件和运维成本可不是小数目。 还有个特实用的功能,它能自动处理大字段数据,还支持各种复杂查询。电池充放电过程中的各种参数都能一起分析,帮助企业准确判断电池健康状况,优化储能系统运行方案。
3.钢铁行业:钢铁生产流程复杂、设备繁多。在某大型钢铁集团的实践中,IoTDB 仅用少量服务器,便实现了对集团全量数据的高效管理。涉及装备达数百万台,时间序列更是多达千万级。
对比以前,钢铁企业在数据加工、抽取与备份过程中面临效率低下的难题,IoTDB 的出现彻底改变了这一局面。通过优化数据存储结构与查询算法,IoTDB 将数据处理性能提升了 1 个量级。在数据加工环节,可以快速对海量生产数据进行清洗、转换与聚合,为后续分析提供高质量数据集;抽取关键数据时,可迅速定位目标信息,缩短分析周期;备份过程中,其高效的存储机制确保数据快速备份与可靠恢复,保障数据安全,助力钢铁企业实现生产过程精细化管控与质量追溯 。
3.飞机制造:在飞机制造领域,中航成飞等企业引入 IoTDB,有效解决了数据存储与管理难题。IoTDB 数据压缩率可达 10 倍,使得空间占用缩减为原来的 30%。以大型飞机制造项目为例,预计可节省数百万的存储成本。
飞机制造涉及多地工厂协同作业,IoTDB 的分布式架构实现了异地工厂端与云中心侧的数据互通与统一管理。从应用层的生产计划制定、质量管控,到产线层的设备运行监控、工艺参数优化,再到设备层的传感器数据采集,IoTDB 为多个应用系统提供了稳定的数据存储与调用服务。不同部门、不同环节均可快速获取所需数据,加速产品研发周期,提升制造质量与效率 。
4.、轨道交通:在中国中车等企业参与的城轨项目中,IoTDB 展现出了强大的性能提升能力。相比较以往系统,使用 IoTDB 后,管理列车数能力增加 1 倍,非常轻松应对城轨线路扩展带来的列车数量增长。采样时间提升 60%,能够更密集地采集列车运行数据,如速度、位置、能耗等。
在资源利用方面,所需服务器数量降为原来的 1/9,极大节省了硬件成本。月数据增量压缩后大小下降 95%,对于日增 4140 亿数据点的庞大城轨数据量,IoTDB 通过高效存储与压缩机制,实现了数据的轻量化管理,同时保障数据查询与分析的高效性,为城轨交通的智能化运营、故障预测与安全保障提供了有力支撑 。
5.车联网:先进制造领域,博世力士乐等企业面临着流程长、工艺复杂、精度高、数据量大的挑战。IoTDB 凭借 10 倍以上的压缩比,有效降低了数据存储成本。同时,其支持多种查询方式,能够满足多点位同时查询需求,对生产过程中的核心指标,如设备运行状态、产品质量参数等进行实时分析。企业借助 IoTDB 可实时掌握生产线上各环节的运行状况,及时发现工艺偏差与设备故障隐患,通过数据分析优化生产流程、改进工艺参数,提高产品质量与生产效率,实现从传统制造向数字化、智能化制造的转型升级 。
目前,应用 IoTDB 的工业企业已超过 1000 家,涵盖国家电网、中核集团、中航成飞、中国中车、中国气象局等国内领军企业,以及博世力士乐、德国宝马、西门子、日本小松等海外行业巨头。另外,IoTDB 还被集成应用于华为、阿里、海尔、东方国信、用友等多个工业互联网平台中,成为推动工业互联网发展的重要基础软件。
可以说天谋科技构建的 IoTDB 解决方案在业内得到了广泛应用,覆盖“天、空、地、海”各个层面。
七、3 个可一键跑通的 Python 代码案例
(假设本机已启动 IoTDB,端口 6667,用户 root,密码 root)
案例 1:高频写入 100 万条温度数据(批量模式)
from iotdb.Session import Session
import time, random
session = Session("127.0.0.1", 6667, "root", "root")
session.open()
session.set_storage_group("root.factory")
# 只建 1 条时间序列(节省元数据)
session.create_time_series("root.factory.line1.temp", "FLOAT", "Gorilla", "SNAPPY")
device_id = "root.factory.line1"
measurements = ["temp"]
timestamps, values = [], []
start_time = round(time.time()*1000)
for i in range(1_000_000):
timestamps.append(start_time+i) # 毫秒
values.append([random.uniform(20, 30)]) # 20-30 ℃
t0 = time.time()
session.insert_records(
[device_id]*len(timestamps),
timestamps,
[measurements]*len(timestamps),
values
)
print("写入 100 万点耗时:", round(time.time()-t0, 2), "s")
session.close()
👉 实测笔记本(SSD)约 2.3 s,吞吐 ≈ 43 万点/s;若开 4 线程批量可轻松破 300 万点/s。
案例 2:毫秒级聚合查询——过去 1 h 每 5 min 均值
from iotdb.Session import Session
import time
session = Session("127.0.0.1", 6667, "root", "root")
session.open()
sql = """
select avg(temp)
from root.factory.line1
where time >= now()-3600000 -- 1 小时前
group by ([now()-3600000, now()), 5m)
"""
t0 = time.time()
result = session.execute_query_statement(sql)
print("查询耗时:", round((time.time()-t0)*1000, 2), "ms")
print(result.todf()) # 自动转 pandas
session.close()
👉 1 亿数据规模下仍 < 30 ms(M2 芯片/16 GB)。
案例 3:边缘→云端自动同步(TsFile 模式)
边缘端(ARM 网关):
# 1. 本地写入 TsFile(离线也可查)
from iotdb.Session import Session
session = Session("127.0.0.1", 6667, "root", "root")
session.open()
session.execute_non_query_statement(
"create timeseries root.edge.sensor1.pressure DOUBLE"
)
session.insert_record("root.edge.sensor1", 1710000000000, ["pressure"], [0.42])
session.close()
# 2. 生成待上传 TsFile
import os, shutil
os.system("sbin/sync-tool.sh export edge1 /tmp/edge1.tsfile")
# 通过 4G/5G 把 /tmp/edge1.tsfile 上传到云端
云端(x86):
Python
复制
# 3. 接收并合并
os.system("sbin/sync-tool.sh import /recv/edge1.tsfile")
👉 TsFile 自带校验、幂等写入,断点续传不丢数据;压缩比 15:1,4 MB 文件含 60 MB 原始数据。
八、结语:IoTDB 不只是一个数据库,更是工业数据的战略入口
在工业物联网加速落地的今天,时序数据库不仅是数据存储工具,更是数据治理、边缘智能、数字孪生的核心底座。
Apache IoTDB 以其高吞吐、高压缩、树模型、端边云协同等独特优势,正在成为工业场景下的“隐形冠军”。对于技术博主、架构师、数据工程师而言,掌握 IoTDB,不仅是技术升级,更是认知升级。
九、IoTDB官网、下载、开源地址
Apache IoTDB_国产开源时序数据库_时序数据管理服务商-天谋科技Timecho天谋科技Timecho提供行业领先的物联网时序数据库管理系统及服务,是专业的时序数据管理服务商,致力于围绕物联网原生的Apache IoTDB,以高吞吐,高压缩,高可用的开源时序数据库-国产数据库IoTDB,为工业用户解决数据"存,查,用"难题https://timecho.com/发行版本 | IoTDB Website发行版本 历史版本下载:https://archive.apache.org/dist/iotdb/ 环境配置 推荐修改的操作系统参数 将 somaxconn 设置为 65535 以避免系统在高负载时出现
https://iotdb.apache.org/zh/Download/
官方开源地址https://github.com/apache/iotdb
15 个 IoTDB 必懂关键字(一句话速记)
时间序列(TimeSeries):带时间戳的“指标”列,如 root.sg.d1.temp。
存储组(StorageGroup):命名空间,类似数据库,可独立设置副本、TTL。
TsFile:自研列式文件格式,内置索引+预聚合,边缘、云端通用。
设备(Device):物理对象,对应“目录节点”,如 root.sg.d1。
测点(Measurement):设备下的具体传感器字段,如 temp、pressure。
对齐序列(Aligned):同一设备多列共享时间戳,写入查询均快 3-5×。
编码(Encoding):Gorilla、RLE、TS_2DIFF 等,按数据类型自动选最优。
压缩(Compression):SNAPPY/LZ4/ZSTD,文件级+块级双重压缩。
预聚合(ChunkMeta):TsFile 头段存 max/min/sum/null 等,秒级聚合无需扫原始数据。
时间分区(TimePartition):按天/周切分,过期整目录删除,TTL 精准释放空间。
数据 Region:分片单位,支持多副本一致性 Raft,横向扩展最小颗粒。
边云同步(Sync):TsFile 级差异对比,断网续传、加密压缩传输。
连续查询(CQ):定时滑动窗口,结果写回新序列,用于实时降采样。
UDF(用户自定义函数):Java/Python 写算法包,SQL 内直接调用。
触发器(Trigger):数据写入即触发告警/转发 MQTT,<5 ms 延迟。
文章关联:
1、Apache IoTDB:大数据时代时序数据库选型的技术突围与实践指南