大数据与关系型数据库是否水火不容
网友 畅享网
 

在大多数IT观察家的眼里,大数据通常是指那些规模大到难以用传统关系型数据库处理的数据集。虽然今天关系模型和SQL依然是数据库世界的统治者,但随着大数据时代的到来,越来越多的数据库并非建筑在“关系”之上,且具有更高的可扩展性。

那么,大数据时代关系型数据库何去何从?最近MySQL开源数据库最初版本的开发者,以及MySQL社区开发分支版本——MariaDB的创始人之一Monty Widenius接受ReadWrite的采访,他驳斥了大数据与SQL数据库水火不容的常见观点。以下是对Widenius的采访实录,摘录如下:

问:您能NoSQL和大数据的历史吗?为什么它们会成为人们热议的话题?

答:所谓的“新NoSQL运动”的起源来自三年前Twitter一位员工的博客,此人在博客中称MySQL不够好,他们需要更好的数据库技术,例如Cassandra。

其实Twitter当时在MySQL上遇到麻烦是因为他们没有正确使用。奇怪的是,Twitter给出的问题解决方法在Cassandra和MySQL里都能轻松实现。

这篇文章的原文已经找不到了,但可以参考这篇随后的文章“MySQL将被Cassandra替代”。

目前的情况是这样:

 

 三年过去了,Twitter还在用MySQL存储它最宝贵的资产——推文。Cassandra最终也没能取代了MySQL。

 

NoSQL流行的原因是,与SQL相比,NoSQL非常容易上手,你不需要任何设计就能开始使用它。但这也是有代价的,很快你就会发现对数据失去了控制(如果你不是足够小心的话)。

所以,大多数NoSQL解决方案的优点(在MariaDB出现之前)是:

● 快速访问数据(只要你舍得把文件都丢进内存)

● 快速复制/多个节点的数据扩展

● 弹性架构(可以快速增加新的列)

问:大数据(技术)能帮人们解决什么问题?

更高性能和更灵活的架构是推动NoSQL发展的两大动力。

问:你个人怎么看待大数据,有什么预测吗?

我觉得大多数看好NoSQL的用户都是跟风者。大多数公司根本没有像Facebook和Google那么大规模的数据,而且他们其实也根本就支付不起优化和持续开发数据库所需的专家人力成本。

SQL不会消亡。NoSQL无法取代它。因为几乎所有人都需要关系型数据库来管理数据。

眼下NoSQL也有其用武之地。我认为未来将更多的是SQL和NoSQL的混合应用。

问:为什么人们还在使用NoSQL?主要有哪些原因?

因为NoSQL上手很容易。你甚至不需要学习SQL,使用前也不需要定义数据库架构。当然也有一些人使用NoSQL是因为比SQL的扩展性更好。

问:SQL在性能上能超过NoSQL吗?SQL哪些方面由于NoSQL?

只要数据不能载入内存,SQL通常性能都超过NoSQL。

同样的,NoSQL相比SQL还存在很多不足之处,例如大多数NoSQL方案都是为单一键值访问(single key access)优化的。对于更复杂的事情来说,你必须编写专门的程序,而且性能与SQL无法相比,尤其是那些需要自动响应用户请求的服务(大多数网站提供的服务)

在单机上的性能表现,NoSQL通常都不是SQL的对手。在集群环境中,当所有数据都载入内存,NoSQL在键值查找的速度上通常会比SQL快。

CIO之家 www.ciozj.com 公众号:imciow
关联的文档
也许您喜欢