IoTDB 入门教程①——时序数据库为什么选IoTDB ?

news2025/1/11 10:56:47

文章目录

  • 一、前文
  • 二、性能排行第一
  • 三、完全开源
  • 四、数据文件TsFile
  • 五、乱序数据高写入
  • 六、其他
  • 七、参考

一、前文

IoTDB入门教程——导读

关注博主的同学都知道,博主在物联网领域深耕多年。

时序数据库,博主已经用过很多,从最早的InfluxDB,到后期的TDengine,以及现在的IoTDB

  • 最早是没得选,只能用InfluxDB。
  • 后面是有的选,换了TDengine。
  • 现在是选择太多,择优选了IoTDB。

各个时序数据库的厂家,随着版本更新,性能越来越强,越来越好用,也越来越易用。

本文主要讲述IoTDB的优势,时序数据库选择困难症的同学可以看看。已经选定IoTDB的同学可以直接看后面的应用实战。

二、性能排行第一

正如俗语所言:“是骡子是马,拉出来遛遛。”

benchANT,一家位于德国的权威机构,专注于云设施和数据库性能评估。

benchANT 数据库性能排行榜链接:https://benchant.com/ranking/database-ranking

Workload Type选择Time Series: DevOps

时序数据的特点显著,包括测量点众多、上报频率高以及数据规模庞大等。

因此,时序数据库面临的挑战也不容小觑:必须保证高频写入的速度、海量数据查询的迅捷以及数据存储成本的优化。

鉴于这些独特的需求,选择性能强大的时序数据库变得至关重要。

毕竟,如果MySQL能够满足这些要求,我们也不会特意去寻找更适合的时序数据库了。

Alt

三、完全开源

  • 从数据文件到分布式,不依赖第三方系统,国产自研,完全开源。

  • Apache 基金会唯一时序数据库 Top-Level 项目Apache / IoTDB。

  • 产学研结合, 拥有 30+ 时序数据管理领域发明专利,在数据库顶会发表 10+ 篇论文。

  • 发源于清华大学,其核心团队成立了天谋科技(北京)有限公司,专注 IoTDB 产品的打磨。

四、数据文件TsFile

物联网时序数据文件格式:Apache / TsFile

众所周知,数据文件如何高效的压缩和读写是数据库设计的一大关键。

而数据文件又处于很底层,大部分数据库厂家不对外提供这方面的资料。

但是IoTDB却把这方面的项目独立出来,成为又一个Apache Top-Level 项目Apache / TsFile。实在是不得不佩服。

TsFile是一种为时间序列数据设计的列式存储文件格式,它支持高效压缩、高读写吞吐量,并且兼容多种框架,如Spark和Flink。TsFile很容易集成到物联网大数据处理框架中。

  • 高效的存储和压缩:TsFile采用了先进的压缩技术来最大限度地减少存储需求,从而减少了磁盘空间消耗并提高了系统效率。
  • 灵活元数据组织管理:TsFile允许在不预先定义模式的情况下直接写入数据,支持数据灵活获取。
  • 高性能时间范围查询:高性能时间范围查询
  • 大数据生态无缝集成:TsFile能够与现有的时间序列数据库(如IoTDB)、数据处理框架(如Spark和Flink)无缝集成。

TsFile API 快速上手

讲到这里又不得不提到TDengine,TDengine虽然版本更新很快,性能也很强。

但是他们底层数据文件也经常修改,不仅2.x与3.x版本的数据文件不兼容,3.0.0.1版本与3.0.2.0版本的数据文件也不兼容。

因为3.0.0.1的底层数据文件不稳定,所以后面版本就及时做了大改,所以导致的不兼容。

底层数据文件不稳定就很容易出现大问题,数据丢失,数据无法正常迁移等等。

这里也没有踩踏TDengine的意思,TDengine也很好,只不过通过对比,感觉IoTDB更好。

一群清华的硕士博士做出来的东西,确实靠谱。

五、乱序数据高写入

IoTDB不仅支持高频的数据写入,还支持乱序数据写入。

乱序数据是指:早产生的数据后到了,晚产生的数据先到了

这是我们在实际应用中经常遇到的场景,会带来一些困扰,虽然不痛,但也很烦。

IoTDB首创了乱序分离存储引擎用独有的顺乱序判断的机制,将顺序数据与乱序数据分开,并通过多种空间合并的方法,去消除乱序数据。

Alt

六、其他

IoTDB不仅功能丰富,而且具有诸多优势和亮点。只不过这些博主目前暂时用不到,所以这里就快速过一下,留个印象,后面实际项目有需要的时候自然会想起来。

  • 全面的端-边-云协同模式:IoTDB支持边缘模式、单机模式以及分布式架构,为用户提供了灵活多样的部署选项。
  • 专为物联网打造:IoTDB拥有设备测点物联网数据模型、IoTLSM物联网存储引擎和IoTConsensus物联网共识协议,确保数据在物联网环境中的高效管理和传输。
  • 卓越的性能表现:通过已有案例展示,IoTDB能够轻松管理亿级序列,实现数千万点/秒的吞吐能力,并提供高达十倍的压缩比,大大提升了数据处理效率。
  • 树形时序数据模型:IoTDB采用树形结构进行时序数据建模,确保这些关键数据能够被有效、有序地管理和查询。
  • 智能分析功能(AINode):IoTDB积极拥抱AI技术,提供了智能化的分析功能。它涵盖了多种适用于时序数据的算法和自研模型,能够实现序列预测、异常检测等高级分析场景,为用户提供深入的洞察力。
  • 强大的处理能力:IoTDB支持丰富的时序特性查询和分析功能,满足用户在各种复杂场景下的数据处理需求。

七、参考

时序数据库IoTDB:功能详解与行业应用

觉得好,就一键三连呗(点赞+收藏+关注)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2024年北京市中小学生信息学能力测评活动BCSP-X小学低年级组初赛测试题(模拟题解析)

一、单项选择(共 15 题,每题 2 分,共计 30 分,每题有且仅有一个正确选项) 以下是题目和解析的完整格式: 不可以作为c中的变量名的是( )。 A. I以下loveChinaB. I_loveChinaC. I_love_ChinaD. i_…

SpringBoot+阿里云实现验证码登录注册及重置密码

开通阿里云短信服务 阿里云官网 创建API的Key 可以使用手机号或者刷脸来进行创建Key 创建成功 开通完成以后接下来实现代码请求阶段 配置maven依赖 <!-- 阿里云 oss 短信 依赖--><dependency><groupId>com.aliyun</groupId><artifactId>dysm…

Electron+Vue3+Vite+ElectronForge整合 - 一键启动两个服务 一键打包两个服务

说明 本文介绍一下 Electron Vue3 Vite Electron Forge 的高级整合操作。vue3 : 使用 TS 的语法开发&#xff1b; Electron : 使用 JS 的语法开发。本文将从项目初始化开始&#xff0c;一步一步的完成项目的启动、打包全流程的介绍。实现的效果是 &#xff1a; 1、一个正常…

Notes for the missing semester. Useful and basic knowledge about Linux.

The Shell Contents The first course is to introduce some simple commands. I’ll list some commands that I’m not familiar with: # --silent means dont give log info, # --head means we only want the http head. curl --head --silent bing.com.cn# cut --deli…

如何选择适合的美国站群服务器:经济实惠而可靠的选择

如何选择适合的美国站群服务器&#xff1a;经济实惠而可靠的选择 在今天的数字化时代&#xff0c;选择适合的服务器对于个人网站或企业来说至关重要。一台性能稳定、价格实惠的美国站群服务器能够为您的网站提供所需的支持&#xff0c;但在选择之前&#xff0c;有一些关键因素…

基于模糊PI控制算法的龙格库塔CSTR模型控制系统simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 5.完整工程文件 1.课题概述 基于模糊PI控制算法的龙格库塔CSTR模型控制系统simulink建模与仿真。基于模糊PI控制算法的龙格-库塔&#xff08;Runge-Kutta, RK&#xff09;连续搅拌釜反应器&#xff08;Co…

Allegro如何给铜皮赋信号

如何给铜皮赋信号 第一步&#xff1a;选中铜皮 第二步&#xff1a;鼠标点击右键&#xff0c;点击“Assign Net”&#xff0c;然后点击对应的Net信号就可以了

案例分享:使用RabbitMQ消息队列和Redis缓存优化Spring Boot秒杀功能

作者介绍&#xff1a;✌️大厂全栈码农|毕设实战开发&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导。 推荐订阅精彩专栏 &#x1f447;&#x1f3fb; 避免错过下次更新 Springboot项目精选实战案例 更多项目&#xff1a;CSDN主页YAML墨韵 学如逆水行舟&#xff0c…

设计模式(十一):外观模式

设计模式&#xff08;十一&#xff09;&#xff1a;外观模式 1. 外观模式的介绍2. 外观模式的类图3. 外观模式的实现3.1 创建一个接口3.2 创建接口的实现3.3 创建一个外观类3.4 测试 1. 外观模式的介绍 外观模式&#xff08;Facade Pattern&#xff09;属于结构型模式&#xf…

智能科技的飞跃:LLAMA3引领的人工智能新时代

大家好&#xff01;相信大家对于AI&#xff08;人工智能&#xff09;的发展已经有了一定的了解&#xff0c;但你是否意识到&#xff0c;到了2024年&#xff0c;AI已经变得如此强大和普及&#xff0c;带来了我们从未想象过的便利和创新呢&#xff1f;让我们一起来看看AI在这个时…

【javaWeb项目】基于网页形式,通过浏览器访问的java应用程序,就称为javaweb程序

JavaWeb前端 第一章 1、javaWeb是什么 //基于网页形式&#xff0c;通过浏览器访问的java应用程序&#xff0c;就称为javaweb程序2、web程序的分类 //1、静态web程序特点&#xff1a;网页上的内容是固定不变的&#xff0c;不能动态加载&#xff0c;例如web前端//2、动态web程序…

chrome和drive安装包路径

Chrome for Testing availability (googlechromelabs.github.io) 下载Stable下面的包哈

深入剖析Tomcat(五) 剖析Servlet容器并实现一个简易Context与Wrapper容器

上一章介绍了Tomcat的默认连接器&#xff0c;后续程序都会使用默认连接器。前面有讲过Catalina容器的两大块内容就是连接器与Servlet容器。不同于第二章的自定义丐版Servlet容器&#xff0c;这一章就来探讨下Catalina中的真正的Servlet容器究竟长啥样。 四种容器 在Catalina中…

VTK —— 二、教程六 - 为模型加入3D微件(按下i键隐藏或显示)(附完整源码)

代码效果 本代码编译运行均在如下链接文章生成的库执行成功&#xff0c;若无VTK库则请先参考如下链接编译vtk源码&#xff1a; VTK —— 一、Windows10下编译VTK源码&#xff0c;并用Vs2017代码测试&#xff08;附编译流程、附编译好的库、vtk测试源码&#xff09; 教程描述 本…

数据挖掘之基于Lightgbm等多模型消融实验的信用欺诈检测实现

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景 在当前的金融环境中&#xff0c;信用欺诈行为日益增多&#xff0c;给金融机构和消费者带来了巨大的损…

RS0108YQ20功能和参数介绍及高速数据传输中的优势

RS0108YQ20功能和参数介绍及高速数据传输中的优势-公司新闻-配芯易-深圳市亚泰盈科电子有限公司 RS0108YQ20是一款电平转换器&#xff0c;也称为电平移位器&#xff0c;它的主要功能是在不同的电源电压或逻辑电平之间提供双向信号转换。以下是RS0108YQ20的一些关键参数和功能特…

使用UmcFramework和unimrcpclient.xml连接多个SIP设置的配置指南及C代码示例

使用UmcFramework和unimrcpclient.xml连接多个SIP设置的配置指南及C代码示例 引言1. UniMRCP和UmcFramework简介2. 准备工作3. unimrcpclient.xml配置文件3.1 定义SIP设置3.2 定义MRCP会话配置文件 4. C代码示例5. 测试和验证6. 故障排查7. 结论8. 参考文献 引言 在多媒体通信…

Django后台项目开发实战二

我们的需求是开发职位管理系统 三个功能&#xff1a; 管理员发布职位候选人能浏览职位用户能投递职位 第二阶段 创建应用 jobs&#xff0c;实现职位数据的建模 python manage.py startapp jobs 然后再 setting .py 注册应用&#xff0c;只需添加应用名称到最后一行 INST…

单片机排队叫号系统Proteus仿真程序 有取号键和叫号键以及重复叫号键 有注释

目录 1、前言 ​ 2、程序 资料下载地址&#xff1a;单片机排队叫号系统Proteus仿真程序 有取号键和叫号键以及重复叫号键 有注释 1、前言 系统组成&#xff1a;STC89C52RCLcd1602蜂鸣器按键 具体介绍&#xff1a; Lcd1602排队叫号系统&#xff0c;有取号显示窗和叫号显示窗…

Ubuntu 16.04下Firefox版本更新

最近要使用Odoo进行项目管理&#xff0c;Odoo17以上版本对浏览器版本要求较高&#xff0c;如果没有新版本下的函数&#xff0c;将无法运行。而Ubuntu16.04下自带的firefox不满足版本要求&#xff0c;因而需要手动下载安装。 查看当前系统版本apt-get能下载的firefox版本 apt-c…