当前位置: 首页 > news >正文

时序数据库IoTDB如何快速高效地存储时序数据

一、IoTDB 1.0新架构介绍

时序数据库IoTDB的新架构旨在实现两个主要目标:在资源充足的场景下提供无上限的服务潜力,以及在资源有限的场景下提供最佳选择。新架构的系统目标包括:

  1. 支持多模式‌:同时支持单机模式和分布式模式。
  2. 大容量‌:可管理上亿设备和测点,数据量无上限。
  3. 高可用性‌:能够容忍部分节点失效,实现系统高可用。
  4. 高扩展性‌:随时进行集群扩容,平滑过渡到更大规模的集群。
  5. 高性能‌:写入吞吐达到数千万点每秒。
  6. 可观测性‌:对系统集群的核心性能进行监控。

IoTDB集群包括两个角色:

  • ConfigNode‌:管理集群节点和分区表信息,负责任务调度和负载均衡。
  • DataNode‌:负责数据存储和查询,管理时间序列数据和元数据,MPP计算引擎运行在DataNode之上。

架构还包括与Spark、Flink、RocketMQ等大数据生态的对接接口。

部署模式包括:

  • 单机模式‌:适用于对扩展性和高可用性要求不高,但对性能要求非常高的用户。
  • 分布式模式‌:包括高可用、高性能和强一致性模式,适用于有高度扩展性和高可用需求的用户。

二、时间序列数据文件存储格式TsFile

TsFile是IoTDB自研的文件数据结构,磁盘占用空间相比InfluxDB可降低85%。

TsFile的数据存储结构

  • ChunkGroup‌:代表设备一段时间的数据存储块。
  • Chunk‌:代表物理量一段时间的数据,分为TSChunk(时间和值都在同一个Chunk中)、TimeChunk(时间和值分开存储)。
  • Page‌:代表物理量一段时间的数据,多个Page可以组合成一个Chunk。

索引结构

  • 序列内索引‌:分为Page级、Chunk级和文件级,用于快速过滤数据块,减少查询时的IO和物化。
  • 序列间索引‌:在TsFile尾部,分为设备层、测点层,用于快速定位具体需要查询的序列。

数据类型和压缩方式

TsFile支持多种数据类型和编码压缩方式,包括INT32、INT64、FLOAT、DOUBLE等,以及TS_2DIFF、SPRINTZ等新的编码算法。二次压缩默认使用LZ4算法,还支持GZIP、ZSTD等算法。

死区处理算法SDT

通过丢掉一些不重要的、重复的点,实现极致压缩。

加载外部TsFile功能

在资源受限的场景下,可以通过TsFile的API直接写入数据,再通过SQL命令加载到IoTDB集群中。

三、IoTDB存储引擎架构IoTLSM

IoTLSM存储引擎架构包括写前日志WAL、顺乱序数据判断机制、内存缓冲区、顺序空间和乱序空间等部分。

分离存储流程

  • 顺序数据‌:直接写到数据空间内。
  • 乱序数据‌:写到乱序数据空间,后台进行合并。

合并机制

  • 空间内合并‌:减少查询IO,提升索引速度,优化文件系统。
  • 跨空间合并‌:将乱序空间内的磁盘文件合并到顺序空间内,提升乱序数据查询效率。

内存数据管理

使用内存对象池Array Pool管理内存存储单元,减少内存对象的初始化和垃圾回收过程,支持数据类型动态调整。

相关文章:

  • 深兰科技陈海波率队考察南京,加速AI医诊大模型区域落地应用
  • Android 缓存应用冻结器(Cached Apps Freezer)
  • 深兰科技董事长陈海波率队考察南京,加速AI大模型区域落地应用
  • 宁夏农业科技:创新引领,赋能现代农业新篇章
  • C++23:std::print和std::println格式化输出新体验
  • AWS 创建VPC 并且添加权限控制
  • PR2020+MS1824+MS7210+MS2130 1080P@60Hz USB3.0采集
  • 数据结构之堆(topk问题、堆排序)
  • Gartner《2025 年软件工程规划指南》报告学习心得
  • 【C++指南】C++ list容器完全解读(二):list模拟实现,底层架构揭秘
  • rsync使用守护进程启动服务
  • 主流 AI IDE 之一的 Windsurf 介绍
  • 尚硅谷redis7 63-69 redis哨兵监控之理论简介
  • 查看webpack版本的三种方式
  • LiveGBS国标视频平台收流模式:UDP、TCP被动与TCP主动传输模式之差异剖析
  • JavaScript 性能优化:从入门到实战
  • 精益数据分析(92/126):指标基准化——如何判断你的数据表现是否足够优秀
  • Cloudera Manager 学习笔记
  • 使用Miniconda管理Python环境
  • 从0到1掌握Kotlin高阶函数:开启Android开发新境界!
  • 中国纪检监察报社社长/西安seo优化工作室
  • ui做网站实例/镇江网站定制
  • 网站怎么做第三方支付接口/搜狗首页排名优化
  • 长沙公司网站设计/友情链接怎么购买
  • 大理州住房和城乡建设局网站/西安百度百科
  • 深圳做网站的/长春seo整站优化