java高级培训-mysql数据库的优势有哪些

2020年10月24日 22:10

91

    关于“中间件关系数据库子数据库子表”是否被认为是mysql分布式数据库的问题,有一篇国外论文pavlo-mysql-sigmodrec。根据本文的分类,Spanner,TiDB和OB是第一个新的体系结构类型。Sharding-Sphere,Mycat,DRDS和其他中间件解决方案被认为是第二种类型)。基于中间件(包括SDK和Proxy)的传统关系数据库(子数据库和子表)模型是否已分发?我认为是因为存储确实是分布式的,并且还可以实现水平扩展。但是不是“伪”分布式数据库吗?从架构的先进性的角度来看,这有些道理。“伪”主要体现在中间件层和底层数据库之间的重复SQL解析和执行计划生成中,并且存储引擎基于BTree。在分布式数据库体系结构中,这实际上是多余的且效率低下。为了避免分布式数据库的真实性之间的口水战,本文中的mysql数据库专门引用了这种新架构的mysql数据库。


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

java高级培训


    传统数据库面向磁盘设计,基于内存的存储管理及并发控制,不如mysql数据库那般高效利用。


    中间件模式SQL解析、执行计划优化等在中间件与数据库中重复工作,效率相比较低;


    mysql数据库的分布式事务相比于XA进行了优化,性能更高;


    新架构mysql数据库存储设计即为基于paxos(或Raft)协议的多副本,相比于传统数据库主从模式(半同步转异步后也存在丢数问题),在实现了真正的高可用、高可靠(RTO<30s,RPO=0)


    mysql数据库天生支持数据分片,数据的迁移、扩容都是自动化的,大大减轻了DBA的工作,同时对应用透明,无需在SQL指定分库分表键。


    相关推荐:java高级培训-Java阿姆达尔定律



更多鲁班学院java高级培训免费课程试听地址https://www.lubanjava.com/course.html

鲁班学院java高级培训课程https://www.lubanjava.com/course/detail/519.html

加群即可领取鲁班学院最新Java高级培训课程资料学习包 群号:700541970


在线咨询
免费试听
领取优惠
加群交流

扫一扫
加群领取架构师资料

售后反馈
返回顶部