31. Joins

HBase是否支持joins是一个很常见的问题,简单来说,不支持,至少不能像RDBMS那样支持(例如在SQL中使用equi-joins或outer-joins)。就像本章节描述,在HBase中,读取数据模型的操作是Get和Scan。

然而,这并不是意味着,在你的应用中,不能支持类似的join功能,但是,你必须自己处理。方法主要有两个:要么非规范化数据写入HBase,或者查找表并且在你的应用或MapReduce代码(就像RDBMS描述那样,许多种策略都依赖于表的大小,例如嵌套循环与hash-joins)中做HBase表之间的join,所以呢,哪个是最好的方法?主要还得看你正在做的事情,像这样,对于每一个使用情况,是没有一个统一回答的。

results matching ""

    No results matching ""