`

HBASE物理存储模型(转)

阅读更多

1 已经提到过,Table中的所有行都按照row key的字典序排列。

2 Table 在行的方向上分割为多个Hregion。

3 region按大小分割的,每个表一开始只有一个region,随着数据不断插入表,region不断增大,当增大到一个阀值的时候,Hregion就会等分会两个新的Hregion。当table中的行不断增多,就会有越来越多的Hregion。

4 Hregion是Hbase中分布式存储和负载均衡的最小单元。最小单元就表示不同的Hregion可以分布在不同的HRegion server上。但一个Hregion是不会拆分到多个server上的。

5 HRegion虽然是分布式存储的最小单元,但并不是存储的最小单元。

事实上,HRegion由一个或者多个Store组成,每个store保存一个columns family。

每个Strore又由一个memStore和0至多个StoreFile组成。如图:

StoreFile以HFile格式保存在HDFS上。

HFile的格式为:

Trailer部分的格式:

HFile分为六个部分:

Data Block 段–保存表中的数据,这部分可以被压缩

Meta Block 段 (可选的)–保存用户自定义的kv对,可以被压缩。

File Info 段–Hfile的元信息,不被压缩,用户也可以在这一部分添加自己的元信息。

Data Block Index 段–Data Block的索引。每条索引的key是被索引的block的第一条记录的key。

Meta Block Index段 (可选的)–Meta Block的索引。

Trailer–这一段是定长的。保存了每一段的偏移量,读取一个HFile时,会首先读取Trailer,Trailer保存了每个段的起始位置(段的Magic Number用来做安全check),然后,DataBlock Index会被读取到内存中,这样,当检索某个key时,不需要扫描整个HFile,而只需从内存中找到key所在的block,通过一次磁盘io将整个 block读取到内存中,再找到需要的key。DataBlock Index采用LRU机制淘汰。

HFile的Data Block,Meta Block通常采用压缩方式存储,压缩之后可以大大减少网络IO和磁盘IO,随之而来的开销当然是需要花费cpu进行压缩和解压缩。

目标Hfile的压缩支持两种方式:Gzip,Lzo。

 

HLog(WAL log)

WAL 意为Write ahead log(http://en.wikipedia.org/wiki/Write-ahead_logging),类似mysql中的binlog,用来做灾难恢复只用,Hlog记录数据的所有变更,一旦数据修改,就可以从log中进行恢复。

每个Region Server维护一个Hlog,而不是每个Region一个。这样不同region(来自不同table)的日志会混在一起,这样做的目的是不断追加单个文件相对于同时写多个文件而言,可以减少磁盘寻址次数,因此可以提高对table的写性能。带来的麻烦是,如果一台region server下线,为了恢复其上的region,需要将region server上的log进行拆分,然后分发到其它region server上进行恢复。

HLog文件就是一个普通的Hadoop Sequence File,Sequence File 的Key是HLogKey对象,HLogKey中记录了写入数据的归属信息,除了table和region名字外,同时还包括 sequence number和timestamp,timestamp是”写入时间”,sequence number的起始值为0,或者是最近一次存入文件系统中sequence number。HLog Sequece File的Value是HBase的KeyValue对象,即对应HFile中的KeyValue,可参见上文描述。

 

转自:http://hi.baidu.com/kayin521/item/560631de636fbfe53cc2cb25

 
分享到:
评论

相关推荐

    Hbase 的shell基本操作

    hadoop 集群环境下 hbase 的shell 基本操作命令

    大数据开发之Hbase基本使用及存储设计实战教程(视频+笔记+代码)

    ├─01_讲义 │ Day15[Hbase 基本使用及存储设计].pdf │ ├─02_视频 │ Day1501_Hbase的介绍及其发展.mp4 │ Day1502_Hbase中的特殊概念.mp4 ...│ Day1511_Hbase的物理模型.mp4 │ Day1512_Hbase的存储模型.mp4

    Hbase学习分享资料

    本文首先简单介绍了HBase,然后重点讲述了HBase的高并发和实时处理数据 、HBase数据模型、HBase物理存储、HBase系统架构,HBase调优、HBase Shell访问等。

    HBase数据及物理模型架构及工作原理

    本文来自于csdn,主要为对HBase简介,HBase数据模型及物理模型,HBase架构及工作原理。HBase是一个构建在HDFS之上的,分布式的、面向列的开源数据库HBase是GoogleBigTable的开源实现,它主要用于存储海量数据个人...

    Hbase学习分享

    本文首先简单介绍了HBase,然后重点讲述了HBase的高并发和实时处理数据 、HBase数据模型、HBase物理存储、HBase系统架构,HBase调优、HBase Shell访问等。

    hbase1.2.3

    hbase-1.2.3-bin.tar.gz 本文首先简单介绍了HBase,然后重点讲述了HBase的高并发和实时处理数据 、HBase数据模型、HBase物理存储、HBase系统架构,HBase调优、HBase Shell访问等

    Hbase简介,从数据模型、架构等方面介绍

    从数据模型、物理储存、架构等方面介绍,比较简介通俗

    HBase权威指南

    重点讲述了hbase的高并发和实时处理数据 、HBase数据模型、HBase物理存储、HBase系统架构,HBase调优、HBase Shell访问等。

    HBase讲义1

    第 2 节 HBase数据模型HBase的数据也是以表(有行有列)的形式存储HBase逻辑架构HBase物理存储概念描述NameSpace(数据库)命名空间,类

    HBase.docx

    0、Windows 下Eclipse运行HBase程序 2 一、HBase的概述 5 1.hbase的特点 6 ...2.物理模型 20 3.存储体系 22 4.HDFS上的目录结构 22 5.整体结构 23 …………………… …………………… ……………………

    HBase列式数据模型简介

    数据模型是理解一个数据库的关键,本节介绍 HBase 的列式数据模型,与数据模型相关的基本概念,并描述 HBase 数据库的概念视图和物理视图。 数据模型概述 HBase 是一个稀疏、多维度、有序的映射表。 这张表中每个...

    五分钟学大数据-HBase 知识体系吐血总结1

    2. 过滤器查询 21 3. 根据 rowkey 删除数据29 4. 删除表操作 29 1. 系统架构 29 2. HBase 的表数据模型31 3. 物理存储

    Spark-SQL-on-HBase:通过Spark SQLDataframe接口对HBase数据的本地优化访问

    Apache HBase是HDFS上的分布式数据键-值存储。 它以Google的Big Table建模,并提供API来查询数据。 数据通过其“行键”进行组织,分区和分发。 对于每个分区,数据通过“列族”在物理上进一步分区,“列族”指定了...

    云计算第二版

    6.4.2 物理模型 198 6.4.3 子表服务器 199 6.4.4 主服务器 199 6.4.5 元数据表 200 6.5 Hadoop安装 200 6.5.1 在Linux系统中安装Hadoop 200 6.5.2 在Windows系统中安装Hadoop 208 6.6 HDFS使用 215 6.6.1 HDFS 常用...

    大数据常用数据库汇总.pdf

    (2)HBase:Apache Hbase源于Google的Bigtable,是⼀个开源、分布式、⾯向列存储的模型。在Hadoop和HDFS之上提供了像 Bigtable⼀样的功能。 (3)Amazon SimpleDB:Amazon SimpleDB是⼀个⾮关系型数据存储,它卸下...

    Hadoop硬实战 [(美)霍姆斯著][电子工业出版社][2015.01]_PDF电子书下载 带书签目录 高清完整版.rar )

    1.1.3 物理架构 1.1.4 谁在使用Hadoop 1.1.5 Hadoop 的局限性 1.2 运行Hadoop 1.2.1 下载并安装Hadoop 1.2.2 Hadoop 的配置 1.2.3 CLI 基本命令 1.2.4 运行MapReduce 作业 1.3 本章小结...

    Hadoop实战(第2版)

    9.3.4 其他Mahout clustering 算法 .9.4 本章小结第5 部分 驯服大象10 深入解析 Hive10.1 Hive 基础10.1.1 安装10.1.2 元存储10.1.3 数据库、表、分区和存储10.1.4 数据模型10.1.5 查询...

    数据库审计系统基本原理与部署方式.pdf

    数据库审计主要功能 数据审计经历的技术: 第⼀阶段:流量⾏为审计 实现了对OSI七层模型中的⽹络层到会话层的覆盖,主要对数据库访问⾏为进⾏分析和统计 第⼆阶段:内容审计阶段 实现了OSI七层模型中的表⽰层到应⽤...

    大数据专业是学什么课程.pdf

    以中国⼈⺠⼤学为例: 基础课程:数学分析、⾼等代数、普通物理数学与信息科学概论、数据结构、数据科学导论、程序设计导论、程序设计实 践。 必修课:离散数学、概率与统计、算法分析与设计、数据计算智能、数据库...

Global site tag (gtag.js) - Google Analytics