数据库即将死去 -- 转《NoSQL的数据库技术革命让我们对SQL说不》

在javaeye上看到这样一幅帖子,让我想起了banq08年9月发的一篇帖子“数据库已死”.

以下是转帖内容。

数据库革命的味道慢慢弥漫了起来,NoSQL的数据库技术革命好像一个现代IT业版的波士顿倾茶事件正在策划之中,而NoSQL的数据库技术革命让我们对SQL说不!

  在NoSQL运动的最新一次聚会中,来自世界各地的150人挤满了CBS Interactive的一间会议室。

  就像当年波士顿的爱国者为反抗英国重税的行动一样,NoSQL的支持者们从各地涌来,分享他们如何推翻缓慢而昂贵的关系数据库的暴政,怎样使用更有效和更便宜的方法来管理数据。51CTO.com之前曾有过一篇《关系数据库的末日是否已经来临》文章指出,云计算可能会为数据库技术的发展带来新的契机,如果想在云中获得丰富而随需应变的可伸缩性,你需要一个非关系数据库。

  “关系型数据库给你强加了太多东西。它们要你强行修改对象数据,以满足RDBMS (relational database management system,关系型数据库管理系统)的需要,”Java工具提供商SpringSource公司的首席工程师Jon Travis说,他是本次集会的10位发言人之一,在他看来,基于NoSQL的替代方案“只是给你所需要的”。

  开源的兴起

  反SQL运动的主要倡导者都是Web和Java开发者,他们中许多人都在创业的初期历经了资金短缺并因此与Oracle说再见,然后效仿 Google和Amazon的道路建设起自己的数据存储解决方案,并随后将自己的成果开源发布。现在,他们的开源数据商店管理着成百TB甚至PB的数据,由于Web 2.0和云计算的兴起,无论从技术上还是从经济上他们都无需再返回从前,甚至连想也不用想。

  “Web 2.0的企业应该抓住机会,他们需要可扩展性,”总部设在伦敦的NoSQL会议组织者Johan Oskarsson说,他任职于著名的音乐网站Last.fm,其他的大多数与会者也都是网络开发者。

  Oskarsson说,许多人甚至抛弃了MySQL开源数据库这个长期以来Web 2.0的宠儿,而改由NoSQL的方案来替代,因为优势实在是引人注目。51CTO.com之前曾报道过MySQL创始人宣布创建开源数据库联盟的消息,过度的商业化是MySQL失去原来的优势。

  例如Facebook建立了自己的Cassandra数据商店并且在其网站上重点推出一项新的搜索功能,没有使用到现有的MySQL数据库。据 Facebook的工程师Avinash Lakshma介绍,Cassandra仅用0.12毫秒就可以写入50GB的数据,比MySQL快了超过2500倍。Google也开始公测他们的云数据库Fusion Tables,这是一个和传统数据库完全不同的数据库,主要优势能够简单的解决关系型数据库中管理不同类型数据麻烦,以及排序整合的常见操作的性能问题等。

  开源数据库和NoSQL的数据库技术革命让我们看到了开源的希望,这份希望让我们对SQL说不!
[该贴被ybzshizds于2009-07-08 08:35修改过]

你转的帖子不错,这其实已经是共识,其实我2005年就写了"数据库时代的终结"http://www.jdon.com/artichect/dbover.htm

当时第一个回帖的人就说我疯了。

数据库时代 --->中间件时代 ----->云时代

这是三个不同的时代。

楼主这个帖子很乖巧,还为两个网站做了广告,其实不管怎样,只要所有先进媒体都达成共识,引导中国程序员走上正确的方向,善莫大焉啊。

>>数据库时代 --->中间件时代 ----->云时代

非常认同。虽然只是简单的一句话,但是具有深远的意义啊。

文不对题。
题目是“数据库即将死去”,内容却是关系数据库即将死去。

>>>Cassandra仅用0.12毫秒就可以写入50GB的数据
写入快,并不意味着查询快。
如果光追求写入快,那采用无结构的数据文件最快。

而且这文章很怪。题目是反对所有数据库,内容前一部分是反对关系型数据库,后面露出了马脚,原来是反对MySQL的。

正如我现在问一个单独的文件如何运行的时候,大家会告诉我需要写一个public static void main(String[] args)...而不会跑出来某人告诉我需要补一个if __name__ == "__main__":,除非一个做py的跑错地方,你说是吗?

正如我现在说我要结婚了的时候,大家会问我对方是一个什么样的女孩子,长相和人品如何云云...而不会有人认为我要找个男人结婚,除非同性婚姻已经占据主流了,你说是吗?

又如你的女人某日跟你说她来了大姨妈的时候,你当然会认为她是来月经而不是说她姨妈老人家真要来你家了,你说是吗?

....

够罗嗦吗?其实我只想告诉你,在很多事情上,大家很容易取得认同了,就麻烦你不要钻牛角尖了,事实很明显,现在主流的数据库你能数出来的有哪些,oracle?mssql?mysql?db2?postgres?...是否都是关系数据库?所以大家开口说数据库的时候,就是关系数据库了ok?如果这种简单的相互认同感你都没有,你还来交流什么啊大哥?或者说你连这种简单的认同感都要拒绝而用以刻意表达你的个性的话,这又有多少意义可言呢大哥?

好久不来了,一来就见牛角尖.

我也来钻一点牛角尖,请问中间件是那一年诞生的,关系型数据库那一年诞生的。请先研究好那个在前面那个在后面然后讨论时代问题。
云计算是什么:是高级封装的接口,更高级而已。因为有了高层的东西就要说明底层的已经over了,不知道这个理论是不是所有的人都认可。难道你要说IO操作已经不需要提高了么??
No SQL是指关系型数据库已经走到了尽头了么??请诸位好好看看这个文章。

一种是宏观思维,一种微观思维。

数据库如何发展,甚至包括数据库是不是会死亡,这些问题太复杂。我只说说这文章本身的问题。
1)Cassandra仅用0.12毫秒就可以写入50GB的数据
前面已经说了。再补一点:如果把数据分布,凭现有技术水平,完全可以很轻松地把这个指标提高一、两个数量级。但是,等你要查询时,会怎么样?只用写速度来评述数据库的性能,说明他根本不懂数据库。
2)51CTO.com之前曾报道过MySQL创始人宣布创建开源数据库联盟的消息,过度的商业化是MySQL失去原来的优势。
“创建开源数据库联盟”,怎么就成了“过度的商业化”的起因呢?还讲不讲逻辑?
3)数据库即将死去 -- 转《NoSQL的数据库技术革命让我们对SQL说不》
原文措辞很愤青,楼主的标题更愤。人家还只是对SQL说不,内容也只是说该由一种新型的DB来代替rDB,你就直接喊“数据库即将死去”了。搞技术,还是稳重一点好。

我每次看到banq 老大一些话,总觉的说的有写不太负责,本着严谨的态度,我想说两句,数据库时代的终结,我感觉说的太不负责任了吧,我不否认现在的关系数据库有他的弊端,也在不断的发展中,但是要说终结说的不太负责任了,计算机的发展过程中,任何语言的出现都是他一定原因和优势的,最早的机器语言,然后汇编语言,你现在能说汇编语言已经终结了吗,没有人用了,你不敢说,因为好多人都在用,所以请我们的banq 老大说话严谨一些,因为你老大,你的一句话可能会引来好多看到你的这些不负责任的话的初学者产生误导。