专家解析:为何传统关系数据库会黯然失色

在当今的IT界,现代的NoSQL和“NewSQL”处理数据的方式已经超越了传统的关系数据库。传统关系数据库可能永远不会消失——至少不会很快,但其辉煌的日子已经远去。

许多新兴的NoSQL数据库的普及,例如MongnDB和Cassandra。这很好的弥补了传统数据库系统的局限性。相对于NoSQL蓬勃发展的情况基于SQL的关系数据库系统确实显得有些死气沉沉。但这是数据库厂商的错,而不是SQL的错。

关系数据库长期以来一直作为企业部署的关键组成部分,但现在出现了更好的选择,以适应新的数据结构和现代化硬件系统。

如IBM、微软和甲骨文等厂商都将继续使用关系数据库主导其金融交易的核心功能。但是NoSQL数据库似乎更适应当今的海量数据时代。如Apache Hadoop和MapReduce技术。

Bloor集团的首席分析师Robin Bloor表示传统的关系数据库已经过时了,其架构需要更新。Bloor的理由是随着多CPU计算机和固态硬盘技术的不断成熟,访问磁盘的数据已经不再重要。固态硬盘的速度更快,所以在磁盘和内存之间读取速率将会加强。

明尼苏达州明尼阿波利斯的一位元数据策略顾问Dan McCreary指出SQL数据库的也有自己的问题,例如其不具备很好的伸缩性。当数据增长超过一台服务器所能承受的极限时,就必须分享或分割数据到多台服务器上,跨越多台服务器是一个复杂的过程。此外如外部链接带来的问题。例如多个表中数据的融合,跨越服务器执行一些操作可能会产生一些问题。

NoSQL的崛起和“NewSQL”的出现

NoSQL将改变数据的定义范围。它不再是原始的数据类型,如整数、浮点。数据可能是整个文件。NoSQL可能会吓到DBA,因为他们担心失去他们自己的域名。

NoSQL数据库是非关系的、水平可扩展、分布式并且是开源的。MongoDB的创始人Dwight Merriman表示NoSQL可作为一个Web应用服务器、内容管理器、结构化的事件日志、移动应用程序的服务器端和文件存储的后背存储。

分布式数据库公司VoltDB的首席技术官Michael Stonebraker表示NoSQL数据库可提供良好的扩展性和灵活性,但他们也有自己的不足。由于不使用SQL,NoSQL数据库系统不具备高度结构化查询等特性。NoSQL其他的问题还包括不能提供ACID(原子性、一致性、隔离性和耐久性)的操作。另外不同的NoSQL数据库都有自己的查询语言,这使得很难规范应用程序接口。Stonebraker表示数据库系统的滞后通常可归结于多项因素。诸如以恢复日志为目的的数据库系统维持的缓冲区池,以及管理锁定和锁定的数据字段。在VoltDB的测试中发现以上这些行为消耗系统96%的资源。

RDBMSes处理的数据大约只有16%

“虽然关系数据库感觉到了新技术到来的压力,但RDBMS仍然在企业计算中占有一些之地。目前RDBMS的市场约350亿美元。其中包括账户的软件许可、服务、技术支持以及维护”,Forrester的分析师Noel Yuhanna说道。

Forrester预计,在企业中的业务数据将有25%是结构化数据,其中至少有65%在使用RDBMS或其他传统关系数据库,而RDBMS在交易数据中,RDBMSes至少有16%的份额。

企业将有75%的业务数据与半结构化文件(如XML、电子邮件和EDI)和非结构化数据(如文档、图片、音频和视频)相结合。

Yuhanna表示,大约有5%的数据驻留在关系数据库之中,其他的都分布在非关系数据库和文件格式之中。

此外,列式数据恐怕将成为数据库领域发生变化的过度候选产品,他们或将使关系数据库产品更简单。

传统的关系型数据厂商比如IBM、微软和Oracle在其RDBMS领域肯定是有新的计划的,他们也不会选择公开自己的计划。

Bloor表示,没有人会注意到RDBMS可能会死去。例如Oracle可能会获取新的数据库技术,但它有可能仍然被命名为Oracle,但已经不会过去的那个Oracle数据库了。