1、概述
HBase是一种分布式、可扩展、支持海量数据存储的NoSQL数据库。
2、数据模型
HBase的数据模型同关系型数据库很类似,数据存储在一张表中
3、数据模型
HBase的数据模型包含:
Name Space:
HBase有两个自带的命名空间,分别是hbase和default,
hbase中存放的是HBase内置的表
default表是用户默认使用的命名空间
Region:
HBase定义表时只需要声明列族即可,不需要声明具体的列
Row:
HBase表中的每行数据都由一个 RowKey 和多个 Column 组成,
并且数据是按照 RowKey 的字典顺序存储的,查询数据时只能根据RowKey进行检索
Column:
HBase中的每个列都由 Column Family 和 Column Qualifier 进行限定
Time Stamp:
用于标识数据的不同版本,每条数据写入时,如果不指定时间戳,系统会自动为其加上该字段
Cell:
cell中的数据是没有类型的,由 rowkey, Column, time Stamp唯一确定的单元
4、基本架构
Region Server:
Region Server 为 Region 的管理者,其实现类为HRegionServer,
主要作用是操作 数据 和 Region
Master:
Master 是所有 Region Server 的管理者,其实现类为HMaster,
主要作用是操作 表 和 RegionServer
分配regions 到每个 RegionServer,监控每个 RegionServer 的状态,负载均衡和故障转移
Zookeeper:
通过 zookeeper 来做Master的高可用、 RegionServer的监控、 元数据的入口以及集群配置的维护等工作
HDFS:
HDFS为HBase提供高可用的支持
|
|