在HBase数据库中,每个Region 的建议最佳大小是?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在HBase数据库中,每个Region 的建议最佳大小是?相关的知识,希望对你有一定的参考价值。

数据中的两个问题。它的大小值应该在35到80之间。这是最合理的。这是我给你的建议。你也可以参考。说明书可以对比。看是不是这样的? 参考技术A 这个数据库中的信任最佳大小是什么?这个你可以从小红。中早一早就吃到一拍就知道。 参考技术B 最佳大学要根据实质情况而定, 参考技术C 实在是从未涉及到这个领域,我无法帮你解答这个问题,希望别人能帮帮你。 参考技术D 在数据库每个的建议最佳大小是确定的,合适就好。

大数据(5b)HBase架构读写流程

架构

简单架构图

每个Region Server有多个Region
每个Region有多个Store
每个Store有多个StoreFile

详细架构图

StoreFile保存实际数据的物理文件
StoreFile以HFile的形式存储在HDFS上
StoreFile中的数据是有序的

MemStore写缓存
HFile中的数据 要求有序
数据会先存MemStore并排序,然后等待时机刷写到HFile
每次刷写都会形成一个新的HFile

写数据流程

  1. PUT
  2. 客户端访问Zookeeper
  3. Zookeeper返回信息:hbase:meta表位于哪个RegionServer
  4. 访问对应的RegionServer,获取hbase:meta表
  5. 根据读请求的namespace:table/rowkey,查询出目标数据位于哪个RegionServer中的哪个Region中
  6. 将该table的region信息以及meta表的位置信息缓存在客户端的MetaCache,方便下次访问
  7. 与目标RegionServer进行通讯
  8. 将数据顺序写入(追加)到WAL
  9. 将数据写入对应的MemStore,数据会在MemStore进行排序
  10. 向客户端发送ack
  11. 等到MemStore的刷写时机后,将数据刷写到HFile

WAL
数据要经MemStore排序后才能刷写到HFile,内存中的数据容易丢失
对此,数据会先写到Write-Ahead LogFile,然后再写入MemStore
在系统故障的时,可通过该日志文件重建数据

MemStore Flush

MemStore刷写时机说明
MemStore级别某个MemStore的大小达到(默认128M)
HRegion级别Region中所有MemStore总大小达到(默认512M)
HRegionServer级别RegionServer中所有MemStore总大小达到(默认 j a v a _ h e a p × 0.4 × 0.95 java\\_heap \\times 0.4 \\times 0.95 java_heap×0.4×0.95)
HLog级别当WAL文件的数量超过(默认32;新版已经废弃?)
定期刷写(默认1小时)
手动刷写flush 表名flush 区域名分别对一个或多个Region进行刷写

读数据流程

  1. GET:Table/RowKey
  2. 客户端访问Zookeeper
  3. Zookeeper返回信息:hbase:meta表位于哪个RegionServer
  4. 访问对应的RegionServer的hbase:meta表
  5. 根据读Table/RowKey查询出目标数据位于哪个RegionServer中的哪个Region中
  6. 将该table的region信息和meta表的位置信息缓存在客户端的MetaCache,以便下次访问
  7. 与目标RegionServer进行通讯
  8. 在BlockCache(读缓存)查询目标数据
  9. MemStore中查询目标数据,如果BlockCache中未查到相应数据则扫描对应的HFile文件,HFile中扫描到的数据块(默认64K)写入BlockCache,并将查到的 所有数据 进行合并
  10. 将合并后的最终结果返回给客户端

StoreFile Compaction(HBase文件合并精简)

en🔉cn
compactionkəmˈpækʃənn. 压紧;精简;密封;凝结
minorˈmaɪnəradj. 未成年的;次要的;较小的;n. 未成年人;vi. 辅修
majorˈmeɪdʒəradj. 主要的;重要的;主修的;n. [人类] 成年人;主修科目;vi. 主修

Region Split(Region切分机制)

以上是关于在HBase数据库中,每个Region 的建议最佳大小是?的主要内容,如果未能解决你的问题,请参考以下文章

Hbase最佳实战:Region数量与大小的重要影响

生产环境使用HBase,你必须知道的最佳实践

hbase中啥是Region,啥是RegionServer

HBASE 系列 一个RegionServer的Region数量多少合适?

hbase如何设置region大小啊

HBase,region以及HFile概念