ImageVerifierCode 换一换
格式:PPT , 页数:67 ,大小:5.01MB ,
资源ID:2122997      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2122997.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第9讲分布式开源数据库HBASE.ppt)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

第9讲分布式开源数据库HBASE.ppt

1、第第9 9讲讲 分布式开源数据库分布式开源数据库HBASEHBASE Hadoop家族家族 Pig Zookeeper Hbase Hive Sqoop Avro Chukwa Cassandra pig Hadoop客客户户端端 使用使用类类似于似于SQL的面向的面向数据流的数据流的语语言言Pig Latin Pig Latin可以完成排序,可以完成排序,过滤过滤,求和,聚,求和,聚组组,关,关联联等操作,可以支持自定等操作,可以支持自定义义函数函数 Pig自自动动把把Pig Latin映射映射为为Map-Reduce作作业业上上传传到集群运行,减少用到集群运行,减少用户编户编写写Java程

2、序的苦程序的苦恼恼 三种运行方式:三种运行方式:Grunt shell,脚本方式,嵌入式,脚本方式,嵌入式 Hive数据数据仓库仓库工具。可以工具。可以把把Hadoop下的原始下的原始结结构化数据构化数据变变成成Hive中的中的表表 支持一种与支持一种与SQL几乎几乎完全相同的完全相同的语语言言HiveQL。除了不支持。除了不支持更新、索引和事更新、索引和事务务,几,几乎乎SQL的其它特征都能的其它特征都能支持支持 可以看成是从可以看成是从SQL到到Map-Reduce的映射器的映射器 提供提供shell、JDBC/ODBC、Thrift、Web等接口等接口 Hbase Google Bigt

3、able的开源实的开源实现现 列式数据库列式数据库 可集群化可集群化 可以使用可以使用shell、web、api等多种方式访问等多种方式访问 适合高读写(适合高读写(insert)的场)的场景景 HQL查询语言查询语言 NoSQL的典型代表产品的典型代表产品 Hbase简简介介 HBaseHBase是一个分布式的、面向列的开源数据库,该技术来是一个分布式的、面向列的开源数据库,该技术来源于源于Chang et alChang et al所撰写的所撰写的GoogleGoogle论文论文“BigtableBigtable:一个结:一个结构化数据的分布式存储系统构化数据的分布式存储系统”。就像就像B

4、igtableBigtable利用了利用了GoogleGoogle文件系统(文件系统(File SystemFile System)所)所提供的分布式数据存储一样,提供的分布式数据存储一样,HBaseHBase在在HadoopHadoop之上提供了类之上提供了类似于似于BigtableBigtable的能力。的能力。HBaseHBase是是ApacheApache的的Hadoop Hadoop 项目的子项目。项目的子项目。HBaseHBase不同于一般的关系数据库不同于一般的关系数据库,它是一个适合于非结构它是一个适合于非结构化数据存储的数据库化数据存储的数据库.另一个不同的是另一个不同的是H

5、BaseHBase基于列的而不基于列的而不是基于行的模式是基于行的模式 Hbase的数据管理HbaseHbase是一个分布式的、面向列的开源数据库。不是一个分布式的、面向列的开源数据库。不同于一般的关系数据库,是一个适合于非结构化数同于一般的关系数据库,是一个适合于非结构化数据存储的数据库。据存储的数据库。HbaseHbase是基于列的而不是基于行的模式。是基于列的而不是基于行的模式。HbaseHbase是一个稀疏的、长期存储的、多维度的排序是一个稀疏的、长期存储的、多维度的排序映射表,在这张表中包括了映射表,在这张表中包括了行关键字、列关键字和行关键字、列关键字和时间戳。每个值是一个字符数组

6、,数据都是字符串,时间戳。每个值是一个字符数组,数据都是字符串,没有类型。没有类型。HbaseHbase中表的特点:中表的特点:大:一个表可以有上亿行、上百万列大:一个表可以有上亿行、上百万列面向列:面向列(族)的存储和权限控制,列(族)面向列:面向列(族)的存储和权限控制,列(族)独立检索。独立检索。稀疏:对于为空的列,并不占用存储空间。稀疏:对于为空的列,并不占用存储空间。Big Table的想法的想法 学生表的例子学生表的例子S(s#,sn,sd,sa)存放为关系的学生表存放为关系的学生表 以以bigtable方式存放学生表方式存放学生表 Bigtable:无所不包的大表无所不包的大表

7、Hbase逻辑逻辑模型模型 以表的形式存放数据以表的形式存放数据 表由行与列组成,每个列属于某个列族,由行和列确定的存储表由行与列组成,每个列属于某个列族,由行和列确定的存储单元称为元素单元称为元素 每个元素保存了同一份数据的多个版本,由时间戳来标识区分每个元素保存了同一份数据的多个版本,由时间戳来标识区分 行行键键 行键是数据行在表里的唯一标识,并作为检索记录的主键行键是数据行在表里的唯一标识,并作为检索记录的主键 访问表里的行只有三种方式访问表里的行只有三种方式 1 通过单个行键访问通过单个行键访问 2 给定行键的范围访问给定行键的范围访问 3 全表扫描全表扫描 行键可以是最大长度不超过行

8、键可以是最大长度不超过64KB的任意字符串,并按照字典序的任意字符串,并按照字典序存储存储 对于经常要一起读取的行,要对行键值精心设计,以便它们能放对于经常要一起读取的行,要对行键值精心设计,以便它们能放在一起存储在一起存储 列族与列列族与列 列表示列表示为为:Hbase在磁在磁盘盘上按照列族存上按照列族存储储数据,数据,这这种列式数据种列式数据库库的的设设计计非常适合于数据分析的情形非常适合于数据分析的情形 列族里的元素最好具有相同的列族里的元素最好具有相同的读读写方式(例如等写方式(例如等长长的字符的字符串),以提高性能串),以提高性能 时间时间戳戳 对应对应每次数据操作的每次数据操作的时

9、间时间,可由系,可由系统统自自动动生成,也可以由生成,也可以由用用户显户显式的式的赋值赋值 Hbase支持两种数据版本回收方式:支持两种数据版本回收方式:1 每个数据每个数据单单元,只存元,只存储储指定个数的最新版本指定个数的最新版本 2 保存指定保存指定时间长时间长度的版本(例如度的版本(例如7天)天)常常见见的客的客户户端端时间查询时间查询:“某个某个时时刻起的最新数据刻起的最新数据”或或“给给我我全部版本的数据全部版本的数据”元素由元素由 行行键键,列族,列族:限定符,限定符,时间时间戳唯一决定戳唯一决定 元素以字元素以字节码节码形式存放,没有形式存放,没有类类型之分型之分 Hbase物

10、理模型物理模型 Hmaster主服务器HBase每时每刻只有一个每时每刻只有一个Hmaster主服务器程序在运行,只主服务器程序在运行,只维护表和维护表和region的元数据。作用:的元数据。作用:为为Region server分配分配 Region负责负责Region server的负载均衡的负载均衡发现失效的发现失效的Region server并重新分配其上的并重新分配其上的Region GFS上的垃圾文件回收上的垃圾文件回收处理处理schema更新请求更新请求Region和和Region服务器服务器 表在行方向上,按照行键范围划分成若干的表在行方向上,按照行键范围划分成若干的Region

11、 每个表最初只有一个每个表最初只有一个region,当记录数增加到超过某个阈值时,当记录数增加到超过某个阈值时,开始分裂成两个开始分裂成两个regio Region是是HBase中分布式存储和负载均衡的最小单元。中分布式存储和负载均衡的最小单元。物理上所有数据存放在物理上所有数据存放在HDFS,由,由Region服务器提供服务器提供region的管理的管理 一台物理节点只能跑一个一台物理节点只能跑一个HRegionServer 一个一个Hregionserver可以管理多个可以管理多个Region实例实例 一个一个Region实例包括实例包括Hlog日志和存放数据的日志和存放数据的Store

12、Hmaster作为总控节点作为总控节点 Zookeeper负责调度负责调度 HLog 用于灾用于灾难难恢复恢复 预预写式日志,写式日志,记录记录所有更新操作,操作先所有更新操作,操作先记录进记录进日志,数日志,数据才会写入据才会写入-ROOT-和和.META.表表 HBase中有两张特殊的中有两张特殊的Table,-ROOT-和和.META.META.:记录了用户表的:记录了用户表的Region信息,信息,.META.可以有可以有多个多个regoin -ROOT-:记录了:记录了.META.表的表的Region信息,信息,-ROOT-只只有一个有一个region Zookeeper中记录了中记

13、录了-ROOT-表的表的location Memstore与与storefile 一个一个region由多个由多个store组成,每个组成,每个store包含一个列族的所包含一个列族的所有数据有数据 Store包括位于把内存的包括位于把内存的memstore和位于硬盘的和位于硬盘的storefile 写操作先写入写操作先写入memstore,当,当memstore中的数据量达到某中的数据量达到某个阈值,个阈值,Hregionserver会启动会启动flashcache进程写入进程写入storefile,每次写入形成单独一个,每次写入形成单独一个storefile 当当storefile文件的数

14、量增长到一定阈值后,系统会进行合并,文件的数量增长到一定阈值后,系统会进行合并,在合并过程中会进行版本合并和删除工作,形成更大的在合并过程中会进行版本合并和删除工作,形成更大的storefile 当当storefile大小超过一定阈值后,会把当前的大小超过一定阈值后,会把当前的region分割为分割为两个,并由两个,并由Hmaster分配到相应的分配到相应的region服务器,实现负服务器,实现负载均衡载均衡 客户端检索数据时,先在客户端检索数据时,先在memstore找,找不到再找找,找不到再找storefile 图解图解 Hbase vs Oracle 索引不同造成行为的差异索引不同造成行

15、为的差异 Hbase适合大量插入同时又有读的情况适合大量插入同时又有读的情况 Hbase的瓶颈是硬盘传输速度,的瓶颈是硬盘传输速度,Oracle的瓶颈是硬盘寻道的瓶颈是硬盘寻道时间时间 Hbase很适合寻找按照时间排序很适合寻找按照时间排序top n的场景的场景 传统数据库的行式存储传统数据库的行式存储 数据存放在数据文件内数据存放在数据文件内 数据文件的基本组成单位:块数据文件的基本组成单位:块/页页 块内结构:块头、数据区块内结构:块头、数据区 行式存储的问题行式存储的问题 读某个列必须读入整行读某个列必须读入整行 行不等长,修改数据可能导致行迁移行不等长,修改数据可能导致行迁移 行数据较

16、多时可能导致行链行数据较多时可能导致行链 Oracle行式存储的访问路径行式存储的访问路径 全表扫描全表扫描 行标识访问行标识访问 行标识访问:行标识访问:B树索引树索引 B树索引原理:结点树索引原理:结点 B树索引原理:树形树索引原理:树形 利用利用B树进行查询树进行查询access path B树插入树插入分裂结点分裂结点 B树删除树删除合并结点合并结点 B树索引的弱点树索引的弱点 空间代价,创建时间代价,维护代价空间代价,创建时间代价,维护代价 重复值多时影响效率重复值多时影响效率 BigTable的的LSM索引索引 网络参考资源网络参考资源 http:/ http:/zookeeper.apache.org/doc/r3.3.2/zookeeperOver.html Hbase和和Hadoop的版本对应的版本对应 Hbase和和Hadoop的版本对应的版本对应 Hbase安装:单机模式安装:单机模式 下载及解压下载及解压hbase安装包安装包 修改修改conf/hbase-env.sh脚本,设置环境变量脚本,设置环境变量 编辑编辑hbase-site.xml进行配置进行配置 启

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1