西西河

主题:【原创】闲话Google集群 [1] 引子 -- 邓侃

共:💬33 🌺147 新:
全看分页树展 · 主题 跟帖
家园 闲话Google集群 [2] 存在的理由

[1] 引子 链接出处

[2] 存在的理由 链接出处

[2] 存在的理由

早期的搜索引擎,基本原理是关键词匹配。

譬如用户输入关键词"奥运会",搜索引擎的任务是查找与奥运会相关的网页。如果恰好有一篇网页,内容无他,"奥运会,奥运会,。。。",连说100遍。早期的搜索引擎肯定把这个网页放在结果的首页,说不定还置顶,因为, 1. 网页内容中,"奥运会"这个关键词出现的频率非常高,2. 没有出现与奥运会不相干的内容。

早期搜索引擎的问题很明显,但是如何解决,却是仁者见仁智者见智。

1996年,刚刚入学Stanford计算机系的Larry Page和Sergey Brin哥俩儿觉得,提高搜索引擎的准确性,或许可以从网页与网页之间的相互链接入手。譬如,网页A中提到奥运会时,给了一个链接,指向网页甲,那么网页甲的内容很可能与奥运会相关。如果不仅网页A有这样的链接,而且网页B,C,D等等,都有类似的链接,那么网页甲的内容与奥运会相关的可能性就极高。

批评者说,这不是三人成虎吗?Larry心里也没谱,就跑去问他的导师,Terry Winograd。

导师外形很像爱因斯坦,想了一想,说,"先把Stanford校园网内所有网页收集下来,验证一下你们的想法。然后扩大到更大范围,再验证一下。如果验证的结果不错,就把全世界互联网的所有网页,统统收集下来,做一个搜索引擎,上线,让全世界的人用,让全世界的人都来验证你们的猜想。"

两年后,1998年,Google上线了,三人成虎的猜想被实践证明是行之有效的。

Terry导师大手一挥,"把全世界互联网的所有网页,统统收集下来",可把Larry和Sergey哥俩儿忙坏了。互联网上有多少网页,统统收集下来,需要占用多少硬盘空间?Larry和Sergey当时是博士班一年级学生,囊中羞涩,买不起那么多设备,没办法,开始四处讨钱。

托了七大姑八大姨,拐弯抹角找到了一个大款,名叫Andy Bechtolsheim。此公早年在CMU拿了EE的硕士后,跑到Stanford读CS/EE博士。没来得及拿到博士学位,就伙同Scott McNealy和Vinod Khosla,下海开公司去了,这个公司就是大名鼎鼎的SUN Microsystems。 Scott McNealy任SUN的CEO长达20多年,而Andy Bechtolsheim功成身退,跳出SUN自己开了一个小公司,后来这个小公司卖给了Cisco。

坊间传说,Larry和Sergey拜访Andy的时候,Andy正在电话上。冗长的电话,Larry和Sergey两个小伙子血气方刚,哪里耐得住这份性子,抬腿告辞。因为是朋友介绍,Andy有点过不去,就追到门口。问,"二位上门,有何需求?"

Larry和Sergey铁青着脸,说,"也没什么大事,就是想找点钱,做一个大规模文件系统。"

Andy问,"多大规模呢?存储什么数据?"

Larry和Sergey,"打算把互联网上所有网页都下载,然后建一个搜索索引。"

Andy,"把互联网上所有网页统统下载?!需要多大空间?几个Giga不行吧,几个Tera也不行吧,几个Peta,几个Zetta?。。。嗯,我看几个Googol也许才能撑得住。知道Googol吗?就是10的100次方,就是一个1后面拖100个0!"

Larry和Sergey,"是的,我们的确就是打算处理海量数据。"

Andy,"你们打算怎么做?买个EMC?那玩意儿很贵的哟,我可没那么多钱让你们烧。"

Larry和Sergey,"我们打算自己动手,用一堆PC做一个分布式集群。"

Andy,"PC?死机了怎么办?干嘛不用工作站,干嘛不用NFS?"

Larry和Sergey,"工作站比PC贵太多,NFS的不是很切合我们的需要。。。"

Andy挤出一点笑容,"好吧,小伙子们,给朋友一个面子,而且年轻人探险也是值得鼓励的。给你们10万吧,省着点花啊!"

Andy掏出支票本,一边签名一边问,"你们的公司叫什么?"

Larry和Sergey面面相觑,那时候他们还没来得及给公司取名。"要不就叫Googol吧?","Googol不太好拼写,要不改一改,叫Google吧。" Google这个名字从此诞生。

。。。

以上是传说,但是有几点倒是有价值的。

1. 以Andy的身价,10万美元实在是九牛一毛。1998年10万美元的投资,到了2004年Google上市时,值多少钱?现在又增长到多少钱?不忍心计算,估计Andy后悔得肠子都青了。

2. 如果需要10个Tera byte,也就是1万个Giga的硬盘的空间,或许1个EMC服务器就够了。但是同样空间,却需要10个PC。从价钱看,10个PC大致是5千美元,而一个硬盘空间相似的EMC服务器要价1.5万美元左右。当硬盘空间的规模大幅度增长的时候,购买EMC高端设备的花费,将远远超过购买众多低端PC的成本。

3. 用廉价的PC,就必须想办法保障稳定性。换句话说,少数PC死机了,不能影响整个集群的正常工作。

4. 处理海量数据,内存和IO速度是生死劫。廉价的PC,内存有限,IO接口速度也有限。如何解决?

5. 应付海量数据的存储技术很多,EMC,NFS(Network File System),AFS(Andrew File System),RAID(Redundant Array of Inexpensive Disks),还有SAN(Storage Area Network)和NAS(Network Attached Storage)等等。Google的两位创始人,为什么不沿用现成的技术,而是选择了另辟蹊径,莫非自讨苦吃?

欲知答案,且听下回分解。


本帖一共被 2 帖 引用 (帖内工具实现)
全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河