时序数据库Apache IoTDB核心技术深度解析

一、引言
  • ‌背景‌:5G技术加速了IoT领域的发展,物联网设备数据的收集、存储和计算需求日益增长。Apache IoTDB作为一款专为物联网时序数据设计的软件系统,在2020年被Apache基金会认可为顶级项目。
二、IoT领域发展趋势
  • ‌5G与IoT‌:5G催化了IoT的发展,80%的5G利好体现在物联网领域。中、美工业互联网及德国工业4.0均在蓬勃发展。
  • ‌边缘计算‌:Gartner自2018年起强调云向边缘计算挺进是十大战略技术趋势之一,云边端一体成为IoT领域的典型架构。
  • ‌政策支持‌:国务院于2017年发布工业互联网指导意见,设定阶段性基建目标。
  • ‌时序数据库热度‌:自2018年起,时序数据库热度攀升,涌现出如InfluxDB、OpenTSDB及Apache IoTDB等优秀产品。
三、时序数据库分类与IoTDB优势
  • ‌分类 ‌:
    • 基于关系的时序数据库(如TimescaleDB):建立在B+tree上,写入受限。
    • 基于KV的时序数据库(如OpenTSDB):索引存储弊端,查询能力受限。
    • 专为时序数据设计的数据库(如InfluxDB和Apache IoTDB):基于LSM Tree,解决高吞吐写入问题。
  • ‌IoTDB优势‌:官方性能测试数据显示,IoTDB在写入和查询方面均有显著优势。
四、IoTDB核心技术点
  • ‌IoT时序数据领域问题‌:数据规模庞大、存储成本、写入吞吐、查询性能及乱序问题。
  • ‌LSM Tree架构‌:IoTDB采用LSM Tree架构,放弃部分读能力以换取写入最大化。数据先写入内存(Mem-Table),再合并追加到磁盘。
  • ‌写入过程‌:数据写入后,先进行WAL落盘,再写入Mem-Table并排序。当内存数据达到一定规模时,将Mem-Table变为immutable并创建新的Mem-table,同时进行数据合并和索引建立。
  • ‌查询逻辑‌:先在内存Mem-table中查询,再在immutable Mem-table和磁盘File中查找,辅以Bloom filter加速查询。
  • ‌乱序问题处理‌:IoTDB针对IoT时序数据乱序问题进行重点设计,从内存到文件存储均有有序和乱序数据的特殊处理。
  • ‌查询优化机制‌:提供极致的查询性能。
五、IoTDB文件格式设计(TsFile)
  • ‌设计原则‌:以查询需求反推文件格式,希望同一设备数据存储在一起,每个Measurement信息连续存储。
  • ‌数据结构抽象 ‌:
    • 将设备数据抽象为ChunkGroup,独立管理。
    • 每个Measurement数据集中存储到一个Chunk中。
    • 按时间区间将Chunk数据划分为若干Page信息。
  • ‌目的‌:充分利用边缘端有限内存资源,减少磁盘IO,构建最优索引树。
  • ‌索引树节点信息取舍‌:在内存大小一定的情况下,索引信息越完整越好,以减少磁盘IO。选择ChunkGroup和Chunk进行Meta信息构建。
  • ‌TsFile结构演变 ‌:
    • 包括data、tsFile Meta信息、Device Meta信息、Chunk Meta信息。
    • 优化Meta信息利用,构建B+Tree索引树,对Chunk信息进行细粒度时间切片,对Measurement进行逻辑抽象(LEAF_MEASUREMENT节点),提高查询性能。
六、IoTDB应用案例
  • ‌投产领域‌:风电行业、工程机械、气象大数据平台、城市轨道等。
  • ‌具体案例‌:在中车青岛四方车辆项目中,一台IoTDB实例替换老系统10多条Cassandra实例,每天管理4000亿数据点信息。在德国和美国也有广泛应用。
相关推荐
roman_日积跬步-终至千里21 分钟前
零售与数仓(二):从经营问题到可信证据,数仓怎样建设?
大数据·零售
瀚高PG实验室1 小时前
发布端逻辑复制槽消失
数据库·postgresql·瀚高数据库
ss2731 小时前
PostgreSQL慢查询定位与优化
数据库·postgresql
香蕉大香蕉(06敬畏市场)2 小时前
MySQL 单点详解(07)
java·数据库·mysql·ai·博客·八股
smilejingwei3 小时前
TRAE 插件上新 | SQLazy:让 AI 写出可信复杂 SQL
数据库·人工智能·sql
我要见SA姐13 小时前
GitHub Actions 自动化:5 个真实运维提效案例
运维·数据库·机器学习·oracle·回归
大大大大晴天4 小时前
每天认识一个组件:Apache Pulsar
大数据
QXWZ_IA4 小时前
边坡监测预算有限时的建设顺序:虚拟基准站与成本账
网络·数据库
极限挑战哥4 小时前
共享电单车联营平台分账架构实践:二清合规与自动分账零人工方案
java·大数据·人工智能·微信小程序·架构·微信公众平台
QXWZ_IA4 小时前
公路边坡裂缝的自动化监测布设
大数据·人工智能·自动化