分布式结构化存储系统Hbase

Hbase数据模型分为逻辑数据模型和物理数据模型。

1、逻辑数据模型:namespace(数据库)和table(表)

hbase:系统内建表,包括namespace和meta表;

default:用户建表未制定namespace的表都创建在此;

Hbase表有一系列行构成,每行数据有一个rowkey以及若干column family构成,每个cloumn family 可包括无限列。(rowkey、column Family、column qualifier、cell、timestamp)

2、物理数据存储

hbase是列族式存储引擎,它以column family为单位存储数据,每个column family内部数据是以key value格式保存的,key value 组成形式:

【row key,column family,column qualifier,timestamp】 => value

Hbase的基本架构:

HMaster:协调RegionServer、元信息管理

RegionServer:负责单个Region的存储和管理,并与Client交互处理读写请求

Zookeeper:内部存储Hbase的重要元信息和状态信息,担任Master与RegionServer之前的服务协调角色

Client:提供Hbase访问接口,与RegionServer交互读写数据,并维护cache加快对Hbase的访问速度

RegionServer内部关键组件:BlockCache、MemStore、HFile、WAL

Hbase的访问方式:

1、Hbase shell:通过$Hbase_HOME/bin/hbase shell 命令进入交互式命令行

作用在表上的命令:create、list、disable、describe、drop

作用在数据上的命令:put、get、delete、scan、count

2、Hbase API

提供Java 类操作Hbase Api

3、数据收集组件

数据收集系统Flume和Sqoop,它们均可以将数据以预定格式导入Hbase。

分布式列式存储系统Kudu

大数据生态系统,存储层主要由HDFS和Hbase两个系统把持着,在追求高吞吐的批处理场景下,我们选用HDFS ;在追求低延迟,有随机读写需求场景下,我们选用Hbase。

Kudu:能结合两个系统的优点,同时支持高吞吐率和低延迟。它能够对快速变化的数据进行快速的分析,填补了以往Hadoop存储层的空缺。

猜你喜欢

转载自blog.csdn.net/chechelove886/article/details/84308079