Yahoo! 的数据仓库: 世界上最大最忙

微软对 Yahoo! 的收购持久战可能让很多人都新闻疲劳了。但今天看到的这个关于 Yahoo! 的技术新闻还是值得看一下的:Size matters: Yahoo claims 2-petabyte database is world’s biggest, busiest 。Yahoo! 的 VP Waqar Hasan 在文中披露 Yahoo!的数据仓库当前容量为 2PB。用于分析每月5亿的用户访问行为,每天处理 240 亿次的事件,号称世界上单个最大、最忙的数据库。

尽管有的数据仓库容量要比雅虎的大。但那些 DB 或是存储非关系性数据,或是存储的压缩后的原始数据,不能进行即时分析,雅虎之前的也有数百 T 这样的数据。眼下 Yahoo!数据仓库存储的是结构化、可分析的数据。预计下一年可能膨胀到数十 PB 。eBay 号称数据总量有 6PB , 不过根据一些消息来看,单个最大的 DB 只有 1.4 PB。

Yahoo! 在 2005 年买了一家叫 Mahat Technologies 的初创公司(就是 Waqar Hasan 操刀的),这家公司以 PostgreSQL 数据库为基础,开发了一个新型 DB,其特点是 基于列 的而不是 基于行 的模式。不难理解,这样数据写入的速度会慢下来,但是读取的速度会快很多【去年的侠客行上,雷鸣在演讲的时候讲过他在百度的时候做的一个优化的例子。和这个思想非常相似,所以当时我说对我”有启发“】。Yahoo! 买了之后,对该产品进行了持续性的改进(内部代号: ELCARO ?) ,比如压缩,并行处理能力加强、优化查询等等特性的添加改进。而针对使用者的接口仍是 PostgreSQL 。这应该也算 PostgreSQL 在顶级企业又一个成功案例。

这么大的数据库并没有采用传统的 SMP 架构构建,而是采用普通 PC 作集群(用了不到 1000 台) 。很明显这是 Share Nothing 而不是 Share Storage 的 DB 集群。通过上述独特的设计方式,能够对此海量数据进行有效的分析,这是个不小的技术革新,也是与 Google Map Reduce 完全不同的计算模式。

让人感慨的是 关于世界上的超大数据库 一文中罗列的数据,现在看起来已经并不惊人了。以前总说信息爆炸,这个时代刚刚来临。

EOF


10 thoughts on “Yahoo! 的数据仓库: 世界上最大最忙

  1. wanghai

    yahoo现有的数据仓库基本上还是10年以前开发的,不过现在正在尝试使用PGCLUSTER来替代,yahoo也尝试过使用Hadoop来进行DW的升级,但是似乎hadoop并没有达到预期效果。

    Reply
  2. Fenng

    @accesine
    Hbase 存储非结构化数据很适合,存储关系型数据就不是非常合适了,这也是 Yahoo! DW 目前还没有用 Hadoop 的一个主要原因吧

    Reply
  3. zz

    Everest is built on top of PostgreSQL and is a 2PB database.
    插张相关图片:http://farm3.static.flickr.com/2377/2520304654_b25ec0fa44_b.jpg

    Reply
  4. wall

    看来基于列模式的逐渐流行了?也许2维的数据库今后也无法适应大数量的爆炸了,会不会出来个多维度直接钻取的DB?拭目以待……

    Reply
  5. jametong

    列存储比较合适做数据仓库类的应用,,对于需要取出几乎所有列的查询, 行存储还是有很大的优势的..
    另: Hbase,BigTable,Cassandra都是行列混合的存储. column family之间类似于列存储,column family内部类似于行存储.

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *