微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

09 HBase

1 HBase简介

1.1 定义

HBase是一种分布式、可扩展、支持海量数据存储的Nosql数据库

1.2 数据模型

与关系型数据库类似

存储再一张表中,有行有列

底层物理存储结构(K-V),更像是一个multi-dimensional map(多维映射)。

1.2.1 逻辑结构

1.2.2 物理存储结构

1.2.3 数据模型

(1) Name Space

● 命名空间,类似于关系型数据库 database 的概念。

自带命令空间

  ● hbase — HBase内置的表

  ● default — 用户认使用的命令空间

 

(2) Table

● 类似于关系型数据库的表概念

● 定义表时,只需要声明列族,写入数据时字段可以动态、按需指定。

 

(3) Row

● 表中每行数据由一个RowKey和多个Column(列)组成。

● 数据按照RowKey的字典顺序存储。

 

(4) Column

● 表中每列由Column Family(列族)和Column Qualifier(列限定符)进行限定。

● 例如 info:name       info:age

● 建表时,只需指明列族,列限定符无需预先定义

 

(5) Time Stamp

● 用于标识数据的不同版本(version),值为写入HBase的事件。

 

(6) Cell

● 由 { rowkey,column Family:column Qulifier,time Stamp } 唯一确定的单元

● cell中的数据全部是字节码形式存贮。

 

1.3 基本架构

架构角色

Master(table+Region Server)——>Region Server(date+Region)——> Region

(1) Region Server

● 是Region的管理者,其实现类为HRegionServer

操作对象 方式
数据 get、put、detele
Region splitRegion、compactRegion

 

(2) Master

● 是Region Server的管理者,其实现类为HMaster

操作对象 方式
create、delete、
Region Server 分配Region到RegionServer中,监控RegionServer的状态,均衡负载和故障转移

(3) Zookeeper

HBase通过Zookeeper来实现

● Master的高可用

● RegionServer的监控

● 元数据的入口

● 集群配置的维护工作

(4) HDFS

为HBase提供最终的底层数据存储服务、提供高可用的支持

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐