Reload Original PagePrint PageEmail Page

那些你看不见的 Facebook 创新-看点-虎嗅网

Facebook 十年,深刻地改变了互联网。像 Like(点赞)、Wall(留言墙)和 Timeline(时间线)这些只不过是用户可以见到的产品创新,都是我们每次登陆时候能够见到的。在这些产品的后面,在庞大的数据中心里面,还能找到各种各样其他类型的技术。它们都在用不同的方式改变着我们的世界。

Facebook 在全球的用户数量已经超过 12 亿,Facebook 的工程师们要不断创造新的软件工具、新的硬件设备甚至是新型的数据中心,来为这样大规模的用户群服务。

从某种程度来说,Facebook 所做的事情以前 Google 和 Amazon 也经历过。但是与这两家公司不同的是,Facebook 将许多创新的方案开源,与全世界分享。这里说的不仅仅是软件代码,还有硬件设计,Facebook 的目的就是为了能够帮助到下一下互联网公司。

Cassandra

扎克伯格 2004 年创办 Facebook 时,使用的是开源数据库 MySQL,这是当时的标准 Web 开发工具。但是随着网站用户规模增加至百万级别,扎克伯格和工程师们发现需要用新的办法处理这个用户网络中的大量数据——也就是无穷尽的评论、点赞、图片和帖子。

幸运的是,Amazon 和 Google 之前也发布了相关的研究论文,探讨了他们处理机器中数据的方法。虽然两家公司描述了实现方法,但是却没有公开代码。于是 Facebook 的工程师们基于两家公司的论文内容,设计了一个新的数据库 Cassandra,并且在 2008 年开源了软件代码,这样其他人也可用了。

不过今天 Facebook 很大程度上靠的是 Hbase,这是一个基于 Google 所发布的 BigTable 论文设计的大规模数据库。Cassandra 的价值在于发起了 Facebook 的“NoSQL”数据库设计趋势,并且仍旧为一些知名的互联网公司(比如 Netflix 和 Digg)所使用。目前是全世界第二受欢迎的 NoSQL 数据库,并且是增长速度第三的数据库系统。

Hadoop

在全球重新定义数据分析的开源工具 Hadoop 是 Facebook 的另一个成功故事。基于两篇 Google 的研究论文,Hadoop 最早在 Yahoo 被开发出来,但是 Facebook 才是真正让 Hadoop 取得今天成就的原因。无论是互联网公司还是传统公司,Hadoop 都已经成为分析大规模数据的标准。

Facebook 是雅虎之外最早应用 Hadoop 的公司之一,在过去几年里,社交网络巨人 Facebook 改进了这个平台。比如,Hadoop 在早期有几个重大的系统缺陷,导致无法在日常使用中普及:一次简单的数据分析有可能导致整个服务器集群崩溃。为了解决这个问题,Facebook 的数据团队设计了一款名为 Corona 的工具,将计算进程隔离出来,这样就不会有独立任务拖垮整个系统。

与此同时,Facebook 还将 Hadoop 提高到全球的规模。Hadoop 最早是为单一数据中心的服务器设计,但是 Facebook 的团队让 Hadoop 能够在不同地理位置的不同计算中心上都可以运行。

TAO

和苹果一样,Facebook 是最早一批用闪存存储替代老式硬盘的公司。通过使用一种名为 Memcached 的工具,Facebook 将最频繁调用的数据分布到上千台服务器的内存子系统当中,进一步提高了速度。最近 Facebook 启用了名为 TAO 的工具,进一步利用了内存系统资源。

由 Facebook 设计的 TAO 能够用一个软件工具在硬盘和内存上存储数据。比如一些数据适合存储在硬盘上,另一些适合放在内存上,TAO 能够同时实现这两点。这种混合存储模式在现代的数据中心里面非常受欢迎。TAO 为这两种操作系统了统一的界面。

HHVM

在 Facebook 创办的早期,扎克伯格使用 PHP 语言编写网站代码。这在当时是最流行的编程语言,PHP 可以很迅速、便捷地更新网站,这也是 Facebook 迅速脱颖而出的原因。但是有一个问题:PHP 代码的运行效率不如 C++ 和 Java 语言。

于是 Facebook 的工程师团队开始研发一款名为 HHVM 的工具——Hip Hop Virtual Machine(译注:嘻哈虚拟机)的缩写。这个工具能够将 PHP 代码在执行时转化成机器代码。

硬件

Facebook 的创新并不仅仅限于软件方面,和 Google 一样,Facebook 也在设计自己的硬件设备。而且 Facebook 更近一步,通过开放计算计划(Open Compute Project)与全世界分享其硬件设计。

这一计划在 2011 年时被广受抨击。但是最终却在很大程度上改变了全球的硬件市场。许多公司现在都模仿 Facebook 的做法,直接到亚洲制造廉价的硬件设备,定制零部件。有一些甚至将自己的硬件设计开源。

Facebook 近几年实现了采用室外空气对数据中心降温的做法。不仅有助于缩减成本,而且对环境也有好处。