导语:2009年开始掀起的“NoSQL革命”在Web领域造成了极大的反响,Twitter也在2010年对其Tweets数据类型引进新生的NoSQL数据库。近日,国外知名网站readwriteweb.com企业频道作者Klint Finley撰写了一篇有关“Twitter放弃MySQL转而使用NoSQL缘由”的文章。
以下为文章摘要:
InfoQ在今年早些时候发布了一个演讲视频,在该视频中,Kevin Weil谈到了公司应如何使用NoSQL。Weil指出Twitter严重依赖于MySQL。然而,当MySQL在许多用途上表现的并不理想的时候Twitter使用了NoSQL解决方案。据威尔介绍,在2009年里,Twitter用户数从1月份的每天约200万人,激增至12月份的每天近5000万人。每天登陆Twitter的用户数量增长已经超过了20倍。目前Twitter每天产生的用户数据在12TB左右,而每年约产生4PB的数据。
Scribe
Twitter的系统日志在一段时间后停止记录转而进行压缩,鉴于此,Facebook开始使用Scribe来替代它。Scribe创建在Facebook开源框架上,Twitter已经发布了一些Scribe的程序以便完善它。现在Twitter使用Scribe来记录Hadoop的日志。Scribe使Twitter记录日志数据变得简单。Scribe还可以比以前记录更多的数据,现在数据日志已经分成了80个不同的类别。
Hadoop
Twitter每天都需要将更多的数据可靠的写入到一个硬盘驱动器上,然而这是不现实的,所以像Twitter这样每天都产生大量数据的机构需要把数据存储在集群之中才能满足其业务需求。Twitter使用了Cloudera的Hadoop为其分配集群。Weil指出,MySQL不能满足Twitter在大规模做需求分析时所要求的效率,为了满足需求,Twitter使用了Hadoop及自己拥有的开源项目,他们称之为FlockDB。Hadoop可以运行分析并找到在FlockBD中相似的社交图数据集合。
Pig
这种Pig脚本可以帮您找到其网站年龄在18至25岁访问者中访问量排名前五位的网页