美文网首页big data大数据开发
大数据开发:Hbase数据模型之物理模型

大数据开发:Hbase数据模型之物理模型

作者: 成都加米谷大数据 | 来源:发表于2021-04-22 17:45 被阅读0次

Hbase在以Hadoop为首的大数据生态体系当中,是受到重用的列式存储数据库。基于列式存储,是能够更加灵活地支持大数据场景下的数据存取需求的。今天的大数据开发分享,我们就来讲讲Hbase数据模型之物理模型。

HBase的列式存储,数据按列族聚簇存储在存储文件(StoreFile)中,空白的列单元格不会被存储。

Hbase物理存储模块

(1)HBase中表按照行键的范围被划分为不同的分区(Region),各个分区由分区服务器负责管理并提供数据读写服务,HBase主节点进程(HMaster)负责分区的分配以及在集群中的迁移。

(2)一个分区同时有且仅由一个分区服务器提供服务。当分区增长到配置的大小后,如果开启了自动拆分(也可以手动拆分或者建表时预先拆分),则分区服务器会负责将这个分区拆分成两个。

每个分区都有一个唯一的分区名,格式是“<表名,startRowKey,创建时间>”。一个分区下的每个列族都会有一个存储仓库(Store),因此一个表有几个列族,那么每个分区就会有几个存储仓库。

(3)每个Store(存储仓库)有且仅有一个MemStore(内存仓库),但是可以有多个存储文件。当分区服务器处理写入请求时,数据的变更操作在写入WAL后,会先写入MemStore,同时在内存中按行键排序。

当MemStore到达配置的大小或者集群中所有MemStore使用的总内存达到配置的阈值百分比时,MemStore会刷新为一个StoreFile(存储文件)到磁盘,存储文件只会顺序写入,不支持修改。

(4)数据块(block)是HBase中数据读取的最小单元,StoreFile由数据块组成,可以在建表时按列族指定表数据的数据块大小。如果开启了HBase的数据压缩功能,数据在写入StoreFile之前会按数据块进行压缩,读取时同样对数据块解压后再放入缓存。理想情况下,每次读取数据的大小都是指定的数据块大小的倍数,这样可以避免一些无效的IO,效率最高。

HBase存储模块交互

(1)HMaster:负责监控集群中所有的分区服务器进程,负责所有元数据的更新(如分区由哪个分区服务器提供服务)。

(2)HMaster:同时负责分区在分区服务器中的负载均衡,在一个分布式集群中,HMaster进程通常与Hadoop的NameNode运行在同一个节点,每个集群会部署至少两个HMaster节点,一个作为活跃节点提供服务,另一个作为备用节点提供快速的灾备切换,保证集群的高可用。

(3)HRegionServer:管理其负责的分区,处理分区的读写请求、分区增大的拆分(split)以及分区的压缩(compact)。、

(4)WAL:默认情况下一个分区服务器仅有一个WAL。HBase客户端数据请求操作会先写入WAL文件再写入内存仓库MemStore,这样当分区服务器宕机重启的时候,可以用WAL来恢复分区服务器的状态(如MemStore中更新的数据没有刷新到StoreFile持久化,则分区服务器启动时需要通过WAL重做(replay)数据更新来恢复)。

(5)Store:每个分区的每个列族对应一个存储仓库,一个存储仓库包含一个MemStore和多个存储文件。当MemStore的大小达到了配置的阈值后,MemStore会刷新为一个存储文件,存储文件顺序写入,不支持修改,以HFile的形式存储在Hadoop的DataNode中。

(6)MemStore:MemStore位于分区服务器的堆内存,数据在写入MemStore的时候即会按行键排序,这样刷新到存储文件的时候可以直接顺序写入,提高写性能。同时,MemStore作为一个内存级缓存,能够提供对新写入数据的快速访问(新插入数据总是比老数据使用频繁)。

关于大数据开发,Hbase数据模型之物理模型,以上就为大家做了简单的介绍了。结合到之前所讲过的Hbase逻辑模型一起来理解,也能对Hbase的数据存储有更清晰的认知。

相关文章

  • (转)HBase详细概述

    本文首先简单介绍了HBase,然后重点讲述了HBase的高并发和实时处理数据 、HBase数据模型、HBase物理...

  • PowerDesigner04 物理数据模型(PDM)

    索引 物理数据模型(CDM)概述 物理数据模型(CDM)创建步骤 学生、班级、老师物理数据模型 物理数据模型(CD...

  • 大数据开发:Hbase数据模型之物理模型

    Hbase在以Hadoop为首的大数据生态体系当中,是受到重用的列式存储数据库。基于列式存储,是能够更加灵活地支持...

  • 逆向工程

    逆向工程与EasyCode 一、基本概念 1、物理数据模型、逻辑数据模型与概念数据模型 数据模型所描述的内容包括三...

  • 数据模型之物理数据模型

    物理数据模型(Physical Data Model,PDM)物理模型主要目的是描述详细的技术实施方案。

  • HBase - 总结

    一、HBase简介 1.1 定义 1.2 HBase数据模型 1.2.1 HBase逻辑结构 1.2.2 HBas...

  • 基于Swagger的RESTful API开发之工具篇

    基于Swagger的RESTful API开发之工具篇 一、数据模型设计(docson) 数据模型设计采用docs...

  • Power Designer—物理数据模型

    1、物理数据模型 PDM 物理数据模型(Physical Data Model)PDM,提供了系统初始设计所需要的...

  • HBase 数据模型

    理解 HBase 的数据模型,能够更好的理解 HBase 针对 Region 的操作(Split、Compact等...

  • HBase入门学习

    HBase的数据模型 HBase基于HDFS进行底层数据存储,HBase是谷歌内部工具BigTable的一个开源实...

网友评论

    本文标题:大数据开发:Hbase数据模型之物理模型

    本文链接:https://www.haomeiwen.com/subject/mnsfrltx.html