`
flyingdutchman
  • 浏览: 358952 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

《Hbase权威指南》深入学习:为什么hbase的速度那么快?!

阅读更多
    Hadoop是一个高容错、高延时的分布式文件系统和高并发的批处理系统,不适用于提供实时计算;HBase是可以提供实时计算的分布式数据库,数据被保存在Hadoop HDFS分布式文件系统上,由HDFS保证期高容错性,但是再生产环境中,HBase是如何基于hadoop提供实时性呢?
    前面的章节已经介绍过,hbase上的数据是以storefile(HFile)二进制流的形式存储在HDFS上block块儿中;但是HDFS并不知道的hbase存的是什么,它只把存储文件是为二进制文件,也就是说,hbase的存储数据对于HDFS文件系统是透明的。 

                    HBase文件在HDFS上的存储示意图

    HBase HRegion servers集群中的所有的region的数据在服务器启动时都是被打开的,并且在内冲初始化一些memstore,相应的这就在一定程度上加快系统响应;而Hadoop中的block中的数据文件默认是关闭的,只有在需要的时候才打开,处理完数据后就关闭,这在一定程度上就增加了响应时间。
    从根本上说,HBase能提供实时计算服务主要原因是由其架构和底层的数据结构决定的,即由LSM-Tree + HTable(region分区) + Cache决定——客户端可以直接定位到要查数据所在的HRegion server服务器,然后直接在服务器的一个region上查找要匹配的数据,并且这些数据部分是经过cache缓存的。具体查询流程如下图所示:

    1、Client会通过内部缓存的相关的-ROOT-中的信息和.META.中的信息直接连接与请求数据匹配的HRegion server;
    2、然后直接定位到该服务器上与客户请求对应的region,客户请求首先会查询该region在内存中的缓存——memstore(memstore是是一个按key排序的树形结构的缓冲区);
    3、如果在memstore中查到结果则直接将结果返回给client;
    4、在memstore中没有查到匹配的数据,接下来会读已持久化的storefile文件中的数据。前面的章节已经讲过,storefile也是按key排序的树形结构的文件——并且是特别为范围查询或block查询优化过的,;另外hbase读取磁盘文件是按其基本I/O单元(即 hbase block)读数据的。具体就是过程就是:
    如果在BlockCache中能查到要造的数据则这届返回结果,否则就读去相应的storefile文件中读取一block的数据,如果还没有读到要查的数据,就将该数据block放到HRegion Server的blockcache中,然后接着读下一block块儿的数据,一直到这样循环的block数据直到找到要请求的数据并返回结果;如果将该region中的数据都没有查到要找的数据,最后接直接返回null,表示没有找的匹配的数据。当然blockcache会在其大小大于一的阀值(heapsize * hfile.block.cache.size * 0.85)后启动基于LRU算法的淘汰机制,将最老最不常用的block删除。
   
  • 大小: 50.6 KB
  • 大小: 65.4 KB
分享到:
评论

相关推荐

    hbase权威指南源码

    《HBase权威指南》是一本深入探讨Apache HBase这一分布式列式数据库的著作,源码则是作者为了辅助读者理解书中理论知识而提供的实践材料。HBase是构建在Hadoop文件系统(HDFS)之上的开源数据库,专为处理大规模数据...

    HBase权威指南_Hadoop权威指南_pdf_

    通过阅读《HBase权威指南》和《Hadoop权威指南》,读者可以深入了解大数据存储的原理和技术,为构建大规模分布式系统打下坚实的基础。同时,配合PDF版的书籍,读者可以随时随地学习,提升自己的技能。

    hbase权威指南 配套源码

    《HBase权威指南》是一本深入探讨分布式列式数据库HBase的专业书籍,其配套源码提供了书中所提及的示例代码...通过学习《HBase权威指南》及其配套源码,开发者能够熟练掌握HBase的使用,为大数据应用开发打下坚实基础。

    Hbase权威指南-完整高清版

    《HBase权威指南》是一本深入探讨分布式大数据存储系统HBase的专业书籍,旨在为读者提供全面、详尽的HBase知识。这本书涵盖了从基础概念到高级应用,包括HBase的架构设计、数据模型、表设计策略、性能优化、监控与...

    hbase权威指南源代码下载

    《HBase权威指南》是HBase领域的经典著作,旨在深入解析这款分布式大数据存储系统的方方面面。随书提供的源代码是理解书中理论与实践结合的关键。在本文中,我们将围绕HBase的核心概念、架构以及如何通过源代码学习...

    hbase权威指南.源代码

    《HBase权威指南》是一本深入探讨分布式大数据存储系统HBase的专业书籍,其源代码的提供为读者提供了更直观的学习材料。HBase是基于Apache Hadoop的非关系型数据库(NoSQL),它在大规模数据存储方面表现卓越,尤其...

    HBase权威指南中文版

    《HBase权威指南中文版》是一本深入探讨大数据领域中分布式数据库HBase的专著。这本书旨在帮助读者理解和掌握如何有效地使用HBase处理大规模数据存储和检索问题。HBase是建立在Apache Hadoop之上,一个面向列的、...

    HBase权威指南中文版.pdf

    HBase权威指南中文版.pdf ,深入学习HBase

    Hbase权威指南高清中文版本.pdf

    《HBase权威指南高清中文版本》是一本深入探讨HBase技术的专业书籍,旨在为读者提供全面、详尽的HBase知识。HBase是构建在Apache Hadoop之上的一款分布式、高性能、列族式数据库,适用于处理大规模数据。这本书的...

    HBase权威指南 带目录 中文版-高清版PDF

    《HBase权威指南》是一本深入探讨分布式列式数据库HBase的专业书籍,旨在帮助读者全面理解和掌握这一强大的大数据存储系统。HBase是构建在Apache Hadoop之上,专门为处理大规模数据而设计的非关系型数据库(NoSQL)...

    HBase:权威指南(英文版)

    《HBase:权威指南》是一本深入探讨分布式大数据存储系统的书籍,主要针对HBase这一开源的、基于Hadoop的非关系型数据库。本书适合对传统关系型数据库有了解,或者希望学习新式数据存储架构的人群,特别是那些面对大...

    《HBase权威指南》示例代码

    《HBase权威指南》是大数据领域的一本经典著作,它深入浅出地介绍了HBase这一分布式列存储系统。HBase是构建在Hadoop生态系统之上的,用于处理大规模数据的NoSQL数据库,尤其适合实时读写操作。这本书的示例代码提供...

    HBase:权威指南(中文版)

    《HBase:权威指南》是一本深度探讨分布式列式数据库HBase的专业书籍,它为读者提供了全面、深入的HBase知识。HBase是基于Apache Hadoop的开源项目,旨在为大规模数据集提供低延迟的随机读写能力。本书是HBase开发者...

    HBase 权威指南(HBase The Definitive Guide)

    ### HBase 权威指南...通过上述内容可以看出,《HBase 权威指南》不仅覆盖了 HBase 的基本原理和技术细节,还包含了丰富的实践经验和未来展望,对于想要深入学习 HBase 的技术人员来说是一本非常有价值的参考书。

    Hbase权威指南 随书源代码 源码包 绝对完整版

    《HBase权威指南》是Hadoop生态中关于分布式数据库HBase的重要参考书籍,随书附带的源代码是学习和理解HBase实现机制的关键资源。这个源码包名为"hbase-book-master",意味着它是该书的主代码仓库,包含完整的示例和...

    HBase:The Definition Guide,HBase权威指南完全版

    《HBase:The Definition Guide》是一本全面深入探讨HBase的权威指南,旨在为读者提供HBase的详尽理解。HBase,作为Apache Hadoop生态系统中的一个分布式、面向列的数据库,源自Google的BigTable设计,被Facebook等...

    hbase权威指南.pdf

    ### hbase权威指南知识点概述 #### 一、书籍概览 - **书名**:《hbase权威指南》 - **版本**:本书涵盖了hbase-0.94版本的内容。 - **特色**:该书内容较为全面,是学习HBase的强大资源。 #### 二、核心章节解读 #...

Global site tag (gtag.js) - Google Analytics