简介
HBase是针对谷歌BigTable的开源实现,是f高可靠、高性能、面向列、可伸缩的分布式数据库,主要用来存储非结构化和半结构化的松散数据。HBase可以支持超大规模数据存储,它可以通过水平扩展的方式,利用廉价计算球群处理由超过10亿行数据和数百万列元素组成的数据表。
1、 HBase访问接口
HBase 提供了 Native Java API、HBase Shell、Thrift Gateway. REST Gateway. Pig> Hive 等多种访问方式,下表给出了 HBase访问接口的类型、特点和使用场合。
2、HBase数据模型
- 数据模型的相关概念:1)表 2)行 3)列族 4)列限定符 5)单元格 6)时间戳
- 数据坐标:“四维坐标”,即[行键,列族,列限定符,时间戳]
- 概念试图:
- 物理视图
- 面向列的存储:列式数据库采用DSM (Decomposition Storage Model)存储模型,它是在1985年提出来的,目的是最小化无用的I/Oo DSM采用了不同于NSM的思路,对于采用DSM存储模型的关系数据库而言,DSM会对关系进行垂直分解,并为每个属性分配一个子关系。因此,一个具有"个属性。
HBase的实现原理
-
HBase 功能组件:
-
表和Region
-
Region的定位
HBase运行机制
- HBase系统架构:HBase的系统架构如图4>9所示,包括客户端、Zookeeper服务器、Master主服务器、Region服务器。需要说明的是,HBase 一般采用HDFS作为底层数据存储,因此图@9中加入了 HDFS和 Hadoop