HBase分布式数据库技术与应用 课件 项目二 认识HBase_第1页
HBase分布式数据库技术与应用 课件 项目二 认识HBase_第2页
HBase分布式数据库技术与应用 课件 项目二 认识HBase_第3页
HBase分布式数据库技术与应用 课件 项目二 认识HBase_第4页
HBase分布式数据库技术与应用 课件 项目二 认识HBase_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《HBase分布式数据库实战》HBase分布式数据库实战项目二认识HBase任务一浅谈HBase运行机制回顾知识点1

数据创新回顾知识点2

海量数据与NoSQL回顾知识点3HBase的由来回顾知识点4HBase的崛起回顾回顾知识点5HBase的使用场景任务引入广告成为互联网公司的一个主要收入来源。我们现在每天通过HBase处理百亿级广告的请求和曝光日志,访问HBase的延迟,80%在20ms之内,保证了数据的秒级实时回流,实现检索、曝光、点击和效果日志百亿数据的实时关联,提供完整丰富的用户特征数据。精细的特征数据会带来更好的模型,产生更好的广告效果,进而提升广告收入。任务概要任务描述:本任务介绍HBase的运行机制,包括HBase系统架构以及Region服务器、Store和HLog这三者的工作原理。任务教学目标:掌握HBase的系统架构知识。一HBase简介二HBase系统架构教学内容HBase简介知识点一HBase是一个高可靠、高性能、面向列、可伸缩的分布式数据库,是谷歌BigTable的开源实现,主要用来存储非结构化和半结构化的松散数据。(一)HBase简介(一)HBase简介HBase和BigTable的底层技术对应关系项目BigTableHBase文件存储系统GFSHDFS海量数据处理MapReduceHadoopMapReduce协同服务处理ChubbyZookeeper(一)HBase简介1.HBase与传统关系数据库的对比分析随着Web2.0应用的不断发展,传统的关系数据库已经无法满足Web2.0的需求,无论在数据高并发方面,还是在高可扩展性和高可用性方面,传统的关系数据库都显得力不从心标题文字添加数据类型数据操作存储模式数据索引数据维护可伸缩性传统数据库(一)HBase简介2.HBase访问接口HBase访问接口类型特点场合NativeJavaAPI最常规和高效的访问方式适合HadoopMapReduce作业并行批处理HBase表数据HBaseShellHBase的命令行工具,最简单的接口适合于HBase管理ThriftGateway利用Thrift序列化技术,支持C++、PHP、Python等多种语言适合其他易购系统在线访问HBase表数据RESTGateway解除了语言限制支持REST风格的HttpAPI访问HBasePig使用PigLatin流式编程语言来处理HBase中的数据适合做数据统计Hive简单当需要以类似SQL语言的方式来访问HBase的时候HBase系统架构知识点二(二)HBase系统架构(二)HBase系统架构1.Client客户端Client客户端包含访问HBase的接口,同时在缓存中维护着已经访问过的Region位置信息,用来加快后续数据访问过程。HBase客户端使用HBase的RPC机制与Master和Region服务器进行通信。其中,对于管理类操作,客户端与Master进行RPC;而对于数据读写类操作,客户端则会与Region服务器进行RPC。Client客户端(二)HBase系统架构2.Zookeeper服务器在HBase服务器集群中,每个Region服务器都需要到Zookeeper中进行注册,Zookeeper会实时监控每个Region服务器的状态并通知给Master,这样,Master就可以通过Zookeeper随时感知到各个Region服务器的工作状态。Zookeeper服务器HBase中可以启动多个Master,但是Zookeeper可以帮助选举出一个Master作为集群的总管,并保证在任何时刻总有唯一一个Master在运行。Zookeeper中保存了-ROOT-表的地址和Master的地址,客户端可以通过访问Zookeeper获得-ROOT-表的地址,并最终通过“三级寻址”找到所需的数据。(二)HBase系统架构3.Master主服务器Master主要负责表和Region的管理工作。•管理用户对表的增加、删除、修改、查询等操作。•实现不同Region服务器之间的负载均衡。•在Region分裂或合并后,负责重新调整Region的分布。•对发生故障失效的Region服务器上的Region进行迁移。Master(二)HBase系统架构4.Region服务器点击此处添加正文,文字是您思想的提炼,为了最终呈现发布的良好效果,请言简意赅的阐。并根据需要酌情增减文字,即便信息错综复杂,需用更多的文字来表述。请您尽可能提炼思想的精髓。恰如其分的表达观点,往往事半功倍。Region服务器是HBase中最核心的模块,负责维护分配给自己的Region,并响应用户的读写请求。HBase一般采用HDFS作为底层存储文件系统,因此Region服务器需要向HDFS文件系统中读写数据。Region服务器(二)HBase系统架构4.Region服务器Region服务器内部管理了一系列Region对象和一个HLog文件,其中HLog是磁盘上面的记录文件,它记录着所有的更新操作。点击此处添加文本内容,如关键词、部分简单介绍等。(二)HBase系统架构4.Region服务器用户读写数据的过程当用户写入数据时,会被分配到相应的Region服务器去执行操作。用户数据首先被写入到MemStore和HLog中,当操作写入HLog之后,commit()调用才会将其返回给客户端。当用户读取数据时,Region服务器会首先访问MemStore缓存,如果数据不在缓存中,才会到磁盘上面的StoreFile中去寻找。(二)HBase系统架构4.Region服务器缓存的刷新MemStore缓存的容量有限,系统会周期性地调用Region.flushcache()把MemStore缓存里面的内容写到磁盘的StoreFile文件中,清空缓存,并在HLog文件中写入一个标记,用来表示缓存中的内容已经被写入StoreFile文件中。每个Region服务器都有一个自己的HLog文件,在启动的时候,每个Region服务器都会检查自己的HLog文件,确认最近一次执行缓存刷新操作之后是否发生新的写入操作。(二)HBase系统架构4.Region服务器Region服务器是HBase的核心模块,而Store则是Region服务器的核心。每个Store对应了表中的一个列族的存储。每个Store包含一个MemStore缓存和若干个StoreFile文件。Store的工作原理(二)HBase系统架构4.Region服务器HLog的工作原理HBase系统为每个Region服务器配置了一个HLog文件,它是一种预写式日志(WriteAheadLog),也就是说,用户更新数据必须首先被记入日志后才能写入MemStore缓存,并且直到MemStore缓存内容对应的日志已经被写入磁盘之后,该缓存内容才会被刷新写入磁盘。在本任务中,我们主要学习了以下内容:HBase简介:HBase与传统关系数据库的对比分析HBase访问接口HBase系统架构:Client客户端

MasterZookeeper服务器

Region服务器任务小结1、完成项目二任务一的课后练习题作业谢谢!THANKS!《HBase分布式数据库实战》HBase分布式数据库实战项目二认识HBase任务二

初探HBase数据模型回顾知识点1HBase简介回顾知识点2

HBase系统架构回顾任务引入数据模型(DataModel)是数据特征的抽象,它从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息表示与操作提供一个抽象的框架。任务概要任务描述:从本项目开始,我们将从技术层面学习HBase,本任务将讲解HBase的概念视图及物理视图的相关知识点。任务教学目标:掌握HBase概念视图中的相关概念。掌握HBase物理视图中的相关概念。一概念视图二物理视图教学内容HBase数据模型概述知识点一(一)概念视图在HBase的概念视图中,HBase实际上就是一个稀疏、多维、持久化存储的映射表,它采用行键(RowKey)、列(ColumnFamily)、列限定符(ColumnQualifier)和时间戳(Timestamp)进行索引,每个值都是未经解释的字节数组byte[]。重要元素表行列族列限定符单元格时间戳数据坐标(一)概念模型HBase数据的概念视图示例行键时间戳列族content列族anchor“com.cnn.www”t5

anchor:=”CNN”t4

anchor:my.look.ca=”CNN.com”“com.cnn.www”t3content:html=”<html>...”

t2content:html=”<html>...”

t1content:html=”<html>...”(一)概念模型HBase采用表来组织数据,表由行和列组成,列划分为若干个列族。表每个HBase表都由若干行组成,每个行由行键(RowKey)来标识。行键可以是任意字符串(最大长度是64KB,实际应用中长度一般为10〜100字节)行(一)概念模型一个HBase表被分组成许多“列族”的集合,它是基本的访问控制单元。列族需要在表创建时就定义好,在HBase中,访问控制、磁盘和内存的使用统计都是在列族层面进行的。列族列族里的数据通过列限定符(或列)来定位。列限定符不用事先定义,也不需要在不同行之间保持一致。列限定符没有数据类型,总被视为字节数组byte[]。列限定符(一)概念模型在HBase表中,通过行、列族和列限定符确定一个“单元格”(Cell)。单元格中存储的数据没有数据类型,总被视为字节数组byte[]。每个单元格中可以保存一个数据的多个版本,每个版本对应一个不同的时间戳。单元格每个单元格都保存着同一份数据的多个版本,这些版本采用时间戳进行索引。每次对一个单元格执行操作(新建、修改、删除)时,HBase都会隐式地自动生成并存储一个时间戳。一个单元格的不同版本是根据时间戳降序的顺序进行存储的,这样最新的版本可以被最先读取。时间戳(一)概念模型HBase使用坐标来定位表中的数据,对于我们熟悉的关系数据库而言,数据定位可以理解为采用“二维坐标”,即根据行和列就可以确定表中一个具体的值。但是,HBase中需要根据行键、列族、列限定符和时间戳来确定一个单元格,因此可以视为一个“四维坐标”,即[行键,列族,列限定符,时间戳]。数据坐标物理视图知识点二(二)物理视图概念视图&物理视图在之前的概念视图中,我们可以看到,有些列是空的,即这些列上面不存在值。在物理视图中,这些空的列不会被存储成null,而是根本就不会被存储,当请求这些空白的单元格的时候,会返回null值。(二)物理视图1.面向列的存储(二)物理视图1.面向列的存储行式数据库主要适合于小批量的数据处理,如联机事务型数据处理,我们平时熟悉的Oracle和MySQL等关系数据库都属于行式数据库。列式数据库主要适合于批量数据处理和即席查询(Ad-HocQuery)。(二)物理视图2.表和region对于每个HBase表而言,表中的行是根据行键的值的字典序进行维护的,表中包含的行的数量可能非常庞大,无法存储在一台机器上,需要分布存储到多台机器上。因此,需要根据行键的值对表中的行进行分区,每个行区间构成一个分区,被称为“Region”(二)物理视图2.表和regionMaster主服务器会把不同的Region分配到不同的Region服务器上,但是同一个Region是不会被拆分到多个Region服务器上的。每个Region服务器负责管理一个Region集合,通常在每个Region服务器上会放置10〜1000个Region。(二)物理视图2.region的定位HBase数据的概念视图示例层次名称作用第一层ZooKeeper文件记录了-ROOT-表的位置信息第二层-ROOT-表记录了.META.表的Region位置信息,-ROOT-表

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论