Hbase 列族设计的重要性

Posted

技术标签:

【中文标题】Hbase 列族设计的重要性【英文标题】:Hbase column family design importance 【发布时间】:2015-03-07 17:45:36 【问题描述】:

我正在研究 HBase,但无法为自己找到一个问题的答案。

让我们考虑以下情况。我们有五个物理(硬件)服务器(0-4)。 Hmaster 安装在服务器 0 上,四个 hregion 服务器安装在服务器 1-4 上。我们有一张非常大的桌子,我们需要使用这五台服务器。

据我了解,每个区域服务器都负责特定区域(某些行(!))。这意味着始终有一行(包括其所有列族、列和单元格)仅位于 ONE 区域服务器中(在我们的示例中位于 ONE 物理服务器中)。

如果我写的是对的,我无法理解列族的用途和重要性。如果我错了,请纠正我和/或解释列族的用途。

【问题讨论】:

【参考方案1】:

扫描/获取时更注重 IO 性能。如果您发现自己在扫描/获取期间仅使用列 X、Y 和 Z 而不是 A、B 和 C,则可以将数据划分为两个列族以提高 IO 性能。

压缩表也可能有一个小好处,因为类似的数据可以物理分组在一起,因此更容易压缩。

【讨论】:

以上是关于Hbase 列族设计的重要性的主要内容,如果未能解决你的问题,请参考以下文章

Hbase 列族

HBASE表设计

谈谈HBase

hbase建表create高级属性 //hbase 表预分区也就是手动分区 这个很重要

从HBase底层原理解析HBASE列族不能设计太多的原因?

HBase原理 | HBase内部探险