HBase | HBase 优化

Region:基于RowKey设计来预建分区减少Region的动态分裂如果没有预建分区的话,随着Region中数据的增加,Region会进行分裂,这将增加I/O开销

HFile数据底层存储文件,在每个Memstore进行刷新时会生成一个HFile,当HFile增加到一定程度时,会将属于一个Region的HFile进行合并,但注意合并后HFile大小如果大于设定的值,那么HFile又将重新分裂。为了减少这样的无谓的I/O开销,建议估计项目数据量大小,给HFile设定一个合适的值

Compaction:关闭Compaction在闲时进行手动Compaction因为HBase中存在Minor Major两种方式对HFile进行合并,大量的HFile合并定会带来更多的I/O开销

BulkLoad批量数据写入时采用BulkLoad

BloomFilter开启BloomFilter,BloomFilter是列族级别的过滤,在生成一个StoreFile同时会生成一个MetaBlock,用于查询时过滤数据提高查询速度

压缩:推荐使用Snappy和LZO压缩

RowKey设计:满足常用的RowKey设计原则,即散列等。

ColumnFamily列族设计:基于业务设计列族,以及控制列族数量等。

 

更多学习跟着大佬一起:

表设计优化: https://www.jianshu.com/p/1d7ef5a5cfb1

读性能优化:https://www.jianshu.com/p/0144ae2e5135

写性能优化:https://www.jianshu.com/p/ea06d3ca97e8

基础知识点:https://www.jianshu.com/p/b417999d7786 

 

发布了44 篇原创文章 · 获赞 11 · 访问量 5457

猜你喜欢

转载自blog.csdn.net/Sampson_Hugo/article/details/103348330
今日推荐