NewSQL为何使传统关系数据库黯然失色?

如题所述

传统数据库仍旧会有一席之地,至于NewSQL的优势又是什么,简单和大家说说:

首先关于“中间件+关系数据库分库分表”算不算NewSQL分布式数据库问题,国外有篇论文pavlo-newsql-sigmodrec,如果根据该文中的分类,Spanner、TiDB、OB算是第一种新架构型,Sharding-Sphere、Mycat、DRDS等中间件方案算是第二种(文中还有第三种云数据库,本文暂不详细介绍)。

基于中间件(包括SDK和Proxy两种形式)+传统关系数据库(分库分表)模式是不是分布式架构?我觉得是的,因为存储确实也分布式了,也能实现横向扩展。但是不是“伪”分布式数据库?从架构先进性来看,这么说也有一定道理。

“伪”主要体现在中间件层与底层DB重复的SQL解析与执行计划生成、存储引擎基于B+Tree等,这在分布式数据库架构中实际上冗余低效的。为了避免引起真伪分布式数据库的口水战,本文中NewSQL数据库特指这种新架构NewSQL数据库。

NewSQL数据库相比中间件+分库分表的先进在哪儿?画一个简单的架构对比图:

    传统数据库面向磁盘设计,基于内存的存储管理及并发控制,不如NewSQL数据库那般高效利用;中间件模式SQL解析、执行计划优化等在中间件与数据库中重复工作,效率相比较低;NewSQL数据库的分布式事务相比于XA进行了优化,性能更高;新架构NewSQL数据库存储设计即为基于paxos(或Raft)协议的多副本,相比于传统数据库主从模式(半同步转异步后也存在丢数问题),在实现了真正的高可用、高可靠(RTO<30s,RPO=0);NewSQL数据库天生支持数据分片,数据的迁移、扩容都是自动化的,大大减轻了DBA的工作,同时对应用透明,无需在SQL指定分库分表键。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-31
传统关系数据库可能永远不会消失——至少不会很快,但其辉煌的日子已经远去。许多新兴的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可能会死去。本回答被提问者采纳
相似回答