版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、HBase 简介数据部:桂宇目录HBase HBase 简介简介HBase HBase 体系结构体系结构HBase HBase 数据模型数据模型HBase HBase 提供的接口提供的接口HBaseHBase 优化优化HBase HBase 用途用途HBase简介 Hadoop生态系统HBase 简介 HBaseHBase是一个分布式的、多版本的、面向列是一个分布式的、多版本的、面向列的开源数据库的开源数据库 利用Hadoop HDFS作为其文件存储系统,提供高可靠性、高性能、列存储、可伸缩、实时读写的数据库系统。 利用Hadoop MapReduce来处理HBase中的海量数据 利用Zook
2、eeper作为协同服务。HBase 简介 HBaseHBase中表的特点中表的特点 大:一个表可以有上亿行,上百万列(列多时,插入变慢) 面向列:面向列(族)的存储和权限控制,列(族)独立检索。 稀疏:对于为空(null)的列,并不占用存储空间,因此,表可以设计的非常稀疏。 每个cell中的数据可以有多个版本,默认情况下版本号自动分配,是单元格插入时的时间戳; HBase中的数据都是字符串,没有类型;HBase 特点 强一致性 同一行数据的读写只在同一台Region Server上进行 水平伸缩 Region的自动分裂以及Master的balance; 只用增加Datanode机器即可增加容量
3、; 只用增加Region Server机器即可增加读写吞吐量HBase 特点 行事务 同一行的列的写入是原子的; Column Oriented + 三维有序 SortedMap(RowKey, List(SortedMap(Column, List(Value,Timestamp) ) ) rowKey (ASC) + columnLabel(ASC) + Version (DESC) - valueHBase 特点 支持有限查询方式和一级索引 仅支持单行事务 仅支持三种查询方式(single row key、range row key、scan all rows of table)【可通过
4、hive等实现多表关联查询】 仅基于row key的索引 高性能随机写 WAL (Write Ahead Log)HBase 特点 和Hadoop无缝集成 Hadoop分析后的结果可直接写入HBase; 存放在HBase的数据可直接通过Hadoop来进行分析。HBase与RDBMS对比目录HBase HBase 简介简介HBase HBase 体系结构体系结构HBase HBase 数据模型数据模型HBase HBase 提供的接口提供的接口HBaseHBase 优化优化HBase HBase 用途用途HBase 体系结构HBase 体系结构ClientClient 包含访问HBase的接口并
5、维护cache来加快对HBase的访问ZookeeperZookeeper 保证任何时候,集群中只有一个master 存贮所有Region的寻址入口。 实时监控Region server的上线和下线信息。并实时通知给Master 存储HBase的schema和table元数据MasterMaster 为Region server分配region 负责Region server的负载均衡 发现失效的Region server并重新分配其上的region 管理用户对table的增删改查操作Region Server Region Server Region server维护region,处理对这些
6、region的IO请求 Region server负责切分在运行过程中变得过大的region-ROOT-与.META.表 -ROOT-ROOT- 表包含.META.表所在的区域列表,该表只会有一个HRegion; Zookeeper中记录了-ROOT-表的location .META.META. 表包含所有的用户空间区域列表,以及RegionServer的服务器地址;Region定位16.META.表的一行在内存中大约占用1KB。并且每个region限制为128MB。那么此三层结构可以保存的region数目为:(128MB/1KB) * (128MB/1KB) = = 2(34)个region
7、目录HBase HBase 简介简介HBase HBase 体系结构体系结构HBase HBase 数据模型数据模型HBase HBase 提供的接口提供的接口HBaseHBase 优化优化HBase HBase 用途用途逻辑视图、物理视图18HBase以表的形式存储数据。表由行和列组成。列划分为若干个列族(row family)逻辑视图物理视图HBase每个列族存储为一个StoreHBase 数据表中一些关键概念 Row key键 Column Family列族 Cell qualifier列族修饰符(列) Timestamp时间戳 Region区域 键 Row keyRow key 表中行
8、的键是字节数组(最大长度是 64KB ) 任何字符串都可以作为键; 表中的行根据行的键值进行排序,数据按照Row key的字节序(byte order)排序存储; 字典序对int排序的结果是1,10,100,11,12,13,14,15,16,17,18,19,2,20,21,9,91,92,93,94,95,96,97,98,99。要保持整形的自然序,行键必须用0作左填充 所有对表的访问都要通过键 通过单个row key访问 通过row key的range 全表扫描列族 Column FamilyColumn Family HBase表中的每个列都归属于某个列族,列族必须作为表模式(sche
9、ma)定义的一部分预先给出。如 create test, course; 列名以列族作为前缀,每个“列族”都可以有多个列成员(column);如course:math, course:english, 新的列族成员可以随后按需、动态加入; 权限控制、存储以及调优都是在列族层面进行的; 同一列族成员最好有相同的访问模式和大小特征; HBase把同一列族里面的数据存储在同一目录下,由几个文件保存。单元格修饰符 Cell qualifierCell qualifier 通过列族:单元格修饰符,可以具体到某个列; 可以把单元格修饰符认为是实际的列名; 在列族存在,客户端随时可以把列添加到列族;时间戳T
10、imestampTimestamp 在HBase每个cell存储单元对同一份数据有多个版本,根据唯一的时间戳来区分每个版本之间的差异,不同版本的数据按照时间倒序排序,最新的数据版本排在最前面。 时间戳的类型是 64位整型。 时间戳可以由HBase(在数据写入时自动)赋值,此时时间戳是精确到毫秒的当前系统时间。 时间戳也可以由客户显式赋值,如果应用程序要避免数据版本冲突,就必须自己生成具有唯一性的时间戳。区域 RegionRegion HBase自动把表水平划分成多个区域(region),每个region会保存一个表里面某段连续的数据; 每个表一开始只有一个region,随着数据不断插入表,re
11、gion不断增大,当增大到一个阀值的时候,region就会等分会两个新的region; 当table中的行不断增多,就会有越来越多的region。这样一张完整的表被保存在多个Region 上。Cell单元格 由行和列的坐标交叉决定; 单元格是有版本的; 单元格的内容是未解析的字节数组; 由row key, column( = + ), version 唯一确定的单元。cell中的数据是没有类型的,全部是字节码形式存贮。锁 HBase的写操作是锁行的,每一行都是一个原子元素,无论对行进行访问的事务设计多少列,对行的更新都是原子的。都可以加锁。这使得加锁模型简单化。HBase 中数据表的物理存储方
12、式物理存储 281、Table中的所有行都按照row key的字典序排列。2、Table 在行的方向上分割为多个HRegion。物理存储 293、Region按大小分割的,每个表一开始只有一个region,随着数据不断插入表,region不断增大,当增大到一个阀值的时候,HRegion就会等分会两个新的HRegion。当able中的行不断增多,就会有越来越多的HRegion。物理存储 304 、HRegion是HBase中分布式存储和负载均衡的最小单元。最小单元就表示不同的HRegion可以分布在不同的HRegion server上。但一个HRegion是不会拆分到多个server上的。物理存
13、储 315 、HRegion虽然是分布式存储分布式存储的最小单元,但并不是存储存储的最小单元。事实上,HRegion由一个或者多个Store组成,每个store保存一个columns family。每个Strore又由一个memStore和0至多个StoreFile组成。如图:StoreFile以HFile格式保存在HDFS上。物理存储 32HFile的格式为:物理存储 HFile分为六个部分:Data Block Data Block 段段:保存表中的数据,这部分可以被压缩 Meta BlockMeta Block段段 (可选的):保存用户自定义的kv对,可以被压缩。 File Info F
14、ile Info 段段:HFile的元信息,不被压缩,用户也可以在这一部分添加自己的元信息。 Data Block Index Data Block Index 段段:Data Block的索引。每条索引的key是被索引的 block的第一条记录的key。 Meta Block IndexMeta Block Index段段 (可选的):Meta Block的索引。TrailerTrailer段段:这一段是定长的。保存了每一段的偏移量,读取一个HFile时,会 首先读取Trailer,Trailer保存了每个段的起始位置(段的Magic Number用来 做安全check),然后,DataBlock Index会被读取到内存中,这样,当检索 某个key时,不需要扫描整个HFile,而只需从内存中找到key所在的block,通过一次磁盘io将整个 block读取到内存中,再找到需要的keyData Block Index采用LRU机制淘汰。HFile的Data Block,Meta Block通常采用压缩方式存储,压缩之后可以大大减少网络IO和磁盘IO,随之而来的开销当然是需要花费cpu进行压缩和解压缩。目标Hfile的压缩支持两种方式:Gzip,Lzo。物理存储 34HLog(WAL log)HLog文件就是一个普通的Hadoop Sequence File,S
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 视频拍摄协议合同
- 房屋买卖合同争议处理流程范文
- 网络游戏产品代理销售合同
- 智能金融服务运营合同
- 光学玻璃的回收再利用技术考核试卷
- 2024年企业并购合同
- 公路客运企业应急预案的编制与执行考核试卷
- 冷冻饮品销售数据分析考核试卷
- 公路工程概预算软件操作考核试卷
- 低温仓储质量控制与监测考核试卷
- 六年级上册数学书苏教版答案
- 2023年全国中小学思政课教师网络培训研修总结心得体会
- CDE网站申请人之窗栏目介绍及用户操作手册
- 车班班长工作总结5篇
- 行业会计比较(第三版)PPT完整全套教学课件
- 值机业务与行李运输实务(第3版)高职PPT完整全套教学课件
- 高考英语语法填空专项训练(含解析)
- 42式太极剑剑谱及动作说明(吴阿敏)
- 部编版语文小学五年级下册第一单元集体备课(教材解读)
- 仁爱英语九年级下册单词表(中英文)
- 危险化学品企业安全生产标准化课件
评论
0/150
提交评论