为什么Facebook时间线使用Mysql

为什么Facebook时间线使用Mysql
首先,请了解一个关于Facebook 时间线不太被众人所知晓的一个事实:它采用Mysql数据库,一个最初被设计成管理少数机器之间被少量应用所使用的一个数据库管理系统。和一个有着8亿多用户,作为世界上第一大社交网站相比,这是怎么做到的呢?
来自即将接管Facebook纽约工程院的Wired和Serkan Paintino的一份报告透露,Facebook使用mysql是为了帮助时间线定址内存需要,因为时间线的工作原理完全不同与新闻订阅。
因为时间线相比于及时地展示更新更注重组织数据,Mysql很适合处理这种应用。尽管数据聚集在存储的地方(如不通过网络连接),但是数据由Mysql管理,而是不由诸如NoSQL或Hadoop Hbase(HadoopHBase是ApacheHadoop项目一部分,详见http://developer.51cto.com/art/201006/203661.htm)。
Paintino告诉Wired说:“很多人对Facebook时间线这个新的功能很吃惊,而且我们还采用Mysql,事实上我们把mysql当作一个很通用的数据处理引擎。并将他作为数据存储引擎使用。事实上mysql是效率很高的。”。
尽管Piantino将它作为一种选择,但是这有时候会超出某种需要。MySQL自从开源之后便成为了小型系统的理想的数据存储方案,但是Facebook被认为过于依赖MySQL,对于一个由哈佛学生在寝室里创建的社交网站(Facebook)这貌似很完美。
但是,MySQL并不适合作为一个大型的数字化的公司的即时信息的数据库平台。Derrick Harris在GigaOm网站上一片文章中列举除了关于Facebook依赖MySQL导致的一连串的问题。同时在GigaOm网站上数据库界权威Micheal Stonebreaker 称这件是会让Facebook命运比死亡还可怕。
Facebook一直致力于改善自身的Mysql使用。甚至还有专门关于相关问题的页面,而且很活跃,参与人员超过74000人。
你是怎么看待facebook使用mysql,尤其是时间线这一方面,这是一颗会爆炸的定时,还是对现有技术的合理使用,请留下评论让我们知道你的看法。

原文:
Why Facebook Uses MySQL for Timeline




A little-known fact about Facebook Timeline: It relies on MySQL, a database-management system that was originally designed to be used in small-scale applications on just one or a few machines — a far cry from the 800+ million users of the world’s largest social network. What gives?


In this report from Wired, Serkan Piantino, who will be in charge of Facebook’s New York engineering office, reveals that Facebook turned to MySQL to help address the memory needs of Timeline, since it works in a fundamentally different way from the news feed.


Since Timeline is more concerned about organizing data neatly than shooting out updates in real time, MySQL is well suited for the app. Although the data is aggregated in the same location as the data is kept (i.e. not over a network connection), that data is managed by MySQL, and not an alternative like NoSQL or Hadoop Hbase.


“A lot of people are surprised that for this shiny new thing for Facebook, we’re using MySQL,” Piantino told Wired. “We treat [MySQL] as a generic engine for data manipulation. We use it as a storage engine. And it’s really efficient.”


Although Piantino frames it as a choice, it could have been made out of necessity. Facebook is thought to rely heavily on MySQL, which is ideal for a small system since it’s open source and free. Perfect for an ambitious Harvard student starting a social network in his dorm room.


However, MySQL isn’t something a massive digital company would pick as its go-to database platform. Derrick Harris expertly lays out the larger issues of Facebook relying on MySQL in this article at GigaOm, where database guru Micheal Stonebreaker calls it a “fate worse than death.”


Facebook is constantly working on improving its MySQL implementation, however, and even has a page dedicated to the issue. It’s quite active, and has over 74,000 members.


What do you think of Facebook’s use of MySQL, and with Timeline specifically? Is it a time bomb waiting to happen, or a savvy use of existing technology? Let us know in the comments.




译文并没有完全采用直译,由于时间仓促加之本人能力有限,如有错误,请指出。

更多技术文章请访问:thinkblog.sinaapp.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值