《云计算(第三版)》配套之五:第2章-Google云计算原理与应用(四)-课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《云计算(第三版)》配套之五:第2章-Google云计算原理与应用(四)-课件.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 云计算第三版 计算 第三 配套 Google 原理 应用 课件
- 资源描述:
-
1、of64云计算第三版配套PPT课件云 计 算(第三版)CLOUD COMPUTING Third Edition主编:刘鹏 教授第 2 章Google云计算原理与应用(四)of64云计算第三版配套PPT课件2.1 Google文件系统GFS2.2 分布式数据处理MapReduce2.3 分布式锁服务Chubby2.4 分布式结构化数据表Bigtable2.5 分布式存储系统Megastore2.6 大规模分布式系统的监控基础架构Dapper2.7 海量数据的交互式分析工具Dremel2.8 内存大数据分析系统PowerDrill2.9 Google应用程序引擎数据本身不会产生价值只有经过分析才
2、有可能产生价值of64云计算第三版配套PPT课件2.7 海量数据的交互式分析工具Dremel2.7.1 产生背景2.7.2 数据模型2.7.3 嵌套式的列存储2.7.4 查询语言与执行2.7.5 性能分析2.7.6 小结of64云计算第三版配套PPT课件5产生背景2.7 海量数据的交互式分析工具DremelMapReduce优点:便携缺点:效率低Google的团队结合其自身的实际需求,借鉴搜索引擎和并行数据库的一些技术,开发出了实时的交互式查询系统Dremel。of64云计算第三版配套PPT课件2.7 海量数据的交互式分析工具DremelDremel支持的典型应用Web文档的分析Android
3、市场的应用安装数据的跟踪Google产品的错误报告Google图书的光学字符识别欺诈信息的分析Google地图的调试Bigtable实例上的tablet迁移Google分布式构建系统的测试结果分析磁盘I/O信息的统计Google数据中心上运行任务的资源监控Google代码库的符号和依赖关系分析6of64云计算第三版配套PPT课件2.7 海量数据的交互式分析工具Dremel2.7.1 产生背景2.7.2 数据模型2.7.3 嵌套式的列存储2.7.4 查询语言与执行2.7.5 性能分析2.7.6 小结of64云计算第三版配套PPT课件8两方面的技术支撑两方面的技术支撑一方面:统一的存储平台另一方面
4、:统一的数据存储格式实现高效的数据存储,Dremel使用的底层数据存储平台是GFS存储的数据才可以被不同的平台所使用2.7 海量数据的交互式分析工具Dremelof64云计算第三版配套PPT课件92.7 海量数据的交互式分析工具Dremel面向记录和面向列的存储Google的Dremel是第一个在嵌套数据模型基础上实现列存储的系统。列存储更利于数据的压缩处理时只需要使用涉及的列数据好处一:好处二:of64云计算第三版配套PPT课件101dom|A:?,A:?n2.7 海量数据的交互式分析工具Dremel嵌套模型的形式化定义原子类型(Atomic Type)原子类型允许的取值类型包括整型、浮点型
5、、字符串等记录类型(Record Type)记录类型则可以包含多个域记录型数据包括三种类型:必须的(Required)、可重复的(Repeated)以及可选的(Optional)of64云计算第三版配套PPT课件112.7 海量数据的交互式分析工具Dremel嵌套结构的模式和实例文档的模式(Schema)定义符合该模式的两条记录利用该数据模型,可以使用Java语言,也可以使用C+语言来处理数据,甚至可以用Java编写的MapReduce程序直接处理C+语言产生的数据集。这种跨平台的优良特性正是Google所需要的。of64云计算第三版配套PPT课件2.7 海量数据的交互式分析工具Dremel2
6、.7.1 产生背景2.7.2 数据模型2.7.3 嵌套式的列存储2.7.4 查询语言与执行2.7.5 性能分析2.7.6 小结of64云计算第三版配套PPT课件132.7 海量数据的交互式分析工具Dremel数据结构的无损表示带有重复深度和定义深度的r1与r2的列存储重复深度主要关注的是可重复类型,而定义深度同时关注可重复类型和可选类型(optional)每一列最终会被存储为块(Block)的集合,每个块包含重复深度和定义深度且包含字段值。of64云计算第三版配套PPT课件142.7 海量数据的交互式分析工具Dremel高效的数据编码计算重复和定义深度的基础算法Dremel利用图中算法创建一个
7、树状结构树的节点为字段的writer,它的结构与模式中的字段层级匹配。核心的想法是只在字段writer有自己的数据时执行更新,非绝对必要时不尝试往下传递父节点状态。子节点writer继承父节点的深度值。当任意值被添加时,子writer将深度值同步到父节点。of64云计算第三版配套PPT课件152.7 海量数据的交互式分析工具Dremel数据重组Dremel数据重组方法的核心思想是为每个字段创建一个有限状态机(FSM),读取字段值和重复深度,然后顺序地将值添加到输出结果上。of64云计算第三版配套PPT课件16当前FSM写入值下一个重复深度值动作DocId(开始)100跳转至Links.Back
8、wardLinks.BackwardNULL0跳转至Links.ForwardLinks.Forward201停留在Links.ForwardLinks.Forward401停留在Links.ForwardLinks.Forward600跳转至Name.Language.CodeName.Language.Codeen-us2跳转至Name.Language.CountryName.Language.Countryus2跳转至Name.Language.CodeName.Language.Codeen1跳转至Name.Language.CountryName.Language.CountryN
9、ULL1跳转至Name.UrlName.Urlhttp:/A1跳转至Name.Language.CodeName.Language.CodeNULL1跳转至Name.Language.CountryName.Language.CountryNULL1跳转至Name.UrlName.Urlhttp:/B1跳转至Name.Language.CodeName.Language.Codeen-gb0跳转至Name.Language.CountryName.Language.Countrygb0跳转至Name.UrlName.UrlNULL0结束2.7 海量数据的交互式分析工具Dremel数据重组r1的
10、完整数据重组过程of64云计算第三版配套PPT课件172.7 海量数据的交互式分析工具Dremel数据重组如果具体的查询中不是涉及所有列,而是仅涉及很少的列的话,上述数据重组的过程会更加便利,下图中仅仅涉及DocId和Name.Language.Country的有限状态机。of64云计算第三版配套PPT课件182.7 海量数据的交互式分析工具Dremel数据重组核心的思想如下:设置t为当前字段读取器的当前值f所返回的下一个重复深度。在模式树中,找到它在深度 t 的祖先,然后选择该祖先节点的第一个叶子字段 n。由此得到一个FSM状态变化(f,t)-n。有限状态机的构造算法of64云计算第三版配套
11、PPT课件2.7 海量数据的交互式分析工具Dremel2.7.1 产生背景2.7.2 数据模型2.7.3 嵌套式的列存储2.7.4 查询语言与执行2.7.5 性能分析2.7.6 小结of64云计算第三版配套PPT课件202.7 海量数据的交互式分析工具Dremel查询语言与执行Dremel的SQL查询输入的是一个或多个嵌套结构的表以及相应的模式,而输出的结果是一个嵌套结构的表以及相应的模式。嵌套子查询记录内聚合top-kjoins自定义函数 of64云计算第三版配套PPT课件212.7 海量数据的交互式分析工具DremelDremel利用多层级服务树(multi-level service t
12、ree)的概念来执行查询操作根服务器接受客户端发出的请求,读取相应的元数据,将请求转发至中间服务器。中间服务器负责查询中间结果的聚集叶子服务器负责执行数据来源查询语言与执行of64云计算第三版配套PPT课件22查询语言与执行Dremel中的数据都是分布式存储的,因此每一层查询涉及的数据实际都被水平划分后存储在多个服务器上。Dremel是一个多用户系统,因此同一时刻往往会有多个用户进行查询。查询分发器有一个很重要参数,它表示在返回结果之前一定要扫描百分之多少的tablet2.7 海量数据的交互式分析工具Dremelof64云计算第三版配套PPT课件2.7 海量数据的交互式分析工具Dremel2.
13、7.1 产生背景2.7.2 数据模型2.7.3 嵌套式的列存储2.7.4 查询语言与执行2.7.5 性能分析2.7.6 小结of64云计算第三版配套PPT课件24表名记录数(亿)规模(未压缩,TB)域数目数据中心复制因子T185087270A3T224013530A3T340701200A3T41000010550B3T5100002050B22.7 海量数据的交互式分析工具Dremel由于Dremel并不开源,我们只能通过Google论文中的分析大致了解其性能。Google的实验数据集规模如下图:性能分析of64云计算第三版配套PPT课件252.7 海量数据的交互式分析工具Dremel性能分
14、析MR从面向记录转换到列状存储后性能提升了一个数量级(从小时到分钟),而使用Dremel则又提升了一个数量级(从分钟到秒)of64云计算第三版配套PPT课件2.7 海量数据的交互式分析工具Dremel2.7.1 产生背景2.7.2 数据模型2.7.3 嵌套式的列存储2.7.4 查询语言与执行2.7.5 性能分析2.7.6 小结of64云计算第三版配套PPT课件272.7 海量数据的交互式分析工具Dremel小结Dremel和MapReduce并不是互相替代,而是相互补充的技术。在不同的应用场景下各有其用武之地。Drill的设计目标就是复制一个开源的Dremel,但是从目前来看,该项目无论是进展
15、还是影响力都达不到Hadoop的高度。希望未来能出现一个真正有影响力的开源系统实现Dremel的主要功能并被广泛采用。123of64云计算第三版配套PPT课件2.1 Google文件系统GFS2.2 分布式数据处理MapReduce2.3 分布式锁服务Chubby2.4 分布式结构化数据表Bigtable2.5 分布式存储系统Megastore2.6 大规模分布式系统的监控基础架构Dapper2.7 海量数据的交互式分析工具Dremel2.8 内存大数据分析系统PowerDrill2.9 Google应用程序引擎of64云计算第三版配套PPT课件2.8 内存大数据分析系统PowerDrill2
展开阅读全文