第200章 0201.大数据时代
  {时间:2003年3月4日}
  {地点:加州-帕洛阿尔托}
  无论哪个时候谦虚总是好的,但是过于谦虚有时候难免给人误会。所以面对kaltix三人组,宁子默并不谦虚。
  kaltix三人组说掌握的技术,确实是针对峰语的pagerank去做的提升。但bing同样在网页页面权重方面有自己的专用算法,搜索引擎本质上的共性让kaltix技术的融入并不存在问题。
  问题在于,如何将kaltix三人组纳入旗下。这可不是简单地把kaltix三人组挖过来那么简单,而是对峰语和bing相对此消彼长的“骚操作”。
  既然是此消彼长,宁子默不介意亮亮肌肉。
  用迅雷不及掩耳之势,拿下三人!
  于是,这一番大数据搜索的延伸场景摆在2003年这个时代,已经不足以用惊艳来形容。
  包括霍夫曼在内,办公室里呆着的四人一幅“懵逼”的样子盯着宁子默,让宁子默一时间有种“说过了”的感觉。
  确实,刚刚讲的东西对眼前的四人而言。
  太超前了!
  他们的理解,
  或许还跟不上。
  没想到赛普突然张了张嘴,小心翼翼地说,“宁,我们三人曾就峰语搜索引擎讨论过搜索引擎技术的发展。本以为我们的展望已经十分超前,没想到你铺开在我们面前的那副画卷完全超越过我们曾经的想象。”
  眼前这位叫做宁的年轻人,不仅仅是大名鼎鼎的倍宝coo,竟然还是【领赢】和【myspace】的联合创始人。
  他已经在过去的数个项目中展现了他的创造力,却没想到他在搜索引擎这么专业的领域竟然有着超越这个时代的独到见解。
  他关注的不仅仅是技术,更是科技,或者说互联网技术在人类文明未来的发展中所起到的关键作用。
  如果说以前很多人问自己-搜索引擎可以干什么,自己的回答最多会比宁给出的答案更好一些:
  “搜索引擎可以帮你更快速找到更专业、更详尽的答案。”
  但是今天过后,赛普觉得他或许会给问出问题的人一个更好的答案。
  或者说,今天过后,他突然给不出别人一个答案。
  搜索引擎可以做什么?
  宁已经讲得清清楚楚,
  但那个未来,
  离现在确实还很远。
  想到这里,赛普鼓起勇气问到,“宁,你说描绘的画卷绝对是搜索引擎未来最值得去探索的发展方向。”
  抱歉地点了点头,赛普讪笑着说,“并不是说我不看好你所说的未来,而是我意识到你所说的那个未来,离我们有些远。它一定会用到大量的新技术去实现,而那些技术并不是一个简简单单的团队可以完成的。
  甚至就连目前在搜索引擎领域十分领先的峰语,就算它有足够的技术积累,也不能在短期内达成你所说的那个未来。单单如何将网页文件串联成数据,并以数据库查询的方式来实现搜索,都是个目前短期内难功课的难点。”
  “梦想总是要有的,要不然怎么去一步一步实现它?”
  宁子默把有关梦想的话变了个说话,就在赛普表态的同时,他已经想到了更深层次的东西。
  宁子默明白,有一些人,仅仅只靠画饼是不能完全说服的。
  自己必须拿出完全体来对付这帮同样有梦想的年轻人!
  宁子默自信地笑笑,乘着抿一口咖啡的时间在脑子里将峰语搜索的关键技术汇集成册。
  把杯子从嘴边拿开的时候,宁子默脑子里有关峰语搜索关键技术的封印,
  已然打开!
  “说到搜索,人们往往会简单地认为搜索只是抓取爬虫从网络上抓取的结果。但实际上,搜索并没有人们想象的那么简单。”
  宁子默将杯子轻轻地放在桌上,笑着扫了三人一眼,细细地解释到:
  “我们谈到大数据搜索,其核心一定是体量极大的数据量。这种体量的数据存储、索引和检索,已经不单单是数据库结构能去实现并解决的。
  大数据量的数据存储和搜索一定要有对应的文件存储检索系统,它必定是一个面向大规模数据密集型应用的、可伸缩的分布式文件系统。
  我们【bing】除了在搜索和爬虫上用心外,最核心的部分还是背后那套围绕在bfs(bingfilesystem)文件系统的核心技术体。这套系统的设计目标,与许多传统的分布式文件系统有很多相同之处。比如,性能、可伸缩性、可靠性以及可用性。
  但bfs的还是以应用负载情况和技术环境的分析为基础着重考虑,不管现在还是将来,bfs和早期的分布式文件系统的设想都有明显的不同。所以我们重新审视了传统文件系统在设计上的折衷选择,衍生出了完全不同的设计思路。
  首先,组件失效被认为是常态而不是意外。bfs需要管理成百上千存储机器,同时被相当数量的用户终端机访问。bfs组件的数量和质量导致在事实上,任何给定时间内都有可能发生某些组件无法工作,某些组件无法从它们目前的失效状态中恢复。
  当我们遇到过各种各样的问题,比如应用程序bug、操作系统的bug、人为失误,甚至还有硬盘、内存、连接器、网络以及电源失效等造成的问题。所以,持续的监控、错误侦测、灾难冗余以及自动恢复的机制必须集成在gfs中。
  其次,以通常的标准衡量,我们的文件非常巨大。数gb文件都可能非常普遍。每个文件通常都包含许多应用程序对象,比如web文档。
  当我们未来需要处理快速增长并由数亿个对象构成的、数以tb的数据集时,采用管理数亿个kb大小的小文件的方式是非常不明智的,尽管有些文件系统支持这样的管理方式。因此,设计的假设条件和参数,比如io操作和block的尺寸都需要重新考虑。
  第三,绝大部分文件的修改是采用在文件尾部追加数据,而不是覆盖原有数据的方式。对文件的随机写入操作在实际中几乎不存在。一旦写完之后,对文件的操作就只有读,而且通常是按顺序读。
  大量的数据符合这些特性,比如:数据分析程序扫描的超大的数据集;正在运行的应用程序生成的连续的数据流;存档的数据;由一台机器生成、另外一台机器处理的中间数据,这些中间数据的处理可能是同时进行的、也可能是后续才处理的。
  对于这种针对海量文件的访问模式,客户端对数据块缓存是没有意义的,数据的追加操作是性能优化和原子性保证的主要考量因素。
  第四,应用程序和文件系统api的协同设计提高了整个系统的灵活性。比如,我们放松了对bfs一致性模型的要求,这样就减轻了文件系统对应用程序的苛刻要求,大大简化了bfs的设计。
  bfs还引入了原子性的记录追加操作,从而保证多个客户端能够同时进行追加操作,不需要额外的同步操作来保证数据的一致性。”
  端起咖啡又喝了一口,宁子默已经习惯了身边这四人目瞪狗呆的状态。
  放下杯子,宁子默再也懒得去解释那些技术细节,但还是提点到:
  “bfs一早就规划了四大核心技术体,其中涵盖了第一个部分的分布式基础设施,包含的模块有文件系统(file),分布式锁服务(chubby)和数据化序列协议(protocolbuffer)。
  而第二部分是分布式大规模数据处理模块,其中包含分布式运算程序的编程框架和对应的数据查询语言。他们或许和sql和类似,但实际上它应该被称之为dsl(domain-specificlanguage)。
  第三部分则是分布式数据库技术,它包含的模块就有分布式数据存储系统(bigtable)和数据库分区系统(sharding)。
  最后一部分当然包含数据中心优化技术,这些技术中包括综合考虑的数据中心高温化,还有电池与服务器相应整合技术等。”
  撇了撇嘴,宁子默皱着眉头说,“搜索引擎是一个全盘技术的考虑,但我仅仅只举了一个很简单的例子,并且其应用范围还只是在网页搜索结果当中,并没有提及一整个生态的整体考虑。
  但我所说技术方面的内容,远比我现在讲给你们听的内容要复杂的多。每一个单项里都会包含大量工作人员相应的工作成果,确实不是短期内可以去实现的。
  但好在我们【bing】团队的目标明确啊。”
  “梦想还是要有的,万一实现了呢?”宁子默撇着嘴挑了挑眉毛。
  这个轻挑的动作,在kaltix三人组的眼里却郑重如斯。
  办公室里鸦雀无声,除了必要的眨眼,好半天都没有一个人有多余的动作。
  大概是忍受不住这种沉重的气氛,霍夫曼赶忙站起身来,去门口招呼人帮忙添上几杯咖啡。
  霍夫曼也算看出来了,宁子默今天多少都带点“火气”,所以平日里一沾即过的风格变得凌厉无比。接连的前瞻和技术开诚布公地公示出来,定然让他斯坦福大学的三位学弟有些承接不住。
  待人送来新的咖啡,霍夫曼才赶忙招呼道,“来,先喝点东西消化消化。宁原来在倍宝带团队的时候就是这样的风格,每一次他有一个新的方向时,总是向着那个方向勇往直前。
  这么两年来,我从未见他失败过。但为什么不会失败,相信你们刚刚也都看到了。那是因为他在每一个细节的把控方面都已经做到了极致,这才有我们步步为营的每一次胜利。”
  赛普明显是三人里边拿主意的那一位,霍夫曼话音刚落,赛普就点了点头。
  虽然一直都是那位年轻的宁在说话,但是赛普总是觉得自己的嗓子有些痒。
  咳嗽一声看了看身边的同伴,见他们都轻轻地点了点头,赛普清了清嗓子说到,“宁,我们已经清楚地看到你描绘的未来,也如同霍夫曼学长说的那样,明白你在计划的每一个细节都十分重视。
  我想,经过你这一番讲述后,我们就只剩下一个问题。那就是,如果我们加入【bing】,那么在前期这段时间,我们能为【bing】做些什么?”
  成了!
  没有多余的感叹。
  宁子默在做之前就笃定会是这样的结果,降维打击不仅仅是让人屈服,其实还可以是用能力去征服别人。
  要不然人马星的舰队开到地球的时候,为什么总有人类想要成为三体人呢?
  当然,赛普他们并不是这样的心思,而是他们被自己说的有些找不到自己的方向了。
  既然别人都已经愿意加入团队,宁子默的态度自然温和不少:
  “对于整个bing来讲,从哑虎搜索引擎部门跳槽而来的陆奇先生有足够的能力去掌控大局。但在细枝末节方面,我们需要足够多的专家来实现技术。
  和峰语一样,bing也有自己的pagerank算法。但目前搜索引擎的优化方面,我们需要专家。这就是我让霍夫曼帮我物色人选的主要目的,而你们就是霍夫曼为我们【bing】物色的技术专家。所以,我想要听听你们在搜索领域有哪些特长。”
  尽管知道kaltix的技术核心是一套包含三个技术的算法,就算知道这三个技术是二次外推,blockrank和自适应pagerank。宁子默依旧要做出足够的姿态。
  赛普点了点头,笑着说,“好的,宁,那么由我来向你详细的介绍一下我们的kaltix。”
  搜索引擎并不是宁子墨擅长的范围,但前世对峰语的崇拜驱使宁子默对峰语的技术有过相当的研究,这些积累的搜索知识让宁子默在和赛普的沟通中并不吃力。
  kaltix是赛普三人基于峰语核心pagerank技术的新兴搜索排序技术,它基于个人兴趣的搜索结果排序方式,可以讲搜索引擎速度提升到原有速度的五倍。
  它有三项核心技术……
  就算知道这些,宁子默细细听完就觉得自己淡定不起来了。
  也难怪前世里的峰语在2004年会有飞速的发展,完全是因为收购并消化了kaltix的核心技术,而kaltix对峰语搜索的提升是显而易见的。
  赛普的讲解,让宁子默觉得自己捡到宝了,不由地夸赞到,“你们的技术核心思想是基于用户体验的搜索排序方式,这与我重视旗下产品的“交互体验”几乎是一样的要求。你们技术的核心其实也是‘交互体验’,不仅是技术的提升更是站在用户角度的‘交互体验’的提升。
  这样的技术应用非常有理由客户的便捷实用,从此搜索不再是机器式的反馈结果,而是个性化的反馈用户的真正需求。你们做了一件了不起的事情。”
  “那你觉得,以我们的能力和技术,我们是否可以加入【bing】呢?”
  看着赛普天真地望着自己,宁子默突然很想笑。
  无论如何,这句话都昭示着一个结果。
  自己又一次坑了峰语,
  kaltix小组归心了!