Google搜索引擎架构研究
【摘风筝简笔画 要】 Google做为世界上最成功的网络公司之一,以其巨大,快速的搜索引擎而著名。但很少有人了解能了解如何将数万台PC组织成为一个强大的,可靠的,可扩展的分布式系统。本文简要介绍的Google的主要后台架构GFS,MapReduce和BigTable。
【关键词】 Google GFS MapReduce BigTable
1 google要解决的问题
(1同胞的意思)快乐的动物园WEB是非常巨大的,并且以指数级别在增长。
(2)Web中存在不同形式的资源:
Word,HTML,PDF,ASCII,Images
(3)检索时间要极短不能让用户等待。
(4)各种民族各种语言不同,需要不同的分词方法。
(5)系统能够每天承受每天上亿次的检索。
(6)优化结果的排序规则,把用户最需要的信息展现在最前面。
2 Google的分布式设计结构
Google怎么煮玉米的分布式设计是一项伟大的设计,它建立在上万台计算机上。面的上万台的复杂系统结构Google在设计系统的开始就有一个假设:“机器是会出问题的。”“容许机器出问题,但机器必需自动跳过或自动修复这些问题。”如图1所示,是一张Google分布式设计的基本结构图。
万五一>雕栏玉砌
2.1 抓取部分
URL Server:存储URL列表,这些URL都是将要被抓取的对象。
老人看手机
Crawler:一组进行并行检索的爬虫程序,每个爬虫都有自己的DNS缓冲池,并且能够在同一时间打开300个网络连接。
Store Server:压缩并且存储爬虫爬取来的网易。
Repository:包含每个网页的全部信息,每个文档都被标记为docID,length,URL。
Indexer:解压缩文档并且解析每个文档,并把其中的连接存储在Anchors中。
梦见棉被Anchors:专门存储解析而来的新的连接。
URL Resolver:把相对路径URL转换为绝对路径的URL。
其中,Repository是压缩存储的,压缩率一般超过60%。