Google拥有全球最大的搜索引擎,以及Google Maps、Google Earth、Gmail、YouTube等大规模业务。这些应用的共性在于数据量极其庞大,且要面向全球用户提供实时服务,因而Google必须解决海量数据存储和快速处理的问题。在长期的探索和实践中,Google研发出了一种让多大百万台的廉价计算机协同工作的技术,即云计算技术。Google云计算平台是建立在大量服务器集群上的,Node是最基本的处理单元,其总体技术架构如图1-7所示。在Google云计算平台的技术架构中,除了少量负责特定管理功能的节点(如GFS master、Chubby和Scheduler等),所有的节点都是同构的,即同时运行BigTable Server、GFS chunkserver和MapReduce Job等核心功能模块。
图1-7 Google云计算系统系统架构图
Google云计算拥有分布式文件系统GFS、海量数据并行处理“MapReduce”技术、分布式锁服务Chubby、大规模分布式系统监控技术Dapper、海量非结构化数据存储技术BigTable、MySQL Sharding以及数据中心优化等关键技术。Google公司还于2008年推出了Google App Engine(GAE),即一个基于云环境的开发和部署平台。它将Google的基础设施以云服务的形式提供给用户,通过GAE用户可以直接在Google的全球分布式基础设施上开发并部署应用程序,而不用购买和维护硬件设施。下面对GFS、Mapreduce、BigTable三大核心技术以及GAE Web开发平台做简要介绍。
u 数据存储技术——GFS
网页搜索业务需要海量的数据存储,同时还需