分享

大数据之Hadoop的数据库HBase的架构的详细讲解

 博容书屋 2018-01-26

HBase

大数据之Hadoop的数据库HBase的架构的详细讲解

  • HBase即Hadoop DataBase,Hadoop的数据库,HBase是一种 'NoSQL' 数据库,即不是RDBMS ,不支持SQL作为主要访问手段。

  • Hbase它是基于hadoop的一个分布式数据库,即HBase是利用HDFS作为文件存储系统

特点

  • 高可靠:因为是基于Hadoop的,Hadoop就具有高可靠,故HBase也具有高可靠性。

  • 高性能:高写高读性能。

  • 面向列:单独对列进行各种操作。

  • 海量数据存储:单表可有上百亿行、上百万的列。也就是对列没有限制。

  • 实时读写

  • 多版本:Timestamp可以将cell中的数据存储好几个版本

  • 准实时查询:查询上亿数据量低延迟 百毫秒级别

  • 扩展性:因为是基于Hadoop的,Hadoop就具有扩展性,故HBase也具有扩展性。

HBase的架构

大数据之Hadoop的数据库HBase的架构的详细讲解

Master

它为Region Server分配region,并且负责Region Server的负载均衡,如果它发现失效的Region Server,它会重新分配失效Region Server上的Region,它还管理用户对表的增删改操作。

Region Server

它是用来维护region,并且处理对region的IO请求,还负责切分过大的Region。

Zookeeper

它是为了高可用行,即HA,在任何时候,可以保证集群中有且只有一个Master处于active状态,其他是standby状态,它还存储所有Region的寻址入口,并且实时监控Region Server的信息,实时通知Master存储HBase的schema和table元数据信息。

Memstore和storefile

region是由多个store组成,而一个store对应一个Column Famliy,store包括内存中的memstore和位于磁盘的storefile,如果有数据写入,那么会先写入memstore,当memstore中的数据达到设定的阈值时,regionserver会启动flushcache进程将数据写入到storefile,当storefile文件数量到了设定的阈值时,系统会进行minor、major compaction(即大合并和小合并),在合并过程中会进行版本合并和删除工作,形成更大的storefile,如果一个region的所有storefile的大小和数量超过设定的阈值时,会把当前的region分割为两个,并由master分配到相应的regionserver上,实现负载均衡,如果客户端要检索数据,它会先在memstore上找,如果找不到就会去storefile中找,直到找到。

Region是HBase中分布式存储和负载均衡的最小单元。最小单元就表示不同Region可以分布在不同Region Server上面

Minor Compaction

即小合并,将会选取一些小的、相邻的storefile,然后合并成更大的StoreFile,在这个过程不会处理Delete或者失效的Cell

Major Compaction

即大合并 这个过程会消耗大量的系统资源。将所有的StoreFile合并成一个StoreFile,它会清理三类数据:被删除的数据,TTL(TIME TO LIVE)生命周期过期的数据,版本号超过设定版本的数据。

Compaction就是使用短时间的IO消耗以及带宽消耗换取后续查询的低延迟

喜欢就关注小编,小编天天写,你也可以进步一点点

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多