Digg与Reddit弃用MySQL 投奔NoSQL阵营

数据库 MySQL
对于NoSQL来说,很多人会攻击他们目前是作秀,利用关系数据库与云计算的关系来作秀。不过历史的进程还是不会改变的。

现在看来NoSQL阵营的壮大,是不可避免的事实。51CTO之前也曾报道过《云计算时代NoSQL当道 关系数据库日薄西山》。不过关系数据库究竟什么时候退出,还是一个未知数。

Digg和Reddit在这个月都宣布了将转向Cassandra ,因为MySQL对他们来说伸缩性不够了。一些人认为MySQL+memchche不再是事实上的伸缩解决方案了。

Digg在去年九月宣布了他们转向Cassandra的计划,而这一过程在这个月完成了。仔细比对了其它项目——HBase,Hypertable,Tokyo Cabinet/Tyrant,Voldemort,以及Dynomite——,他们最终选择了Cassandra,出于以下的考虑:

每个系统都有它自己的强项和弱项,但是Cassandra综合了各个方面。它提供了面向列的数据存储,因此这相比纯粹的key/value存储又更结构化一些。它通过分布式高可用的点对点集群来运作。尽管目前它的核心功能还有一些欠缺,但相较于其它方案而言,它更接近我们想要的。

Digg几乎重建了整个基础设施,跳出了LAMP栈。主要的起因是MySQL,如同任何其它的SQL数据库一样,它是为读取而作的优化,而不能很好的处理写入:

我们不再使用用MySQL的主要动机,是因为要在一个快速增长看不到头的数据集上,构建一个高性能密集写入的应用越来越困难了。这种增长迫使我们使用水平和垂直的分区策略,这就消除了关系型数据所带来的大部分价值了,同时仍然会产生各种开销...

随着我们系统的扩张,跨越多个数据中心的冗余,网络性能,以及增加容量和无宕机时间的更换失效节点对我们来说就尤为重要。我们计划继续使用廉价硬件,并假设失效是平常的。这些都为MySQL增加了难度。

另一个网站,Reddit,曾经出现过memcacheDB相关的问题,一开始他们通过增加更多的RAM来处理,但他们需要一个长久的解决方案是再明显不过的。他们在十天之内完成了向Cassandra的转换,在Cassandra开发者和社区的帮助以及EC2在测试和部署Cassandra的实例方面的支持下,只用了一名开发者就做到了。

因为许多重要的网站,比如Facebook或Twitter,都已经在使用或者计划迁移到Cassandra,一些人声称MySQL+memcached作为事实的伸缩性解决方案的时代结束了。Todd Hoff并不认为MySQL将会在即将来到的某个时间消失,但它不会再代表首位的解决方案:

从一个小的角度来看,很清楚MySQL+memcached的时代已经过去了。它会坚持一段时间。旧的技术很少完全的消失。一些人仍在骑马。一些人还在使用CD。而因特网也不会完全取代电视这种古老的电磁广播技术,但大多数将会奔向一个新的时代...

我们很清楚MySQL+memcached背后的许多思想都是说到了点子上的,这些都在新的系统里得到了保留,只是它的实现显得有点笨重。开发者参与进来,铺平了缺口,磨掉了棱角,创建了一个新的强健的平台,其本身成为了新生态系统和新时代的根基。

对于Hoff所说的"很清楚MySQL+memcached的时代已经过去了",Mark Atwood表示不同的意见,他认为memcached仍将会长期得到应用:

memcached作为实现伸缩速度的前沿技术这一时代或许"过去"了,但这并不是因为memcached失败,而是因为另外的技术(并不是替代,而是补充)正在涌现...

但这不会是memcached的终结。可以说,这一高性能的key-value存储仍将是一个有用的构建模块,不管是对于其自身,还是作为其它的技术组件的子组件。

我肯定memcache将会继续演化。将会有更多的实现,更多的局限将会被移除,将会有更多的管理工具,还有更多的系统加上memcached的网络协议,而一些ORMs框架在构建时就会假设memcached可用,将会有协议方面的特性以及在共享托管和云环境方面的实现。

Hoff后来在他文章的评论中又说到:"我并不是想说缓存将会消失或者MySQL将会消失。我坚定的相信内存将是新的硬盘这一概念...所过去了的是MySQL与memcached,相辅相成的,作为开发可伸缩系统的默认平台。"

尽管MySQL与memcache仍将会是伸缩性问题的良好解决方案,但已经有新的non-SQL方案产生了,而它们看起来能为超大规模的系统带来更好的结果。

相关阅读

[[9708]]

NoSQL,意即反SQL运动,是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨。NoSQL的拥护者们提倡运用非关系型的数据存储,相对于目前铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入。

现今的计算机体系结构在数据存储方面要求具备庞大的水平扩展性,而NoSQL致力于改变这一现状。目前Google的 BigTable 和Amazon 的Dynamo使用的就是NoSQL型数据库。
NoSQL项目的名字上看不出什么相同之处,但是,它们通常在某些方面相同:它们可以处理超大量的数据。

这场革命目前仍然需要等待。的确,NoSQL对大型企业来说还不是主流,但是,一两年之后很可能就会变个样子。在NoSQL运动的最新一次聚会中,来自世界各地的150人挤满了CBS Interactive的一间会议室。分享他们如何推翻缓慢而昂贵的关系数据库的暴政,怎样使用更有效和更便宜的方法来管理数据。

“关系型数据库给你强加了太多东西。它们要你强行修改对象数据,以满足RDBMS (relational database management system,关系型数据库管理系统)的需要,”在NoSQL拥护者们看来,基于NoSQL的替代方案“只是给你所需要的”。

原文标题:Digg and Reddit Have Joined the NoSQL Camp

【更多关于数据库发展的趋势性报道】

  1. 云计算使关系数据库逐渐落伍
  2. 2009年云数据库的开发和应用前景
  3. 关系数据库的末日是否已经来临
  4. 超越关系型数据库 pureXML技术应用及展望
  5. 新兴数据库打破整个旧规则
  6. 探寻关系数据库和ORM的最佳替代者
责任编辑:彭凡 来源: InfoQ
相关推荐

2010-03-16 13:47:23

DiggMySQL

2010-05-26 14:16:45

替代MySQL

2010-03-16 14:05:19

Cassandra

2011-05-13 09:46:20

MySQLNoSQL

2013-06-28 09:23:00

iOSDiggDigg Reader

2020-12-03 18:29:30

KubernetesDocker容器

2009-06-30 13:54:10

微软MSNQQ

2011-04-06 11:21:25

PHPPython

2023-10-12 07:46:02

2011-03-23 09:40:37

Google GearChrome

2023-09-22 16:54:42

GNOME 45系统

2022-04-08 16:14:21

FedoraBIOS32 位操作系统

2021-06-04 05:21:19

KubernetesDocker容器

2022-06-03 09:41:03

DockerKubernetes容器

2013-08-15 10:23:22

Borland

2011-05-12 10:45:30

UbuntuEucalyptusOpenStack

2012-06-13 00:00:00

云计算NoSQLPHP

2012-06-29 10:22:36

系统架构

2020-12-18 09:23:41

KubernetesDocker

2020-10-28 07:03:11

NodeSassDart Sass
点赞
收藏

51CTO技术栈公众号