HBase 入门笔记 Overview

216 阅读1分钟

简介

Apache HBase是基于Hadoop构建的一个分布式的、可伸缩的海量数据存储系统。

HBase行与行之间无须遵循一致的定义,这种定义恰好符合半结构化数据或非结构化数据的特点。这被称为“稀疏矩阵”。

使用场景

HBase常常被用来存放结构简单,但是数据量非常大的数据,比如订单记录,日志数据等。HBase提供了基于Key的快速查询能力。

数据模型

RowKey

RowKey表示一行记录的唯一主键。HBase的数据是按照RowKey的字典顺序进行全局排序的,所有的查询都只能依赖于这一个排序维度。

Column

一行数据可对应多个列,这符合HBase的schema-less的特点。

多个column组成一个 column family。

Region

Hbase中将整张大表切分为一个个“Key Range”。每个Range成为一个Region。

Region是HBase中负载均衡的基本单元。

column family

每一个column 必须属于某个column family。这个归属关系是写入数据时确定的,并不是在建表时预定义的。

HDFS与HBase

HBase是基于HDFS的,那么为什么不将数据直接存放在HDFS?

因为HBase一般用于存储大量小文件,假如直接存放于HDFS,会导致导致大量小文件产生。为NameNode带来巨大压力,影响性能。

集群

ZooKeeper、 NameNode、 DataNode、 Master、 Region Server