热词世界杯 |
2008-05-22 10:49 出处:和讯网 作者:Sam(编译) 责任编辑:chenjiabj
据InformationWeek网站5月21日报道,雅虎宣称其拥有生产环境中最大的SQL数据库,而且还在继续增长之中。 几年前,雅虎和谷歌一直在谁拥有最大的页面索引的问题上争吵不休,直到2005年谷歌声称自己的索引量为雅虎的三倍才最终告一段落。而此后,双方又继续就搜索的相关数据展开新一轮竞争。现在,雅虎又试图通过其他方面的成就来获得业界的认同:他们声称自己拥有生产环境中最大的SQL数据库。 雅虎负责数据业务的副总裁Waqar Hasan说“这是全球第一次有一家运营中的公司数据库能够达到PB(皮字节)级”“我们的数据库容量足以达到几十皮,而这也正是我们2009年的目标。” 1皮字节(petabyte)等于1000太字节(terabyte),等于100万吉字节(gigabyte),等于1万亿兆字节(megabyte)。这个度量单位对于普通人来讲简直就是天文数字,当它出现在微软的Word 2007中时甚至都被认为是错误的拼写。 Hasan 说“我们的数据库规模不仅要比从事传统产业的公司大出很多,甚至对互联网巨头来说,也是无法企及的。”这是因为用户在我们网站上的平均停留时间是在谷歌上停留时间的两倍,微软的三倍。 雅虎所搜集的数据指的是结构数据,而非电子邮件和其他文档的非结构数据。“这些数据都是关于用户如何使用我们网站的,包括广告收益和用户体验。”通过这些数据,雅虎就能够更好的了解用户,并为他们设计更好的个性化服务,也能够为广告商提供更为精准的广告投放。“我们管这叫做深度分析。而我们的技术优势就在于能够很容易的进行这种所谓的‘深度分析’。” 雅虎的数据库都是基于英特尔的服务器建立的,他们拥有巨大的服务器群。Hasan解释道“传统产业通常都会使用巨大的对称多处理服务器。而我们则是将许多台较小的服务器组合成为机群。” 雅虎的数据库技术是与一家位于西雅图的名为Mahat的技术公司合作的。当时这家公司刚刚成立,而雅虎则于2005年11月悄悄的将其收购。 雅虎利用所谓的“PostgreSQL”引擎来代替传统的查询方法,并专门为他们的硬件设计了特定的代码。这就使得他们取得了硬件和软件上的双重创新。例如,SQL数据库是由表格组成的,而表格则是由行、列构成的,因此数据通常都是一行一行排列的,而雅虎却选择了以“分散列”来存储数据。 Hasan说“我们通过列来组织数据。因此在进行深度分析时,你可以很轻松的选择对你有用的数据,从而大大提高查询效率。” 雅虎也采用了更为高级的数据压缩和平行向量查询技术。 谷歌虽然也采用了机群的方式来组织数据库,但是Hasan说“雅虎的方法更为先进,因为我们能够把程序的成本降到最低。”“在谷歌的BigTable数据库中,你需要写一些C++和Java的代码来实现一些功能。而我们的数据库则只需要一些简单的SQL语句就可以完成相同的操作。” 雅虎之所以要开发这样的数据库是由于现有的可供购买的数据库都不能够满足他们的要求。Hasan说,现有的数据库大都只能达到约25太字节的容量,最高的也不过100太字节。而“我们需要的数据库是它的100倍还多。”“我们自己开发数据库的另一个原因在于成本。即使同样在100太字节的状态运转,我们的数据库的执行效率也是现有产品的10倍到20倍。这是因为没有人比我们更了解自己的需求。” 最后,Hasan还通过一组数据来说明了雅虎的数据库有多么庞大:旅游产业的Sabre系统每天的处理的事件量约为5000万,信用卡公司Visa的日均处理量为1.2亿,纽交所也不过2.25亿。而我们的处理量则是240亿,足足比他们要大出两个数量级。 |