Google 在搜索引擎上所获得的巨大成功,很大程度上是由于采用了先进的大数据管理和处理技术。Google 的搜索引擎是针对搜索引擎所面临的日益膨胀的海量数据存储问题,以及在此之上的海量数据处理问题而设计的。
众所周知,Google 存储着世界上最庞大的信息量(数千亿个网页、数百亿张图片)。但是,Google 并未拥有任何超级计算机来处理各种数据和搜索,也未使用 EMC 磁盘阵列等高端存储设备来保存大量的数据。
2006 年,Google 大约有 45 万台服务器,到 2010 年增加到了 100 万台,截至 2018 年,据说已经达到上千万台,并且还在不断增长中。不过这些数量巨大的服务器都不是什么昂贵的高端专业服务器,而是非常普通的 PC 级服务器,并且采用的是 PC 级主板而非昂贵的服务器专用主板。
Google 提出了一整套基于分布式并行集群方式的基础架构技术,该技术利用软件的能力来处理集群中经常发生的结点失效问题。
Google 使用的大数据平台主要包括 3 个相互独立又紧密结合在一起的系统:Google 文件系统(Google File System,GFS),针对 Google 应用程序的特点提出的 MapReduce 编程模式,以及大规模分布式数据库 BigTable。
GFS
一般的数据检索都是用数据库系统,但是 Google 拥有全球上百亿个 Web 文档,如果用常规数据库系统检索,数据量达到 TB 量级后速度就非常慢了。正是为了解决这个问题,Google 构建出了 GFS。
GFS 是一个大型的分布式文件系统,为 Google 大数据处理系统提供海量存储,并且与 MapReduce 和 BigTable 等技术结合得十分紧密,处于系统的底层。