Compaction和Split

• 问题:随着写入不断增多,flush次数不断增多,Hfile文件越来越多,所以Hbase需要对这些文件进行
合并

• Compaction会从一个region的一个store中选择一些Hfile文件进行合并。合并说来原理很简单,先从这些待合并的数据文件中读出KeyValues,再按照由小到大排列后写入一个新的文件中。之后,这个新生成的文件就会取代之前待合并的所有文件对外提供服务
• Minor Compaction:是指选取一些小的、相邻的StoreFile将他们合并成一个更大的StoreFile,在这个过程中不会处理已经Deleted或Expired的Cell。一次Minor Compaction的结果是更少并且更大的StoreFile
• Major Compaction:是指将所有的StoreFile合并成一个StoreFile,这个过程还会清理三类无意义数据:被删除的数据、TTL过期数据、版本号超过设定版本号的数据
• Major Compaction时间会持续比较长,整个过程会消耗大量系统资源,对上层业务有比较大的影响。因此线上业务都会将关闭自动触发Major Compaction功能,改为手动在业务低峰期触发
• Compaction本质:使用短时间的IO消耗以及带宽消耗换取后续查询的低延迟
• compact的速度远远跟不上HFile生成的速度,这样就会使HFile的数量会越来越多,导致读性能急剧下降。为了避免这种情况,在HFile的数量过多的时候会限制写请求的速度。

• Split
– 当一个Region太大时,将其分裂成两个Region
• Split和Major Compaction可以手动或者自动做。
默认情况下,每个 Table 起初只有一个 Region,随着数据的不断写入,Region 会自动进行拆分。刚拆分时,两个子 Region 都位于当前的 Region Server,但处于负载均衡的考虑,HMaster 有可能会将某个 Region 转移给其他的 Region Server。
Region Split 时机:
1.当1个region中的某个Store下所有StoreFile的总大小超过hbase.hregion.max.filesize,该 Region 就会进行拆分(0.94 版本之前)。
2. 当1个region中的某个Store下所有 StoreFile 的总大小超过 Min(R^2 *
“hbase.hregion.memstore.flush.size”,hbase.hregion.max.filesize"),该 Region 就会进行拆分,其中 R 为当前 Region Server 中属于该 Table 的个数(0.94 版本之后)。

Compaction和Split相关推荐

  1. 深入理解 HBase Compaction 机制

    HBase有很多话题可以聊,包括读写路径上涉及到的一些数据结构,性能优化以及优化读写做的一些设计等.今天要探讨的Compaction机制就是HBase架构上做的一个重要优化,其实关于HBase的架构设 ...

  2. HBASE Compaction 简介

    HBASE Compaction 简介 序 since: 2021年4月8日  9:43 auth: Hadi 参考: https://blog.csdn.net/u011598442/article ...

  3. HBase——强一致性详解

    Hbase是一个强一致性数据库,不是"最终一致性"数据库,官网给出的介绍: "Strongly consistent reads/writes: HBase is not ...

  4. 分布式数据库 HBase

    原文地址:http://www.oschina.net/p/hbase/ HBase 概念 HBase – Hadoop Database,是一个高可靠性.高性能.面向列.可伸缩的分布式存储系统,利用 ...

  5. HBase入门: 简介、特点、优缺点、数据结构、系统架构、入门操作、适用场景、注意事项与遇到的坑

    原文地址 https://www.cnblogs.com/Little-Li/p/7878219.html https://yq.aliyun.com/articles/54410 https://b ...

  6. 大数据最佳实践-hbase

    目录 概述 架构 MemStore WAL HMaster 读流程 写流程 Memstore Flush Flush过程 StoreFile Compaction Region Split 优化 re ...

  7. HBASE从入门到精通

    一. HBase技术介绍 HBase简介 HBase – Hadoop Database,是一个高可靠性.高性能.面向列.可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大 ...

  8. HBase第一天学习

    HBase第一天学习 HBase的访问方式 进入退出:hbase shell    exit shell实现DDl操作 创建一个表:create 'member','member_id','addre ...

  9. 栋的月结 | 第一回合(定期更新、动态、架构、云技术、算法、后端、前端、收听/收看、英文、书籍、影视、好歌、新奇)[含泪总结.. 憋泪分享!]

    开篇词 大家好!以下是我在 2020 年 1 月 1 日至 31 日的所见.所闻.所学和所悟. 现在,我把它们安利给你们. 定期更新 原创专栏: 栋的周评 一文搞定 Linux 管理员手册:既简单又深 ...

最新文章

  1. Python 中最强大的错误重试库
  2. 查看python版本号-怎么查看python版本号
  3. websocket python爬虫_python实现基于websocket协议的网络爬虫
  4. VTK修炼之道25:图像基本操作_图像子块提取(特征区域提取)
  5. EntityFramework Core 3.x初级篇发布
  6. HelloJava,我的第一个Java程序
  7. 求最大和 java_三种算法求最大子段和问题——Java实现
  8. 博途数据类型wstring怎么用_解析博图数据块(昆仑通态触摸屏自动命名)
  9. 郑州大学c语言课程设计2000行,C语言课程设计大作业(1).pptx
  10. c语言c98和c99,c99和c98的差异
  11. 内网服务器做了映射还是无法用公网访问,内网PC无法使用服务器NAT映射后的公网地址访问服务器的故障分析...
  12. Bootstrap导航--三级菜单
  13. unity shader 流光(1)
  14. 会员积分系统三大营销优势
  15. 【自动驾驶控制算法】 第一讲 绪论
  16. 信息安全快讯丨密标委发布信息系统密码应用基本要求;国家漏洞库关于微软多个安全漏洞的通报;支付宝检测到部分苹果用户ID被盗
  17. 【R语言实验】基于R语言的时间序列平稳性检验
  18. 计算机软件著作权评估
  19. CV2逐步学习-2:cv2.GaussianBlur()详解
  20. uniapp | 打开iOS和Android实现GPS定位权限

热门文章

  1. 软件工程-软件测试-测试方法
  2. 助听器App 安卓 耳返
  3. 腾创秒会达Webrtc视频语音系统,支持BS,CS架构操作灵活简单,免费测试满意再谈购买
  4. spring配置文件xsd报错的解决方法
  5. “腊八粥”里的养生智慧
  6. 【Android】系统启动流程(zygote 进程启动流程)
  7. JImmy的文档: 搭建集群版openshift origin-3.9
  8. S32K148 flash驱动优化
  9. 100 个网络基础知识普及,看完成半个网络高手!(文末附PDF版本)
  10. Python scikit-learn,分类,朴素贝叶斯算法,文档分类,MultinomialNB,拉普拉斯平滑系数