分库分表 or NewSQL数据库?终于看懂应该怎么选!( 二 )
「pavlo-newsql-sigmodrec」 参考链接:https://db.cs.cmu.edu/papers/2016/pavlo-newsql-sigmodrec2016.pdf
基于中间件(包括SDK和Proxy两种形式)+传统关系数据库(分库分表)模式是不是分布式架构?我觉得是的,因为存储确实也分布式了,也能实现横向扩展。但是不是“伪”分布式数据库?从架构先进性来看,这么说也有一定道理。
“伪”主要体现在中间件层与底层DB重复的SQL解析与执行计划生成、存储引擎基于B+Tree等,这在分布式数据库架构中实际上冗余低效的。为了避免引起真伪分布式数据库的口水战,本文中NewSQL数据库特指这种新架构NewSQL数据库。
NewSQL数据库相比中间件+分库分表的先进在哪儿?画一个简单的架构对比图:
传统数据库面向磁盘设计,基于内存的存储管理及并发控制,不如NewSQL数据库那般高效利用;中间件模式SQL解析、执行计划优化等在中间件与数据库中重复工作,效率相比较低;NewSQL数据库的分布式事务相比于XA进行了优化,性能更高;新架构NewSQL数据库存储设计即为基于paxos(或Raft)协议的多副本,相比于传统数据库主从模式(半同步转异步后也存在丢数问题),在实现了真正的高可用、高可靠(RTO
推荐阅读
- 魔兽世界|魔兽世界最新改动,部分表情无法对玩家使用,笑话音频被删除
- 难得一见如此接地气的分库分表全程实践
- 三星Exynos 9820现身Geekbench跑分库,多核跑分略低于骁龙855
- 黑鲨 2出现在安兔兔跑分库!规格配置大曝光!