中文搜索引擎指南网

 找回密码
 禁止注册

QQ登录

只需一步,快速开始

搜索
查看: 12722|回复: 0
打印 上一主题 下一主题

Google到底有多大?足足有20亿行代码

[复制链接]
跳转到指定楼层
1#
发表于 2015-9-21 23:48:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
太平洋电脑网

Google的规模到底有多大?

自从Google重组以来,我们才认识到原来这家举世闻名的互联网公司竟然有那么多部门,它的规模、收益、股价、客户群体等数据都说明Google是个十分庞大的互联网帝国。然而这些描述还不够精确,起码对于刨根问底的媒体来说,这些数字太过沉闷了。




于是,近日Rachel Potvin在硅谷举行的一个工程会议上解答了这问题,她估计,如果把Google的所有互联网服务全部算上——包括Google Search、Gmail、Google Maps等,所有这些应用加起来总共有大约20亿行代码。相比之下,Microsoft的Windows系统总代码数大约在5000万条左右,要知道Windows可以说是个人电脑领域迄今为止最复杂的软件了,然而其代码规模还是与Google相差近40倍。



其实把Google和Windows来做比较还是蛮恰当的,就像Windows依靠5000万行代码驱动一样,谷歌的各种服务和应用都依赖数量巨大的代码来运行。据介绍,Google把所有的代码全部储存在一个代码库中,公司的25,000名软件工程师可以随意调用这些代码,可以说,Google把这个代码库当成是一个体量庞大的操作系统。“虽然我不能给出确切的证明,”Rachel Potvin说,“但如果代码是有形实物的话,那Google的代码库肯定就是世界上最大的储存仓库。”

  然而要管理整整20亿行代码并不是件简单的事,GitHub的代码主管Sam Lambert也表示,“这绝对是一项前所未有的挑战,这数字听上去实在太惊人了。”不过Google也有自己的法宝来治理好自家的代码系统,那就是Piper,Google自己搭建的“版本控制系统”。而且,这20亿行代码也不仅仅是向工程师们开放这么简单,事实上,Google提供的是一个相对自由的平台,在这里你可以调用任何有用的代码,甚至是合并使用其中的一部分,反正只要是有需要的话,这个代码数据库就是工程师们的图书馆,所以Google的工程师们总是很乐意开展新的项目。



构建和运行如此庞大的系统(Piper)需要的不仅是知道怎么干,而是能不能这么干,对于Piper来说,强大的运算能力才是实现的关键。Piper想要掌控的是高达85TB的超庞大数据库,要知道Google的25,000名软件工程师大概每天向数据库提交超过45,000次请求(或修改),Piper的管理和计算能力就显得无比的重要。与此同时,Piper还需要极力消除软件工程师的负担,它必须让工程师把注意力集中在所有的代码上,而不会被其他工程师做出的代码更改妨碍到,当然也不至于妨碍其他工程师的工作,同时还要保证工程师们能够容易地删除数据库中的错误代码。这一切都非常复杂,所以,Google也更新了版本控制系统Piper,改为用更加先进的全自动版本控制软件。它并不是用来写代码的,而是维系代码的“健康”。

  Piper能否让每个人都得益?可以的,但严格来说是每个软件工程师,抑或是每家互联网公司。随着互联网服务的规模日益扩大,每家互联网公司都会遇到像Google那样的需求:管理数量多得惊人的数据和代码,那么有一位像Piper那样的助手就十分有必要。为了能够让更多公司和工程师受惠,Google和Facebook正筹备一个开源的版本控制系统,让所有人都能够大规模地处理代码,这个项目基于一个早已存在的系统“Mercurial”。他们希望能够把Mercurial打造成像Google那样的超大型代码储存库,而两个互联网巨人已经在着手做这件事。




能够处理如此大规模的代码的公司寥寥无几,也并不是所有公司都拥有像Google和Facebook的实力去实现最先进的代码管理模式,而Mercurial的诞生将会改变这一现状,让更多的人受益。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏

Archiver|手机版|小黑屋|教你搜 ( 鲁ICP备16006309号

GMT+8, 2025-6-15 01:15 , Processed in 0.245232 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表