HBase基本理论知识

HBase简介

HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,NoSQL数据库

HBase数据模型之逻辑结构

  • 表的主键(Row Key),按照字典序排序,且是唯一的存在。
  • 新建table的时候 只需要创建列族,不同的列族放在HDFS中不同的文件夹存储,列是put中动态添加的
  • region为一张表的切片,按数据量和Row Key水平方向切割
  • 版本用时间戳timestamp来表示
  • cell指的是KV一条数据,K就是Row1,info,name,154216535420(Row Key+CF+Column+timestamp),v就是张三
  • 一个key可以有很多个版本的value值,查询的话返回最新的数据即时间戳最大的那个。

Region Server 和 Region 的关系

  • 一个 Region Server 就是一个机器节点(服务器)
  • 一个 Region Server 包含着多个 Region
  • 一个 Region 包含着多个列簇 (CF)
  • 一个 Region Server 中可以有多张 Table,一张 Table 可以有多个 Region

HBase数据模型之物理存储

逻辑结构 物理结构
Region Server HRegion Server
Region HRegion
CF Store
  • HRegion Server 就是一个机器节点,包含多个 HRegion ,但是这些 HRegion 不一定是来自于同一个 Table
  • HRegion按大小分割的,每个表一开始只有一个region,随着数据不断插入表,HRegion不断增大,当增大到一个阀值的时候,HRegion就会等分会两个新的HRegion,当table中的行不断增多,就会有越来越多的Hregion。
  • HRegion是HBase中分布式存储和负载均衡的最小单元。最小单元就表示不同的HRegion可以分布在不同的HRegion Server上,但一个HRegion是不会拆分到多个server上的。
  • HRegion虽然是分布式存储的最小单元,但并不是存储的最小单元。事实上,HRegion由一个或者多个Store组成,每个store保存一个columns family。每个Strore又由一个memStore和0至多个StoreFile组成。
  • HLog(WAL Log),每个Region Server维护一个Hlog,而不是每个Region一个。这样不同Region(来自不同表)的日志会混在一起,这样做的目的是不断追加单个文件相对于同时写多个文件而言,可以减少磁盘寻址次数,因此可以提高对表的写性能。

HBase基本框架

  • Master
    HBase Master用于协调多个Region Server,侦测各个RegionServer之间的状态,并平衡RegionServer之间的负载。DDL操作表。
  • Region Server
    对于一个RegionServer而言,其包括了多个Region。RegionServer的作用只是管理表格,以及实现读写操作。Region的切分和合并。
  • Zookeeper
    对于 HBase 而言,Zookeeper的作用是至关重要的。首先Zookeeper是作为HBase Master的HA解决方案。也就是说,是Zookeeper保证了至少有一个HBase Master 处于运行状态。并且Zookeeper负责Region和Region Server的注册。

猜你喜欢

转载自www.cnblogs.com/hhachi/p/12796295.html
今日推荐