>데이터 베이스 >MySQL 튜토리얼 >[HBase]数据模型(逻辑结构)

[HBase]数据模型(逻辑结构)

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB원래의
2016-06-07 14:58:371432검색

[HBase]数据模型(逻辑结构) HBase以表的形式存储数据。表由行和列族组成。列划分为若干个列族(row family),其逻辑视图如下: 下面分别说说几个关键概念: 1)行键(RowKey) -- 行键是字节数组, 任何字符串都可以作为行键; -- 表中的行根据行键进行排序,

[HBase]数据模型(逻辑结构)

 

HBase以表的形式存储数据。表由行和列族组成。列划分为若干个列族(row family),其逻辑视图如下:

 

[HBase]数据模型(逻辑结构)

 

下面分别说说几个关键概念:

1)行键(RowKey)

-- 行键是字节数组, 任何字符串都可以作为行键;

-- 表中的行根据行键进行排序,数据按照Row key的字节序(byte order)排序存储;

-- 所有对表的访问都要通过行键 (单个RowKey访问,或RowKey范围访问,或全表扫描)

2)列族(ColumnFamily)

-- CF必须在表定义时给出

-- 每个CF可以有一个或多个列成员(ColumnQualifier),列成员不需要在表定义时给出,新的列族成员可以随后按需、动态加入

-- 数据按CF分开存储,HBase所谓的列式存储就是根据CF分开存储(每个CF对应一个Store),这种设计非常适合于数据分析的情形

3)时间戳(TimeStamp)

-- 每个Cell可能又多个版本,它们之间用时间戳区分

4)单元格(Cell)

-- Cell 由行键,列族:限定符,时间戳唯一决定

-- Cell中的数据是没有类型的,全部以字节码形式存贮

5)区域(Region)

-- HBase自动把表水平(按Row)划分成多个区域(region),每个region会保存一个表里面某段连续的数据;

-- 每个表一开始只有一个region,随着数据不断插入表,region不断增大,当增大到一个阀值的时候,region就会等分会两个新的region;

-- 当table中的行不断增多,就会有越来越多的region。这样一张完整的表被保存在多个Region 上。

-- HRegion是HBase中分布式存储和负载均衡的最小单元。最小单元表示不同的HRegion可以分布在不同的HRegionServer上。但一个HRegion不会拆分到多个server上。
 

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.