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.mfbz.cn/a/593082.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

《Fundamentals of Power Electronics》——脉宽调制器建模

下图给出了一个简单脉宽调制器电路的原理图。 脉宽调制器电路产生一个用于指令转换器功率管导通和关断的逻辑信号δ(t)。该逻辑信号δ(t)是周期性的,其频率为fs,占空比为d(t)。脉宽调制器的输入是一个模拟控制信号vc(t)。脉宽调制器的作用是产生一个与模…

观测与预测差值自动变化系统噪声Q的自适应UKF(AUKF_Q)MATLAB编写

简述 基于三维模型的UKF,设计一段时间的输入状态误差较大,此时通过对比预测的状态值与观测值的残差,在相应的情况下自适应扩大系统方差Q,构成自适应无迹卡尔曼滤波(AUKF),与传统的UKF相比&…

【人工智能Ⅱ】实验5:自然语言处理实践(情感分类)

实验5:自然语言处理实践(情感分类) 一:实验目的与要求 1:掌握RNN、LSTM、GRU的原理。 2:学习用RNN、LSTM、GRU网络建立训练模型,并对模型进行评估。 3:学习用RNN、LSTM、GRU网络做…

递归、搜索与回溯算法:记忆化搜索

例题一 解法(暴搜 -> 记忆化搜索 -> 动态规划): 算法思路: 暴搜: a. 递归含义:给 dfs ⼀个使命,给他⼀个数 n ,返回第 n 个斐波那契数的值; b. 函数体&…

JVM知识总汇(JVM面试题篇5.1)

个人理解,所学有限,若有不当,还请指出 1.JVM是由哪些部分组成,运行流程是什么? JVM为java虚拟机,是java程序的运行环境(其实是java字节码文件的运行环境),能够实现一次编…

idea中使用GlassFish服务器启动项目

idea中使用GlassFish服务器进行测试 1.项目背景 当前在研究openMDM项目, 不过该项目不是springboot项目, 并且是使用GlassFish进行war部署的, 但是需要在idea中进行项目的二次开发,故需要进行idea启动项目并且进行开发和调试 2.GlassFish是什么 GlassFish是一个web服务器, …

分层解耦-三层架构

一、使用三层架构的原因 如果所有代码都写在controller类的方法中,这里面包含了数据访问的代码、逻辑处理的代码、接收请求和响应数据的代码,如图示例: 而我们在进行软件设计以及软件开发的时候,要尽量让每一个接口、类或者方法的职责更加单…

深入理解分布式事务⑧ ---->MySQL 事务的实现原理 之 MySQL 事务流程(MySQL 事务执行流程 和 恢复流程)详解

目录 MySQL 事务的实现原理 之 MySQL 事务流程(MySQL 事务执行流程 和 恢复流程)详解MySQL 事务流程1、MySQL 事务执行流程1-1:MySQL 事务执行流程如图: 2、MySQL 事务恢复流程2-1:事务恢复流程如下图: MyS…

西门子V90参数移植方法

西门子V90参数移植方法 应用方面 由于设备老化损坏,需要更换V90驱动器,但是由于新驱动器与旧驱动器出现版本不一样时参数就会无法直接下载到新的驱动器里面,为了保证更换驱动器的稳定性最好能使用之前设备的参数,所以写了关于V9…

车载电子电器架构 —— 如何理解和使用Update bit

车载电子电器架构 —— 如何理解和使用Update bit 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不…

2024抖音直播带货-直播间拆解:抖店运营从入门到精通(56节课)

起号原理方式以及节点处理 类目的选择选品思路 付费流量投放原理 直播间进阶玩法 课程内容 直播间搭建标准自然起号(0-1)原理 方式 以及节点处理 老号重启(0-1)原理 方式 以及节点处理 账号在线人数稳定 原理 方式 以及节点处理 账号销售额放大 原理 方式 以及节点处理…

ubuntu20配置深度学习环境

目录 系统环境安装anaconda文件的安装anaconda环境配置anaconda换中科大源常用的anaconda命令 安装显卡驱动安装CUDA下载cudnn安装pytorch更换conda源选择对应的pytorch版本进行安装 系统环境 ubuntu20,安装了ros noetic。 参考博客主要有: https://g…

【Trick】conda安装python依赖时出现429 Client Error

起因 我在根据yml文件安装依赖和创建虚拟环境时,出现报错,主要报错信息为以下两点: 【1】Collecting package metadata (repodata.json): failed 【2】requests.exceptions.HTTPError: 429 Client Error: Too Many Requests for url: https…

Git在无法访问github的访问方法

Git无法下载github上的源代码 代理的情况 问题:Failed to connect to github.com port 443 after 21100 ms: Couldnt connect to server 提示我们需要为Git单独配置代理。 查看我们的代理端口  为git 设置全局代理 git config --global http.proxy 127.0.0.1:&l…

【LeetCode刷题记录】简单篇-104-二叉树的最大深度

【题目描述】 给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 【测试用例】 示例1: 输入:root [3,9,20,null,null,15,7] 输出:3 示例2: 输入&#…

颜值高的浏览器 ARC

可以使用 chrome 的插件,和书签,现在可以下载,别的不说这个ui 的颜值是可以的, 而且很丝滑

思考题 —— Windows 登录密码

1.windows登录的明文密码,存储过程是怎么样的?密文存放在哪个文件下?该文件是否可以打开,并且查看到密文? 系统通过保存密码的哈希值来确保安全性,进行加密存储的方法通常为NTLM或Kerberos身份认证协议。该…

SFOS1:开发环境搭建

一、简介 最近在学习sailfish os的应用开发,主要内容是QmlPython。所以,在开发之前需要对开发环境(virtualBox官方SDKcmake编译器python)进行搭建。值得注意的是,我的开发环境是ubuntu22.04。如果是windows可能大同小异…

Codeforces Round 943 (Div. 3 ABCDEFG1G2题) 视频讲解

A. Maximize? Problem Statement You are given an integer x x x. Your task is to find any integer y y y ( 1 ≤ y < x ) (1\le y<x) (1≤y<x) such that gcd ⁡ ( x , y ) y \gcd(x,y)y gcd(x,y)y is maximum possible. Note that if there is more tha…

Webshell绕过技巧分析之-base64/HEX/Reverse/Html/Inflate/Rot13

在网络安全运营&#xff0c;护网HVV&#xff0c;重保等活动的过程中&#xff0c;webshell是一个无法绕过的话题。通常出现的webshell都不是以明文的形式出现&#xff0c;而是针对webshell关键的内容进行混淆&#xff0c;编码来绕过网络安全产品&#xff08;IDS&#xff0c;WAF&…
最新文章