Hadoop综述幻灯片.ppt

  1. 1、本文档共86页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Hadoop综述幻灯片

第三篇 Hbase分布式数据库 Hbase简介 Hbase是一个类似Bigtable的分布式结构化数据库系统, Bigtable是 Google Style的数据库,使用结构化的文件来存储数据。 Streamy 使用RDBMS 是一个实时新闻聚合器,使用PostgreSQL。 Streamy抓取上万RSS订阅,聚集千万条目。 除存储,复杂查询之一:从一个资源集合中读取按时间排序的所有条目列表。 为了保障数据库随扩展而保持速度,想尽办法(用尽所有RDBMS优势)。整个团队成为DBA。 Streamy障碍一:大批量条目 起初单条目表,大量二级索引使更新变慢 将条目分成一对一链接表 静态区域从动态区域分离出来 据查询方法分区 问题无法解决 单个更新还是要重写整个记录 条目追踪统计数据非常难扩展 重写记录和一直保持更新索引是RDBMS固有特性 Streamy障碍二:超大排序合并 对按时间排序的lists进行排序合并很常见 假设id是主键,stamp和type有二级索引,RDBMS查询设计器做如下处理: 问题:只排前10条ID,但查询设计器实现整个合并。 Streamy 解决办法 RDBMS能实现需求,但是 需要考虑伸宿性和性能,而非正确性 RDBMS开销和复杂性成为障碍 存储层抽象都是障碍 Hbase解决 信赖Hbase扩展存储而非逻辑 专注于应用逻辑而非扩展本身 目前已有上亿行上万列。可放心存储几十的行和几百万的列 比较 RDBMS 模式固定 拥有ACID特性 适于大中小程序 HBase 对数据集大小 或读写并发性或两者兼容的伸宿性要求,发现RDBMS性能损失大。 Hbase数据模型 定义:BT是一个稀疏的,长期存储的,多维度的,排序的映射表。 索引:行关键字,列关键字和时间戳. 值:一个不解释的字符数组. 数据都是字符串,没类型,格式由客户来解释 (row:string, column:string,time:int64)-string Hbase数据模型 行 每一行都有一个可排序的主键和任意多的列。 行关键字可以是任意字符串 表用行键即主键排序,通过主键访问表。 在一个行关键字下的每一个读写操作都是原子操作 有利于同行并发操作 举例,在Webtable里,通过反转URL中主机名的方式,可以把同一个域名下的网页组织成连续行。 Hbase数据模型 列族 每行列分组形成列族:“family:qualifiers” 每张表有一个family集合,固定不变,相当于表结构 列族成员有相同前缀。OK:a与OK:b都属于OK列族成员 同一列族下存放的所有数据通常都是同一类型 列族必须先创建,然后能在其中的列关键字下存放数据,动态增加列 限定词任意字符串。比如,Webtable列族是anchor;给列族的每一个列关键字代表一个锚链接 物理存储 列族成员在文件系统存在一起,(确切)面向列族。 这是访问控制的基本单位。 Hbase数据模型 时间戳 表中每一个表项都可以包含同一数据的多个版本不同版本的表项内容按时间戳倒序排列,即必威体育精装版的排在前面。 自动进行垃圾清除。用户可以指明只保留表项的最后n个版本 在Webtable中,在contents:列中存放确切爬行一个网页的时间戳。如上的垃圾清除机制可以让我们只保留每个网页的最近三个版本。 Hbase数据模型 行名是一个反向URL{即n.www}。 contents列族存放网页内容 anchor列族存放引用该网页的锚链接文本。 CNN的主页被Sports Illustrater和MY-look的主页引用,因此该行包含了名叫“anchor:”和 “anchhor:my.look.ca”的列。列名字的格式是family:label 时间戳 每个锚链接只有一个版本,由时间戳标识,如t9,t8;而contents列则有三个版本,分别由时间 戳t3,t5,和t6标识。 一个存储Web网页的例子的表的片断 Hbase数据模型概念视图 一个表可以想象成一个大的映射关系,通过主键,或者主键+时间戳,可以定位一行数据,由于是稀疏数据,所以某些列可以是空白的,下面就是数据的概念视图: Hbase数据模型物理视图 在物理存储上面,它是按照列来保存的, 在概念视图上面有些列是空白的,这样的列实际上并不会被存储 如果在查询的时候不提供时间戳,返回必威体育精装版版本 区域(tablet) 表横向分不同区域,各区域代表所有行一个子集 区域确定:第一行(包含)最后行(不含)+随机标识 表初始单个区域-逐渐扩大超过阈值-以行为界分割 区域分散在HBase集群上单元 Bigtable通过行关键字的字典序来维护数据。动态划分成多个连续行叫做“子表”(tablet)是数据分布和负载均

您可能关注的文档

文档评论(0)

wnqwwy20 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:7014141164000003

1亿VIP精品文档

相关文档