Google的大数据技术78

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Google的大数据技术杨文川2014.2主要内容Google云环境下的大数据背景分布式文件系统GFS并行数据处理模型MapReduce云计算的分类将基础设施作为服务IaaS(InfrastructureasaService)将平台作为服务PaaS(PlatformasaService)将软件作为服务SaaS(SoftwareasaService)如:GoogleAppEngineMicrosoftWindowsAzure如:SalesforceonlineCRM如:AmazonEC2/S3专用通用云计算的分类计算形式以螺旋式上升的形式完成了轮回50年:计算的回归巨型机时代•ManyPeoplevs.OneComputerPC时代•OnePersonvs.OneComputer云计算时代•ManyPeoplevs.“OneComputerinCloud”云计算时代与巨型机时代有何不同?云的本质是分布式计算,但有集中管理某些特征优点更好的性能价格比,你不要花几十万美元就能获得高效能计算多数应用是分布式的。高可靠性:现代分布式系统具有高度容错机制。可扩展性:买一台性能更高的大型机,或者再买一台性能相同的大型机的费用都比添加几台PC的费用高得多。高度灵活性:能够兼容不同硬件厂商的产品,兼容低配置机器和外设而获得高性能计算云不是巨型机模式的简单回归安全安全问题是云的关键病毒响应更及时体积更小、查杀病毒能力更强轻量级客户端适合于移动设备查杀“未知”病毒,保障用户彻底安全Google与Microsoft的战争Google和微软之间日益激烈的对立将是一场史诗般的企业战争,将对两家公司的成功和发展产生重要影响,并规定着消费者和企业如何工作、购物、通讯,以及“他们过的数字生活”Google认为这一切将发生在遥远的数据中心中的服务器,用户可以通过许多有线和无线设备访问这些服务,这就是所谓的“云计算”微软也认为未来在于Web,但它的重心仍然是其桌面PC软件冲突之源90%计算任务都能够通过“云计算”技术完成桌面软件正在向Web软件转型云计算是开放标准,业界不会有公司独裁中小企业、大学、消费者会相对迅速地转向基于Web的“云计算”技术新的赢利模式◦低廉的云计算给Google带来更多的流量,进而带来更多的广告收入承认“云计算”不会在一夜之间普及◦大公司通常会慢慢地改变自己的习惯◦其它问题,例如“飞机问题”,以及在不能上网时用户如何工作。Google的观点10在计算机上安装的传统软件是微软的根本比尔·盖茨(BillGates)接受媒体采访时曾提出:“我们致力于推动PC成为一切的中心”微软将自身的战略称为“软件加服务”微软将Google的乐观称作是一厢情愿。利用Web软件收发电子邮件、处理文档和电子表格、进行协作很方便吗?高速宽带连接会象Google断言的那样普及和可靠吗?企业、大学、消费者会让Google保存他们的资料吗?Microsoft的观点孰优孰劣,等待市场检验!11应用规模对于系统架构设计的重要性Google应用的特性海量用户+海量数据需要具备较强的可伸缩性如何又快又好地提供服务?Google的秘密武器秘密武器:云计算平台12Google的云计算梦想应用向互联网迁移数据向互联网迁移计算能力向互联网迁移存储空间向互联网迁移“浏览器=操作系统”SaaSGoogleDocsGoogleMapsGmailGoogleCalendarGoogleWave………PaaSGoogleAppEngineGoogle云计算应用的分类14Google在线文档Google云计算应用场景15Google地图Google云计算应用场景16Google邮件Google云计算应用场景17Google日历Google云计算应用场景18GoogleWave信息分享、协作、发布平台Google云计算应用场景19隶属于PaaS的Google云计算属于部署在云端的应用执行环境支持Python和Java两种语言通过SDK提供Google的各种服务,如图形、MAIL和数据存储等用户可快速、廉价(可免费使用限定的流量和存储)地部署自己开发的应用(如创新的网站、游戏等)Google云计算应用场景20应用场景特点Google云计算应用场景应用(功能实现)在云端存储在云端计算在云端21Google云计算平台技术架构文件存储,GoogleDistributedFileSystem,GFS并行数据处理MapReduce分布式锁Chubby结构化数据表BigTableGoogle如何实现?Google云计算应用MapReduceBigTableGFSChubby22分布式文件系统GFS23什么是文件系统?FAT,FAT32,NTFS,EXT,……用于持久地存储数据的系统通常覆盖在底层的物理存储介质上硬盘、CD、磁带等数据组织的基本单元:文件具有文件名(1.txt)通常支持层次化嵌套(目录结构)文件系统基础24文件路径文件与目录的结合,用于定位文件绝对路径,/home/aaron/foo.txt相对路径,docs/someFile.doc规范路径定位文件的最短绝对路径/home/aaron/foo.txt,/home/../home/aaron/./foo.txt所有规范路径的集合构成了文件系统的目录结构文件系统基础25文件系统的存储内容主要内容:用户的实际数据元数据:驱动器元数据与文件元数据文件系统基础驱动器元数据•可用空间•格式信息•字符集•……..文件元数据•文件名•创建者•修改者•创建时间•修改时间•………26文件分块存储文件系统基础ABC(freespace)ABC(freespace)AA(freespace)C(freespace)AADC(free)AD27文件系统设计的考虑因素最小存储单元较小可减少浪费空间,较大则可提高文件顺序读取速度(随机访问呢?)文件系统的设计目标是提高访问速度还是提高使用率?文件系统的安全性多用户环境下的文件安全读/写权限分配文件附带访问控制列表(ACL)文件系统缓存提高文件系统读写效率文件系统基础28Google需要一个支持海量存储的文件系统购置昂贵的分布式文件系统与硬件?Google设计GFS的动机是否可以在一堆廉价且不可靠的硬件上构建可靠的分布式文件系统?29为什么不使用当时现存的文件系统?Google所面临的问题与众不同不同的工作负载,不同的设计优先级(廉价、不可靠的硬件)需要设计与Google应用和负载相符的文件系统Google设计GFS的动机30GFS的假设与目标硬件出错是正常而非异常系统应当由大量廉价、易损的硬件组成必须保持文件系统整体的可靠性主要负载是流数据读写主要用于程序处理批量数据,而非与用户的交互或随机读写数据写主要是“追加写”,“插入写”非常少需要存储大尺寸的文件存储的文件尺寸可能是GB或TB量级,而且应当能支持存储成千上万的大尺寸文件31将文件划分为若干块(Chunk)存储每个块固定大小(64M)通过冗余来提高可靠性每个数据块至少在3个数据块服务器上冗余数据块损坏概率?通过单个master来协调数据访问、元数据存储结构简单,容易保持元数据一致性GFS的设计思路32单一Master,若干ChunkServerGFS的架构1、文件存储方式2、数据读写流程GFS的架构有什么问题吗?33分布式系统设计告诉我们:这是单点故障这是性能瓶颈GFS的解决办法单点故障问题单一Master问题采用多个(如3个)影子Master节点进行热备,一旦主节点损坏,立刻选举一个新的主节点服务34GFS的解决办法性能瓶颈问题单一Master问题尽可能减少数据存取中Master的参与程度不使用Master读取数据,仅用于保存元数据客户端缓存元数据采用大尺寸的数据块(64M)数据修改顺序交由PrimaryChunkServer完成Simple,andgoodenough!35存储元数据文件系统目录管理与加锁与ChunkServer进行周期性通信发送指令,搜集状态,跟踪数据块的完好性数据块创建、复制及负载均衡对ChunkServer的空间使用和访问速度进行负载均衡,平滑数据存储和访问请求的负载对数据块进行复制、分散到ChunkServer上一旦数据块冗余数小于最低数,就发起复制操作Master节点的任务36垃圾回收在日志中记录删除操作,并将文件改名隐藏缓慢地回收隐藏文件与传统文件删除相比更简单、更安全陈旧数据块删除探测陈旧的数据块,并删除Master节点的任务37采用中心服务器模式可以方便地增加ChunkServerMaster掌握系统内所有ChunkServer的情况,方便进行负载均衡不存在元数据的一致性问题GFS架构的特点38不缓存数据GFS的文件操作大部分是流式读写,不存在大量的重复读写,使用Cache对性能提高不大ChunkServer上的数据存取使用本地文件系统,如果某个Chunk读取频繁,文件系统具有Cache从可行性看,Cache与实际数据的一致性维护也极其复杂GFS架构的特点?39在用户态下实现直接利用ChunkServer的文件系统存取Chunk,实现简单用户态应用调试较为简单,利于开发用户态的GFS不会影响ChunkServer的稳定性提供专用的访问接口未提供标准的POSIX访问接口降低GFS的实现复杂度GFS架构的特点40GFS的容错方法GFS的容错机制ChunkServer容错每个Chunk有多个存储副本(通常是3个),分别存储于不通的服务器上每个Chunk又划分为若干Block(64KB),每个Block对应一个32bit的校验码,保证数据正确(若某个Block错误,则转移至其他Chunk副本)41GFS的容错方法GFS的容错机制Master容错三类元数据:命名空间(目录结构)、Chunk与文件名的映射以及Chunk副本的位置信息前两类通过日志提供容错,Chunk副本信息存储于ChunkServer,Master出现故障时可恢复42GFS的性能43超过50个GFS集群每个集群包含数千个存储节点管理着PB(1015Byte)级的数据GFS在Google中的部署巨型、廉价、稳定的数据中心44GFS小结45分布式文件系统GFSGFS的容错措施有哪些?GFS的容错方法GFS的容错机制ChunkServer容错每个Chunk有多个存储副本(通常是3个),分别存储于不通的服务器上每个Chunk又划分为若干Block(64KB),每个Block对应一个32bit的校验码,保证数据正确(若某个Block错误,则转移至其他Chunk副本)Master容错(影子节点热备)三类元数据:命名空间(目录结构)、Chunk与文件名的映射以及Chunk副本的位置信息前两类通过日志提供容错,Chunk副本信息存储于ChunkServer,Master出现故障时可恢复47并行数据处理模型MAPREDUCE摩尔定律集成电路芯片上所集成的电路的数目,每隔18个月就翻一番,同时性能也提升一倍经验总结,12个月-18个月-24个月并行计算基础GordonMoore“免费的性能大餐”?Andygiveth,andBilltakethaway软件算法、数据结构似乎不再重要,因为处理器性能不断提升并行计算基础免费的午餐已经结束!!IntelMicrosoft摩尔定律正在走向终结…单芯片容纳晶体管的增加,对制造工艺提出要求CPU制造18微米(nm)技术,电子泄漏问题CPU主频向4GHz时代跨进,继续提高难度越来越大散热问题(发热太大,且难以驱散)功耗太高并行计算基础未来的发展:多核在多核时代生存,必须考虑并发问题不存在解决多核编程问题的银弹,不存在可

1 / 78
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功