设为首页 加入收藏

TOP

【原创】HBase中列族设计的原则
2019-04-28 01:47:39 】 浏览:42
Tags:原创 HBase 设计 原则

HBase表在进行模式设计时,首先考虑的一个问题是,这个表应该有多少个列族。一张表设计多少列族合理呢?相信这个问题困扰着不少HBase初学者。让我们来先简单分析一下HBase的实现原理。

HBase中的表和其数据库一样,也是由行和列组成的,虽说模式有些不同。HBase中的表可能达到数十亿行和数百万列,表的大小可能达到TB级,显然不可能在一台机器上存放整张表。相反,一张表在存储时会切分成小一点儿的数据单位,然后分配到多台服务器上。这个小一点儿的数据单位叫region。HBase表中数据的访问是通过其对应region来进行管理的,region内对列族的管理如下图:

每个列族都会MemStore和BlockCache,数据在硬盘中以HFile形式存储。HFile不会存储跨列族的数据。
因此,根据上图可以得出,HBase表中列族设计的原则是:
一、同一个列族里存储相似访问模式的所有有数据。
可以理解为关系数据库中一对一关系,一对一关系的两张表,在HBase中可以存储在一张表中,放到不同的列族。
二、大多数的表,设计一个列族就够了。
在HBase中,高表比宽表性能好,可以设计多张表来满足需求。
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇HBase的实现基础 Google Bigtable.. 下一篇Hbase 表名修改

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目