码迷,mamicode.com
首页 > 其他好文 > 详细

Google”在垃圾中寻找黄金“——Page-Rank

时间:2015-11-02 23:11:56      阅读:818      评论:0      收藏:0      [点我收藏+]

标签:

GOOGLE“在垃圾中寻找黄金”——Page Rank

GOOGLE“在垃圾中寻找黄金”——Page Rank

1.Google的低成本之道

  • ○不使用超级计算机,不使用存储(淘宝的去i,去e,去o之路)
  • ○大量使用普通的PC服务器(去掉机箱,外设,硬盘),提供有冗余的集群服务
  • ○全世界多个数据中心,有些附带发电厂
  • ○运营商向Google倒付费

2.Google面对的数据和计算难题

  • 大量的网页如何存储?
    Google的爬虫每天在全世界各个服务器里面爬到的很多网页,这些网页肯定不是百万千万这个级别的。这么大量的数据如何存储呢?如果是传统的企业来说是买一个很大的存储空间,里面有成千上万的硬盘,把数据放到里面去。但是性能跟价格的曲线是指数级上升的。所以Google根本不会考虑这个方案。一般说Google会把网页分散到各个PC服务器里进行存储。一般来说Google的服务器是根本没有硬盘的,它的所有的网页的资讯都是放在内存里面来加快它的检索速度。这时候要是内存损坏岂不是损失很大?对此Google采用冗余的方式,把数据写到文件系统里面,并不是只写一个节点,使得某一个节点损坏也损失不大。(GFS(Google File System),即把网页分散到各个节点存储,并提供冗余,防止节点失败)
  • 搜索算法
    在Oracle中搜索关键字,如在某字段中检索关键字,但这种查询是不能利用索引的,那么在没有索引的情况下就必须对全表扫描,这个速度是很慢的。对于Google来说,如果所有表格是放在一个大表里面,那么这个量就不是多少百万行的问题,而是多少亿行的问题。这种全表扫描速度是很慢的,而Google只用不到一秒。(倒排索引技术)
  • Page-Rank计算问题
    在关键字检索出来的结果是很多的,那么该向用户推荐哪些呢?如果推荐广告等用户其实并不想看到的信息,那么这个用户体验是很糟糕的。其实在Google刚创立就发明了一种方法,它可以对网页的价值进行排名——就是Page-Rank。

3.倒排索引

技术分享
在一个表面上看起来是需要全表扫描的情况下,我们可以对全文进行索引,但这个关键词或者说keyword并不是这个文章内容的全体,而是首先对这个文章进行分词。这样就可以快速进行关键词索引的检索。但汉语分词是个难区,这一点研究Google未必比百度做得好。

4.Page-Rank

这是Google最核心的算法,用于给每个网页价值评分,是Google“在垃圾中找黄金”的关键算法,这个算法成就了今天的Google
技术分享
根据链接关系来判断这个页面的价值,如果一个页面被指向得越多越重要。另外如果一个Page-Rank价值比较高的页面指向你,和一个Page-Rank价值比较低的页面指向你,这个价值也是不同的。但是好几万亿个元素的矩阵乘法任何一台计算机都是不能够算的。要是多台电脑就可以解决这个问题,这就是Map-reduce。

5.Map-reduce思想:计算PR

技术分享
每一个节点里面都被分配若干个网页,每一个列在一个节点里面是绝对能算出来的。
技术分享
技术分享
技术分享
即把一个巨大无法解决的计算任务,分散到各个节点里面计算,然后再进行汇总,通过多次这样的过程得到所需要的结果。

6.Google带给我们的关键技术和思想

  • GFS
  • Map-reduce
  • Bigtable

Google”在垃圾中寻找黄金“——Page-Rank

标签:

原文地址:http://www.cnblogs.com/XBlack/p/4931633.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!