zoukankan      html  css  js  c++  java
  • HBase表的架构原理

    HBase总体架构图
    Distributed-NoSQL-HBase-Accumulo-21.png


    Hbase Table的基本单位是Region,一个Table相应多个Region。Table层级关系例如以下:
    Table       (HBase table)
        Region       (Regions for the table)
             Store          (Store per ColumnFamily for each Region for the table)
                  MemStore         (MemStore for each Store for each Region for the table)
                  StoreFile            (StoreFiles for each Store for each Region for the table)
                        Block             (Blocks within a StoreFile within a Store for each Region for the table)
    Region
    每台RegionServerserver中包括多个Region和一个Hlog(WAL),每一个Region中包括多个Store
    Store
    每一个Store(HStore)中包括一个MemStore和多个StoreFile(HFile)。每一个Store相应了某个Table中的一个column family的存储
    MemStore
    MemStore在内存中维护着对Store的改动日志。日志是KeyValue结构的。一旦MemStore被触发flush操作。当前的MemStore被标记为SnapShot。与此同一时候
    Hbase创建新的MemStore并继续处理改动操作。直到标记为SnapShot的MemStore被通知已经成功刷写到StoreFile,则销毁该MemStore
    StoreFile (HFile)
    表数据真正存储的地方,HFile是HDFS上详细的文件格式
    Blocks
    StoreFile由多个Block组成,BlockSize是依据每一个ColumnFamily级别配置的,在StoreFiles中,压缩也是基于Block级别


    查看HFile
    使用HFile工具查看StoreFile(HFile)(版本号:0.98.6+cdh5.2.1)
    hbase org.apache.hadoop.hbase.io.hfile.HFile -v -f /hbase/data/default/s_table1/1744a33060309b4aaecfca1639444411/fm1/97f63077d177429497551fbc22e4be75
  • 相关阅读:
    Mosquitto搭建Android推送服务(一)MQTT简介
    Quartz定时任务简单实例
    Oracle基础知识(一)、简介与安装
    [2013-08-01]window.open
    C#中DataTable与泛型集合互转(支持泛型集合中对象包含枚举)
    C#代码安装Windows服务(控制台应用集成Windows服务)
    Node+Socket实现聊天室
    web前端架构
    Laravel-admin form 表单是增加或者修改
    Laravel-admin 消息提醒、播放音频、点击跳转
  • 原文地址:https://www.cnblogs.com/blfbuaa/p/6703310.html
Copyright © 2011-2022 走看看