zoukankan      html  css  js  c++  java
  • Hbase读写流程和寻址机制

    写操作流程

    (1) Client通过Zookeeper的调度,向RegionServer发出写数据请求,在Region中写数据。

    (2) 数据被写入RegionMemStore,直到MemStore达到预设阈值。

    (3) MemStore中的数据被Flush成一个StoreFile

    (4) 随着StoreFile文件的不断增多,当其数量增长到一定阈值后,触发Compact合并操作,将多个StoreFile合并成一个StoreFile,同时进行版本合并和数据删除。

    (5) StoreFiles通过不断的Compact合并操作,逐步形成越来越大的StoreFile

    (6) 单个StoreFile大小超过一定阈值后,触发Split操作,把当前Region Split2个新的Region。父Region会下线,新Split出的2个子Region会被HMaster分配到相应的RegionServer上,使得原先1Region的压力得以分流到2Region上。

    可以看出HBase只有增添数据,所有的更新和删除操作都是在后续的Compact历程中举行的,使得用户的写操作只要进入内存就可以立刻返回,实现了HBase I/O的高机能

    读操作流程

    (1) Client访问Zookeeper,查找-ROOT-表,获取.META.表信息。

    (2) .META.表查找,获取存放目标数据的Region信息,从而找到对应的RegionServer

    (3) 通过RegionServer获取需要查找的数据。

    (4) Regionserver的内存分为MemStoreBlockCache两部分,MemStore主要用于写数据,BlockCache主要用于读数据。读请求先到MemStore中查数据,查不到就到BlockCache中查,再查不到就会到StoreFile上读,并把读的结果放入BlockCache

    寻址过程:client-->Zookeeper-->-ROOT--->.META.-->RegionServer-->Region-->client

    Hbase寻址机制

  • 相关阅读:
    Lua编程入门学习笔记1
    面向对象S.O.L.I.D原则
    asp.net Mvc学习之URL路由
    Spring 3.x MVC 入门2 通过示例初步感受spring mvc
    Spring 3.x MVC 入门1 图解MVC整体流程
    JSP自定义标签开发入门
    编译安装php5.3.8(含phpfpm)
    CentOS 安装eaccelerator PHP加速
    Nginx + fastcgi 处理php
    sql server charindex函数和patindex函数详解(转)
  • 原文地址:https://www.cnblogs.com/dummyly/p/10099395.html
Copyright © 2011-2022 走看看