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

文章目录

  • 一、前文
  • 二、性能排行第一
  • 三、完全开源
  • 四、数据文件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.mzph.cn/news/830728.shtml

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

相关文章

简单数据加解密,JS和JAVA同时实现

前端Vue调用Java后端接口中的数据进行加密,以避免敏感数据泄露。 现在实现一个高性能加密方法,用来对数据进行加密后传输。算法包括JS的加密和解密方法,也包括Java的加密解密方法。 可以在前端加密,后端解密。也可以在后端加密&…

【学习vue 3.x】(二)组件应用及单文件组件

文章目录 章节介绍本章学习目标学习前的准备工作Vue.js文件下载地址 组件的概念及组件的基本使用方式组件的概念组件的命名方式与规范根组件局部组件与全局组件 组件之间是如何进行互相通信的父子通信父子通信需要注意的点 组件的属性与事件是如何进行处理的组件的属性与事件 组…

蓝桥杯国赛填空题(跑步计划)

问题描述 小蓝计划在某天的日期中出现 1 时跑 5 千米,否则只跑 1 千米。注意日期中出现 1 不仅指年月日也指星期。 请问按照小蓝的计划, 2023 年小蓝总共会跑步锻炼多少千米?例如, 5 月 1 日、 1 月 13 日、 11 月 5 日、 4 月 3 …

网盘—下载文件

本文主要讲解网盘文件操作的下载文件部分,具体步骤如下: 目录 1、实施步骤 2、代码实现 2.1、添加下载文件的协议 2.2、添加下载文件函数 2.3、添加信号槽 2.4、实现槽函数 2.5、设置download状态 2.6、添加定义 2.7、服务器接收数据 2.8、添…

计算机英文论文常见错误写作习惯2

目录 第一部分 非常长的句子 在一个句子的主要概念的前面,首先说明目的、地点或原因 将表示时间的短语放在句首的倾向 将最重要的主语放在句首,以示强调 ‘In this paper’, ‘in this study’ 第一部分 非常长的句子 由于作者经常直接从中文翻译…

【云原生】Docker 实践(三):使用 Dockerfile 文件构建镜像

Docker 实践(三):使用 Dockerfile 文件构建镜像 1.使用 Dockerfile 文件构建镜像2.Dockerfile 文件详解 1.使用 Dockerfile 文件构建镜像 Dockerfile 是一个文本文件,其中包含了一条条的指令,每一条指令都用于构建镜像…

VSCode SSH连接远程主机失败,显示Server status check failed - waiting and retrying

vscode ssh连接远程主机突然连接不上了,终端中显示:Server status check failed - waiting and retrying 但是我用Xshell都可以连接成功,所以不是远程主机的问题,问题出在本地vscode; 现象一: 不停地输入…

39.WEB渗透测试-信息收集-域名、指纹收集(1)

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于: 易锦网校会员专享课 上一个内容:38.WEB渗透测试-信息收集-信息收集-企业信息收集(5) 子域名信息收…

事件处理模式--reactor原理与实现

文章目录 reactorapicode reactor reactor是是服务器的重要模型, 是一种事件驱动的反应堆模式 通过epoll_create() 创建句柄, epoll_ctrl()提前注册好不同的事件处理函数 , 当事件到来就由 epoll_wait () 获取同时到来的多个事件,并且根据数据的不同类型将事件分发…

java+jsp+Oracle+Tomcat 记账管理系统论文(一)

⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️ ➡️点击免费下载全套资料:源码、数据库、部署教程、论文、答辩ppt一条龙服务 ➡️有部署问题可私信联系 ⬆️⬆️⬆️​​​​​​​⬆️…

laravel rabbitmq 队列

安装Laravel的RabbitMQ队列驱动: composer require vladimir-yuldashev/laravel-queue-rabbitmq env文件配置 #rabbitmq QUEUE_CONNECTIONrabbitmq #修改一下 RABBITMQ_HOST192.168.11.4 #要连接的主机名 RABBITMQ_PORT5671 #端口号 RABBITMQ_VHOST/…

自动化测试用例之元素自愈:Playwright与pytest的结合使用

前言 在自动化测试领域,元素定位的准确性对于测试的成功至关重要。当使用Playwright结合pytest进行测试时,我们可以通过一些策略来增强测试的鲁棒性,特别是在元素定位失败时能够自动进行修复。本文将详细介绍如何实现这一过程。 环境准备 …

ZooKeeper 搭建详细步骤之一(单机模式)

ZooKeeper 搭建详细步骤之三(真集群) ZooKeeper 搭建详细步骤之二(伪集群模式) ZooKeeper 搭建详细步骤之一(单机模式) ZooKeeper 及相关概念简介 搭建模式简述 ZooKeeper 的搭建模式包括单机模式、集群模…

Java jstat 基本使用 gc 查看,jstat -gcutil等

jstat(Java Statistics Monitoring Tool)是JDK自带的一个命令行工具,用于监视Java虚拟机(JVM)的各种运行时性能统计信息,如垃圾收集、内存使用情况等。它允许用户无需附加到目标Java进程中,即可…

YOLOv8核心原理深度解析

YOLOv8源码地址: https://github.com/ultralytics/ultralytics 一、简介: 根据官方描述,Yolov8是一个SOTA模型,它建立在Yolo系列历史版本的基础上,并引入了新的功能和改进点,以进一步提升性能和灵活性,使其成为实现目标检测、图像分割、姿态估计等任务的最佳选择。其具体…

10种新兴网络安全威胁和攻击手法

网络攻击 第一 种新型勒索软件攻击 在当今互联网世界中,勒索软件已成为企业和个人面临的严峻威胁。根据Akamai发布的《互联网状态(SOTI)报告》,在不断发展的勒索软件环境中,攻击者正试图突破受害者的防御能力。与此同…

Vue3 + Element-plus 报错 require is not defined 处理问题

问题复现: yarn dev 后报错如下: app.js:358 Uncaught ReferenceError: require is not defined at eval (index.mjs:4:30) at Module../node_modules/element-plus/icons-vue/dist/es/index.mjs (chunk-vendors.js:9072:1) at webpack_require (app.j…

AI图书推荐:将 ChatGPT和Excel融合倍增工作效率

《将 ChatGPT和Excel融合倍增工作效率》( Hands-on ChatGPT in Excel. Enhance Your Excel Workbooks)由Mitja Martini撰写,旨在教授读者如何将ChatGPT与Excel结合使用,以提升工作效率和创造AI增强的Excel工具。它还提供了Excel中…

AnomalyGPT——使用大型视觉语言模型进行工业异常检测的算法解析与应用

1.概述 工业缺陷检测是工业自动化和质量控制中的一个重要环节,其目的是在生产过程中识别和分类产品或组件中的缺陷,以确保最终产品的质量满足既定标准。这项技术的应用可以显著提高生产效率,降低成本,并减少由于缺陷产品导致的潜…

Vue3 + TS + Element-Plus 封装的 Table 表格组件

代码中主要增加了3个插槽&#xff0c;operationsStart 从操作栏开头增加按钮&#xff0c;operationsStart 从操作栏结尾增加按钮&#xff0c;还有一个插槽用来自定义列的内容&#xff0c;就是 TableModel里面的Key <template><el-tableborderstripe:data"data&q…