商丘网站建设推广哪家来电咨询/郑州网站建设七彩科技

商丘网站建设推广哪家来电咨询,郑州网站建设七彩科技,网站放到云服务器上怎么做,网站建设 软件开发五大方向,洞悉 IoTDB 与 HBase 的详尽对比! 在物联网(IoT)领域,数据的采集、存储和分析是确保系统高效运行和决策准确的重要环节。随着物联网设备数量的增加和数据量的爆炸式增长,开发者和决策者们需要选择…

708a2ec3a706ac458954b30de9d8bcf8.png

五大方向,洞悉 IoTDB 与 HBase 的详尽对比!

在物联网(IoT)领域,数据的采集、存储和分析是确保系统高效运行和决策准确的重要环节。随着物联网设备数量的增加和数据量的爆炸式增长,开发者和决策者们需要选择合适的时序数据管理系统。Apache IoTDB 和 Apache HBase 是两款广泛应用的数据库,它们在架构设计、性能和功能方面各具特色。

为了帮助用户在时序应用场景中做出更适合的时序数据库选择,本文将从:分布式架构、端边云同步能力、部署易用性、分析与计算能力和性能表现五个方面对 Apache IoTDB 和 Apache HBase 进行详细对比。

01 基本概述

Apache IoTDB(Internet of Things Database)是起源于清华大学的 Apache 顶级项目,也是专为物联网和工业大数据场景设计的高效可扩展时序数据库。

Apache HBase 是一个高性能、面向列的分布式 NoSQL 数据库,基于 Google 的 BigTable 架构设计,运行在 Hadoop 生态系统之上。它利用 Hadoop 分布式文件系统(HDFS)进行数据存储,并通过 Zookeeper 进行分布式协调。

02 对比方向一:分布式架构

Apache IoTDB

Apache IoTDB 原生支持分布式,并针对物联网场景做了大量优化,以最大化分布式集群的可用性、可扩展性和性能。

  • Apache IoTDB 针对大部分时序场景中近期数据操作频繁、历史数据操作较少的特点,设计了专门的数据分区和负载均衡策略

通过该方案,不论设备数量是万级还是亿级,时间范围的跨度是 1 年还是 10 年,IoTDB 分片路由信息的维护成本依然是非常轻量的,而具体的时序数据管理又可以分散到集群中,这使得 IoTDB 在面对大规模时序数据时具有非常高的可扩展性,目前最大测试过 PB 级别的时序数据存储。

59e09222003ff1a0a49b3d62ab402042.png

  • 与业界其他时序数据库相比,Apache IoTDB 是第一个也是目前唯一一个提出并应用共识协议统一框架的系统。用户可以根据性能、可用性、一致性和存储成本等需求,灵活选择不同的共识算法。在共识协议统一框架下,Apache IoTDB 拥有专为 IoT 时序场景设计的高性能共识协议 IoTConsensus、强一致性共识协议 RatisConsensus、 轻量级单副本共识协议 SimpleConsensus,为用户不同的业务需求提供了丰富灵活的配置选择。

  • 提供丰富可观测性指标。Apache IoTDB 在分布式架构的全链路中内置了上千种监控指标,覆盖读写流程、共识算法、负载均衡、系统资源等,可以为用户提供可靠的实时监控。

Apache HBase

Apache HBase 的数据文件底层存储于 HDFS(Hadoop Distributed File System)。因此 Apache HBase 的分布式架构分为计算和存储两层。

Apache HBase 在计算层可以基于日志同步实现多集群多活或单集群内 region 多副本 的 replica 机制,在存储层基于 HDFS(Hadoop Distributed File System)实现存储文件的多副本分布式存储。本文主要探讨 Apache HBase 在存储层,即 HDFS 的分布式架构与设计。

ce9d742032ba130b45bc6988f4840cf9.png

  • HDFS 的核心容错和一致性机制依赖于数据块副本(Replication)。每个文件被拆分为多个 Block(数据块),这些数据块会存储在多个 DataNode 上,并且每个数据块会有多个副本(默认情况下是 3 个)。

  • HDFS 使用了基于 Chain Replication 的 Pipelines 机制来保证副本数据之间的一致性。数据会被串行地写入到各个副本中。假设有三个副本,数据会首先写入第一个 DataNode,然后通过管道的方式传递给下一个 DataNode,依次类推。

二者差异

共识算法灵活性

  • IoTDB 提出并应用了时序数据库界第一个共识协议统一框架。用户可以根据性能、可用性、一致性和存储成本等需求,灵活选择不同的共识算法。

  • HDFS 提供了最小副本数和异步复制等机制加速读写过程,但 HDFS 本质上仍是只有一种共识协议的分布式存储系统,不具备提供多种性能、一致性共识机制的能力,扩展性相对较差。

分布式架构性能

  • IoTDB 拥有为时序物联网场景定制优化的共识协议,配合数据分区和负载均衡策略,可以为物联网时序数据场景提供非常高的性能。

  • HDFS Pipelines 机制通过管道式的顺序写入方式来保障数据的一致性和高可用性。然而,由于 Pipelines 采用串行复制,它在多副本写入时会带来一定的写入延迟,并且在处理 DataNode 故障时需要动态调整管道,可能会影响性能。此外,网络带宽的消耗和副本管理的复杂性也是它在大规模集群中需要应对的问题。

71b094b1a9d7e18215f127994f379a50.jpeg

Apache IoTDB 共识协议统一框架:用户可以灵活使用不同的 IConsensus 实现

36e48747934e9942e366bf62f301cec6.png

HBase Chain Replication 分布式架构

03 对比方向二:边云同步

Apache IoTDB

Apache IoTDB 原生内置流处理引擎,支持端边云同步功能,并拥有良好的性能、可拓展性和可用性等。

f3e51d285d07b5c92dc3c0aad65995b5.png

  • 可以自适应选择流式同步和文件(TsFile)同步,可以在保证全量同步的基础上,尽量降低延迟

  • 允许用户实现自定义的流处理逻辑,可以实现对存储引擎数据变更的监听和捕获、完成对变更数据的处理、实现对变形后数据的向外推送等逻辑。

  • 支持分布式高可用。流处理引擎原生支持进度记录、出错自动重试、断点重算等特性,同时支持 at-least-once 传输语义,保证端到端 100% 一致性。

  • 近存储计算,以最小化 IO、CPU 和网络代价利用数据进行计算,可对核心场景充分优化。将存储引擎  IoTLSM-Tree 中的高压缩率数据存储文件 TsFile 作为传输单位,降低传输的网络流量并减小云端负载。

Apache HBase

Apache HBase 在边云同步能力上并没有针对性的内置功能,主要是因为 HBase 设计之初是为了解决大规模分布式存储和查询问题,主要应用于数据中心或云端的场景,其与 Apache Hive 等大数据栈的连接更为紧密。在端边云同步场景中,HBase 的能力和支持较为有限。

要实现边云同步能力,HBase 需要借助外部框架来进行定制开发。例如,用户可以结合 Apache Flink、Apache Kafka 等流处理框架,将边缘设备的数据实时写入到 HBase 集群中,并通过自定义的同步逻辑实现边缘到云的同步和分析。尽管这种方法在灵活性上较好,但增加了开发和运维的复杂性。

二者差异

原生数据同步

  • HBase 虽然可以通过其异步复制机制(HBase Replication)实现一定程度上的数据同步。然而,这种复制机制主要用于数据中心之间的复制,并不适合高效的边云同步,延迟可能较大。

  • IoTDB 拥有专为边云环境设计的流处理引擎,数据同步更加实时和高效,玩转数据同步。

边侧环境适配度

  • HBase 的集群和存储架构需要依赖 HDFS 和 Zookeeper,这意味着它通常需要较为稳定且高性能的网络环境,限制了其在边缘设备中的应用,使其在边缘场景中的适用性有限,难以在网络不稳定、资源有限的边缘环境中高效运作。

  • IoTDB 针对边侧低带宽、长时间断网、小存储等特点进行了大量优化,使得边侧场景可以轻量运行数据同步任务。 

5b32ef5b8238d27c7dc9ae48bc71a5ac.png

Apache IoTDB 端边云场景的数据同步

04 对比方向三:部署易用性

Apache IoTDB

Apache IoTDB 作为新一代的时序数据管理解决方案,致力于通过更轻量级的架构降低部署难度,特别是在资源占用硬件要求上做了大量优化。相比于传统的分布式数据库,IoTDB 能在许多场景中通过单台机器完成海量时序数据的高效写入和查询工作。这意味着即使在数据规模巨大的情况下,IoTDB 也可以通过一台单机就实现高性能数据处理,而不需要复杂的集群部署。

3208dd192a97b63b22d0d774f201739c.jpeg

Apache IoTDB 不依赖任何外部组件,既支持单机也支持分布式:上图为常见的 3C3D 架构

Apache HBase

HBase 是大数据生态体系中的重要一环,用户通过使用 Hadoop、HBase、Zookeeper 等众多开源生态组件,能够搭建一套大规模的分布式集群,从而服务业务数据应用。但与 IoTDB 相比,Apache HBase 的部署则显得复杂得多。HBase 作为一个分布式数据库,需要依赖多个上下游组件,如 Hadoop(用于 HDFS 文件系统)、Zookeeper(用于集群协调)等。因此,HBase 的部署通常是分布式多节点架构,至少需要多个节点来确保高可用性和数据冗余,这导致了较高的硬件需求和运维负担。

165bab4b94235b8b0fcd5e33960fc75a.png

Apache HBase 的分布式架构需要协调 Zookeeper 等众多上下游组件

二者差异

架构与部署复杂度

  • IoTDB:采用轻量级架构,支持单机部署,适合不需要大规模集群的场景,部署简单且依赖少。

  • HBase:基于分布式架构,依赖 HDFS 和 Zookeeper 等生态组件,通常需要多节点配置,部署复杂度较高。

硬件需求

  • IoTDB:单机即可支持大规模数据处理,硬件要求较低,适合对资源敏感的 IoT 场景。

  • HBase:需要多个节点以确保高可用性和数据冗余,硬件需求高,适合大规模分布式存储。

自动化与运维简化

  • IoTDB:提供一键部署工具,运维简便,无需处理复杂组件依赖,减少了管理成本。

  • HBase:需同时管理 HDFS、Zookeeper 和 RegionServer 等多个组件,运维难度较大。

扩展能力

  • IoTDB:支持动态添加和删除节点,扩展轻量化,便于根据业务需求调整节点数量。

  • HBase:扩展时需综合调优 HDFS、Zookeeper 和 RegionServer,对运维团队的技术要求高。

05 对比方向四:分析与计算能力

HBase 是一个键值存储系统,读写接口较原始,无时间维度的分析接口,并没有专门为时序数据分析提供特定功能,如果需要完成时序数据分析任务,需要与其他大数据分析下游软件如 Apache Spark 进行集成或进行较多的业务代码开发。

HBase 相比, Apache IoTDB 在时序场景下的分析与计算能力上拥有很多特色功能:

1. 支持多种统计聚合,包括 count、max、min、avg、std、sum、first_value、last_value 等常用的计算函数

2. 支持多种时序语义的数据查询,包括按等间隔划分窗口的查询、按某列枚举值划分窗口的查询按照时序记录的连续性划分窗口等特色时序查询能力

3. 支持多种时序数据分析查询,包括数据质量检测、数据画像、异常检测、频域分析、数据匹配、数据修复等查询能力。

4. 支持 AINode 原生机器学习框架,内置包括时序预测、异常检测等类型的算法,同时支持用户加载自身模型直接对数据进行推理,拥有开箱即用的一体化存储和分析方案:安装部署后,可一键进行序列预测。

baf1bbb862fb3c565657b2cf63321f3f.png

06 对比方向五:性能

性能无疑是时序数据库选型中最重要的指标之一。接下来,本文将基于 TPCx-IoT 对 Apache IoTDB 和 Apache HBase 进行性能对比。

TPCx-IoT 是第一个专门设计用于测量物联网网关系统性能的物联网基准。它可以直接比较不同的软件和硬件解决方案。使用拥有数千个变电站的典型电力供应商的运营模式,TPCx-IoT 为通常从大量设备中,摄取大量数据的商用系统提供可验证的性能、性价比和可用性指标,同时运行实时时间分析查询。其灵活的设计使 TPCx-IoT 能够以技术上严格和直接可比的方式,用于评估广泛的系统拓扑和实施方法。

  • TPCx-IoT 定义了三个主要指标(用户主要关注前两个指标):

1. 性能指标:IoTps = SF/T:性能指标代表网关的有效吞吐能力,其中 SF 是 Scale Factor(摄取的数据量), T 是摄取经过的时间,以秒为单位。

2. 性价比指标:$/kIoTps = 1000∗P / IoTps。性价比指标代表系统在 3 年内的总拥有成本, 其中 P 是 SUT 的总拥有成本。

3. 系统可用日期:TPC 定价规范中定义的可用日期。

  • 所有测试结果公开可查~

基于 Apache IoTDB 的 TimechoDB 在性能(IoTps)上可达 10,671,241,而搭载 Cloudera HBase 2.2.3 on CDP 7.1.4 的 Dell Power Edge R7515 测试结果为 1,617,545,IoTDB 性能约为 HBase 的 6.60 倍

基于 Apache IoTDB 的 TimechoDB 的性价比(Price/kIoTps)为 27.91 USD,而搭载 Cloudera HBase 2.2.3 on CDP 7.1.4 的 Dell Power Edge R7515 测试结果为 329.75 USD,IoTDB 的性价比是 HBase 的 11.81 倍

0947dd789a6e9435b2c6bd4760c30f2c.png

07 总结

在选择适合物联网和大数据应用的时序数据库时,了解不同数据库在架构设计、功能和性能方面的差异是至关重要的。本文对 Apache IoTDB 和 Apache HBase 在时序场景下的表现进行了详细对比,重点分析了它们在分布式架构、端边云同步能力、部署易用性、分析与计算能力和性能方面的区别。通过本文的对比分析,希望能够为开发者和决策者在选择时序数据库时提供有价值的参考,在复杂多变的物联网和大数据环境中做出更优的选择!

规上企业应用实例

能源电力:中核武汉|国网信通产业集团|华润电力|大唐先一|上海电气国轩|清安储能|某储能厂商|太极股份

航天航空:中航机载共性|北邮一号卫星

钢铁冶炼:宝武钢铁|中冶赛迪

交通运输:中车四方|长安汽车|城建智控|德国铁路

智慧工厂与物联:PCB 龙头企业|博世力士乐|德国宝马|京东|昆仑数据|怡养科技|绍兴安瑞思

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

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

相关文章

单片机串口接收状态机STM32

单片机串口接收状态机stm32 前言 项目的芯片stm32转国产,国产芯片的串口DMA接收功能测试不通过,所以要由原本很容易配置的串口空闲中断触发DMA接收数据的方式转为串口逐字节接收的状态机接收数据 两种方式各有优劣,不过我的芯片已经主频跑…

词嵌入方法(Word Embedding)

词嵌入方法(Word Embedding) Word Embedding是NLP中的一种技术,通过将单词映射到一个空间向量来表示每个单词 ✨️常见的词嵌入方法: 🌟Word2Vec:由谷歌提出的方法,分为CBOW(conti…

【go从零单排】实现枚举类型(Enum)

🌈Don’t worry , just coding! 内耗与overthinking只会削弱你的精力,虚度你的光阴,每天迈出一小步,回头时发现已经走了很远。 📗概念 在Go语言中,并没有内置的枚举类型(Enum)&…

Python爬虫如何处理验证码与登录

Python爬虫如何处理验证码与登录 Python 爬虫在抓取需要登录的网站数据时,通常会遇到两个主要问题:登录验证和验证码处理。这些机制是网站用来防止自动化程序过度抓取数据的主要手段。本文将详细讲解如何使用 Python 处理登录与验证码,以便进…

MOS管损坏原因

MOS管是什么? MOS管,全程就是MOSFET(Metal-Oxide-Semiconductor Field-Effect Transistor),是一种场效应晶体管。‌ MOS管控制原理 MOS管的工作原理是通过栅极电压(G)来控制源极&#xff08…

「QT」QT5程序设计专栏目录

✨博客主页何曾参静谧的博客📌文章专栏「QT」QT5程序设计📚全部专栏「VS」Visual Studio「C/C」C/C程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasolid…

论文阅读《机器人状态估计中的李群》

目录 摘要1 介绍2 微李理论2.1 李群 摘要 李群是一个古老的数学抽象对象,可以追溯到19世纪,当时数学家 Sophus Lie奠定了连续变换群理论的基础。多年后,它的影响已经蔓延到科学和技术的各个领域。在机器人领域,我们最近正在经历一…

EHOME视频平台EasyCVR视频融合平台使用OBS进行RTMP推流,WebRTC播放出现抖动、卡顿如何解决?

在现代视频监控领域,跨区域的网络化视频监控管理平台成为了大中型项目的首选。EHOME视频平台EasyCVR以其强大的功能和兼容性,成为了众多项目的核心组件。它不仅能够管理视频资源、设备、用户、运维和安全,还支持多种行业标准协议,…

浮动路由:实现出口线路的负载均衡冗余备份。

浮动路由 Tip:浮动路由指在多条默认路由基础上加入优先级参数,实现出口线路冗余备份。 ip routing-table //查看路由表命令 路由优先级参数:越小越优 本次实验测试两条默认路由,其中一条默认路由添加优先级参数,设置…

Android CCodec Codec2 (十九)C2LinearBlock

在上一篇文章的结尾,我们看到fetchLinearBlock方法最终创建了一个C2LinearBlock对象。这一节,我们将深入了解C2LinearBlock是什么,它的作用是什么,以及它是如何被创建的。 1、_C2BlockFactory 先对上一篇文章的结尾内容做简单回顾…

Axure PR 9 多级下拉选择器 设计交互

​ 大家好,我是大明同学。 Axure选择器是一种在交互设计中常用的组件,这期内容,我们来探讨Axure中多级下拉选择器设计与交互技巧。 下拉列表选择输入框元件 创建选择输入框所需的元件 1.在元件库中拖出一个矩形元件。 2.选中矩形元件&…

SparkSql读取数据的方式

一、读取普通文件 方式一:给定读取数据源的类型和地址 spark.read.format("json").load(path) spark.read.format("csv").load(path) spark.read.format("parquet").load(path) 方式二:直接调用对应数据源类型的方法 …

使用Python实现图像的手绘风格效果

使用Python实现图像的手绘风格效果 一、引言二、代码详细解释与示例三、完整框架流程四、运行五、结论附:完整代码 一、引言 在数字图像处理领域,模拟手绘风格是一项有趣且具有挑战性的任务。手绘风格图像通常具有独特的纹理和深浅变化,给人…

Oracle Select语句

SELECT语句使用方法 在Oracle中,表是由列和行组成。 例如,示例数据库中的customers表具有以下列:customer_id,name,address,website和credit_limit。customers表中这些列中也有对应的数据。 要从表的一个或…

w~大模型~合集21

我自己的原文哦~ https://blog.51cto.com/whaosoft/12459590 #大模型~微调~用带反馈的自训练 面对当前微调大模型主要依赖人类生成数据的普遍做法,谷歌 DeepMind 探索出了一种减少这种依赖的更高效方法。大模型微调非得依赖人类数据吗?用带反馈的自训…

ctfshow(316,317,318)--XSS漏洞--反射性XSS

反射型XSS相关知识 Web316 进入界面: 审计 显示是关于反射性XSS的题目。 思路 首先想到利用XSS平台解题,看其他师傅的wp提示flag是在cookie中。 当前页面的cookie是flagyou%20are%20not%20admin%20no%20flag。 但是这里我使用XSS平台,…

【案例】Excel使用宏来批量插入图片

一、场景介绍 我有一个excel文件,需要通过一列的文件名称,按照规则给批量上传图片附件。 原始文件: 成功后文件: 二、实现方法 1. 使用【wps】工具打开Excel文件,将其保存为启用宏的文件。 2.找到编辑宏的【VB编辑器…

ENSP OSPF和BGP引入

路由协议分为:内部网关协议和外部网关协议。内部网关协议用于自治系统内部的路由,包括:RIP和OSPF。外部网关协议用于自治系统之间的路由,包括BGP。内部网关协议和外部网关协议配合来共同完成网络的路由。 BGP:边界网关路由协议(b…

Linux磁盘存储

磁盘存储 设备文件 设备文件是类Unix操作系统(包括Linux)中一种特殊的文件类型,它代表了设备接口,使得用户空间的程序可以通过标准的文件操作来访问和控制硬件设备。设备文件为周边设备提供了简单的接口,如打印机、硬…

阿里云ECS服务器使用限制及不允许做的事情

阿里云ECS(Elastic Compute Service)是一种高性能的弹性计算服务,允许用户在云端创建和管理虚拟服务器。尽管ECS提供了强大的功能,但在使用过程中,阿里云有一些限制和不允许的行为。以下是一些主要的使用限制和禁止行为…