为什么Hbase中列族的数量越少越好

本文探讨了在HBase中减少列族数量对于系统性能的影响。列族过多会导致regionserver初始化时内存消耗增大,频繁的flush操作增加磁盘IO负担,引发小文件问题,增加compact的复杂性。因此,合理规划列族数量对于优化HBase集群的性能至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为什么列族的数量越少越好?

  1. 在HBase中列,是在插入数据时产生,动态产生。因此如果有100个列,他们是一个列族还是两个列族,并没有什么区别,无非是在HDFS的存储的目录不同

  2. 列族过多,regionserver在初始化时,需要创建大量的store对象,每个store对象还需要初始化大量的memstore对象,占用大量的内存,要求集群配置高

  3. memstore在flush时,只要一个store对象的memstore的大小超过了溢写的阈值(128M),所有store都会执行flush,因此列族越多,执行flush的概率越大。频繁的flush会占用集群大量的磁盘IO,造成小文件过多,为将来的compact带来难度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值