设为首页 加入收藏

TOP

Hbase 列族设计
2019-02-09 01:54:09 】 浏览:15
Tags:Hbase 设计
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Luomingkui1109/article/details/82762680

在大多数的工厂环境下,往往只会设计一个列族,以为列族数量过多会导致如下的性能问题:

1. Flush 会产生大量 IO

Flush 的最小单元是 region,也就是说一个 region 中的某个列族做 Flush 操作,其他的 列族也会 Flush,对每个列族而言,每次 Flush 都会产生一个文件,频繁 Flush 必然会产生更 多的 StoreFile,StoreFile 数量增多又会产生更多的 Compact 操作,Flush 和 Compact 都是很 重的 IO 操作。

2. Split 操作可能会导致数据访问性能低下

Split 的最小单元是 region, 如果这个 region 有两个列族 A、B,列族 A 有 100 亿条记录,列族 B 有 100 条记录,如果最终 Split 成 20 个 region, 那么列族 B 的 100 条记录会分 布到 20 个 region 上, 扫描列族 B 的性能低下。

因此,在设计列族时,过多的列族会导致很多性能问题,列族设计最重要的一点就是减 少列族数量。


编程开发网
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇hbase 使用 (快速多维检索)-准实.. 下一篇HBase的安装和配置

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

array(4) { ["type"]=> int(8) ["message"]=> string(24) "Undefined variable: jobs" ["file"]=> string(32) "/mnt/wp/cppentry/do/bencandy.php" ["line"]=> int(214) }