当前位置: 首页 > 网络应用技术

从HBASE数据模型和HBase架构阅读机制中学习

时间:2023-03-08 13:10:50 网络应用技术

  众所周知,HBASE是一个NOSQL数据库。尽管它看起来类似于包含行和列的关系数据库,但它不是关系数据库。RealationalDatabase at of takase。列和面向行的数据库:

  面向数据库的数据库:

  为了更好地理解它,让我们给我们一个例子并考虑下表。

  如果该表存储在行向的数据库中。它将存储记录,如下所示:

  1.保罗·沃克(Paul Walker),美国,231,加拉多,

  2,Vin Diesel,巴西,520,野马

  如上所示,在面向行的数据库中,数据是基于行或元组存储的。

  尽管面向列表的数据库存储了此数据:

  1、2,保罗·沃克,维迪耶尔,美国,巴西,231、520,加拉多,野马

  在面向列的数据库中,所有列都存储在一起,就像第一个列值将一起存储在一起,然后将第二列值存储在一起。其他列中的数据将以类似的方式存储。

  HBase表具有以下组件,如下图所示:

  以一种更容易,更容易理解的方式,我们可以说HBase包括:

  现在,您了解了HBASE数据模型,让我们看看该数据模型如何符合HBase体系结构,并使其适合大型存储和更快的处理。

  HBase具有三个主要组件,即HMaster服务器,HBase区域服务器,区域和Zookeeper。

  下图解释了HBase体系结构的层次结构。我们将分别讨论每个结构。

  现在,在进入HMASTER之前,我们将了解该区域,因为所有这些服务器(HMASTER,REGIAMERVER,ZOOKEEEEEEEPER)都用于协调和管理区域内的区域并执行各个区域内的各种操作。因此,您想知道哪些区域以及为什么它们如此重要?

  一个区域包含分配给该区域的起始键和末端键之间的所有行。HBase表可以分为多个区域,并存储一个区域中的所有柱子部落的所有列。每个区域都包含该线路。

  许多领域分配给了一个区域服务器,该服务器负责在组区域进行处理,管理和执行阅读和写作操作。

  因此,以更简单的方式结束:

  从现在的分层结构的顶部开始,我首先想向您解释HMaster Server。它的作用类似于_hdfs.s中的Namenode,然后当您向下移动层次结构时,我将带您了解Zookeeper和区域服务器。

  如下图所示,您可以看到HMASTER处理保留在DataNode上的区域服务器集合。让我们知道HMASTER是如何做到这一点的。

  HBase具有巨大的分布环境,这还不足以管理HMaster的所有内容。动物园管理员如何帮助管理环境。

  下图解释了动物园管理器的协调机制。

  说到.Meta服务器,让我向您解释一下。Meta Server?因此,您可以轻松地将Zookeeper和.meta Server的作品关联起来。Later,当我在此博客中向您解释HBase搜索机制时,我将解释这两者如何一起工作。

  正如我向您解释了区域服务器及其功能时向您解释的那样,我们现在正在沿层次结构移动,我将重点关注区域服务器的组件和功能。我将讨论搜索,阅读,阅读,阅读,阅读,阅读的机制和写作,并了解所有这些组件如何共同工作。

  下图显示了区域服务器的组件。现在,我将分别讨论它们。

  区域服务器维护在_hdfs_顶部运行的各个区域。区域服务器的组件是:

  现在,我们知道HBase架构的主要组成部分和次要组件,我将在这里解释机制及其协作工作。无论是阅读还是写作,首先,我们都需要在哪里搜索在哪里读取或写入文件。因此,,让我们理解此搜索过程,因为这是使HBase非常受欢迎的非常流行的机制之一。

  如您所知,Zookeeper存储了Meta表位置。无论客户端将读取或写入请求发送给HBase时,都会发生以下操作:

  1.客户从Zookeeper检索元表的位置。

  2.客户端,然后从元表的相应行键的区域服务器访问它。客户端以元表的位置缓存了此信息。

  3.然后,它将通过相应的区域服务器的请求获取行。

  对于将来的参考,客户端使用其缓存来检索元表的位置和先前读取的密钥的区域服务器。客户端不会引用元表,除非它是由区域移动或移动引起的,否则客户端不会击中。然后,它将再次询问元服务器并更新缓存。

  每次,客户端都不会浪费时间从Meta服务器检索区域服务器的位置,因此可以节省时间并使搜索过程更快。以及他们如何参与?

  下图解释了HBase中的写作机制。

  写作机制贯穿以下过程(上面的参考):

  步骤1:每当客户端有写作请求时,客户端都会将数据写入WAL(提前日志)。

  步骤2:将数据写入WAL后,将其复制到Memstore。

  步骤3:将数据放入MEMSTORE后,客户将收到确认。

  步骤4:当Memstore达到阈值时,将其存储或提交给HFILE。

  现在,让我们进一步了解Memstore在写作过程中的贡献以及其功能是什么?

  正如我已经讨论过多次的那样,HFILE是HBase架构中的主要持久存储。从本文中,所有数据都提交给HFILE,HFILE是HBASE的永久存储。阅读和写作时更快。

  在了解写作机制和各种组件之后,在写作和搜索中发挥了更快的作用。我将向您解释阅读机制如何在HBase体系结构中起作用?区域分裂和恢复。

  正如我们在搜索机制中讨论的那样,如果客户端的缓存中没有本身,则客户端首先从.META服务器检索区域服务器的位置。

  到目前为止,我已经讨论了HBase的搜索和阅读机制。机制。

  HBase结合了HFILE,以减少存储并减少阅读所需的磁盘数量。此过程称为Compression.comPaction.paction从一个区域中选择一些HFILE并将其组合在一起。如上图所示,有两种类型的压缩。

  1.次要压缩:HBase自动选择较小的HFILE并将其提交给较大的HFILE,如上图所示。该hbase称为次要紧凑型。它执行合并分类以将较小的HFile提交给较大的HFile。这有助于优化存储空间。

  2.主要压实:如上图所示,在主要压实中,HBase在一个区域中合并了一个较小的Hfiles并将其提交给新的Hfile。在该过程中,将同一列部落放置在新的HFILE中。它将删除在此过程中,已删除和过期的单元格改善了阅读性能。

  但是在此过程中,输入和输出磁盘和网络流量可能会变得拥挤。这被称为写作。因此,通常在低峰值负载时间安排。

  我现在将讨论的另一个性能优化过程是区域拆分。这对于负载平衡非常重要。

  下图说明了区域拆分机制。

  每当一个区域变大时,它都会分为两个子区域,如上图所示。每个区域仅代表父亲区域的一半。然后报告给HMaster。这是由同一区域服务器处理的,直到HMaster将它们分配到新的区域服务器以达到负载余额。

  接下来,但最后,我要向您解释HBase如何在失败后恢复数据并不是最不重要的一点。我们知道故障恢复是HBase非常重要的功能,因此让我们了解HBase如何在之后恢复数据错误。

  我希望本文能够帮助您了解HBASE数据模型和HBase架构,希望您喜欢它。