关系型数据库尚能饭否?NoSQL、NewSQL谁能接棒?
|
NewSQL是对各种具有分布式可扩展的数据库的简称,它继承了NoSQL对海量数据的处理能力,同时还保持了传统关系型数据库对SQL和ACID事务的支持。NewSQL的关注重点在于混合式(Hybrid)数据库,它们更倾向于找寻不再区分OLTP与OLAP查询的多模式数据库架设方案。 在2016年,Andrew Pavlo与Matthew Aslett发布了一篇论文:《What’s Really New with NewSQL?》,在文章他们将NewSQL划分为3个大类:新架构(New Architecture)、透明化分片中间件(Transparent Sharding Middleware)和云数据库(Database-as-a-Service)。 论文参考链接: https://db.cs.cmu.edu/papers/2016/pavlo-newsql-sigmodrec2016.pdf 1、新架构 这一类NewSQL是全新的面向分布式的架构设计的数据库系统。 它们一般使用share-nothing的架构,支持多节点并发控制、高度容错的自动化数据副本复制、流控以及分布式查询处理等特征。 由于它们是天生面向分布式多节点而设计的系统,因此对于查询优化和节点间的通信协议等处理的更加出色。举例来说,NewSQL的数据库的多数据节点间可以直接通信,而无需依赖中心节点。 除了Google的Spanner,其他类似的数据库都需要自行管理数据在磁盘和内存中的存储与分布。这意味着该类型的数据库系统负责将查询发送到数据节点,而不是将数据复制到请求节点以减少网络传输。 由于采用了全新的架构设计和存储引擎,并未充分经过时间验证,所以企业的技术选型者们格外的谨慎。同时,又因为有运维新一代NewSQL经验的工程师数量也较少,所以相比于关系型数据库,当前的使用者还相对小众。很多企业目前都会尝试跟进全新架构的NewSQL,但尚未迁移核心系统。 最典型的新架构类型的产品是Google的Spanner以及国产数据库TiDB。 2、透明化分片中间件 透明化分片数据库中间件允许应用将数据分片写入多数据节点,但数据节点仍然采用面向单数据节点的关系型数据库。透明化分片中间件使用中心组件用来路由数据操作请求、协调事务、管理数据分布及复制数据副本。整个集群对外是一个逻辑实例,应用往往无需改动即可平滑使用。 透明化分片数据库中间件的核心优势是兼容性,它可以成本较低地在系统现有的单机关系型数据库与分片中间件之间切换,而无需开发者做任何代码上的改动。它们旨在充分合理地在分布式的场景下利用传统关系型数据库的计算和存储能力,而并非实现一个全新的关系型数据库。 这样既可利用传统关系型数据库的稳定性和兼容性,又可在其基础之上增加分布式场景的处理。在原有基础上增量而非颠覆是这类NewSQL产品的核心理念。由于开源及流行度的原因,基于MySQL协议的数据库中间件是最为普遍的。 (编辑:PHP编程网 - 湛江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

