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

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

传统数据库面向磁盘设计,基于内存的存储管理及并发控制,不如mysql数据库那般高效利用。
  中间件模式SQL解析、执行计划优化等在中间件与数据库中重复工作,效率相比较低;
  mysql数据库的分布式事务相比于XA进行了优化,性能更高;
  新架构mysql数据库存储设计即为基于paxos(或Raft)协议的多副本,相比于传统数据库主从模式(半同步转异步后也存在丢数问题),在实现了真正的高可用、高可靠(RTO<30s,RPO=0)
  mysql数据库天生支持数据分片,数据的迁移、扩容都是自动化的,大大减轻了DBA的工作,同时对应用透明,无需在SQL指定分库分表键。
  相关推荐:java高级培训-Java阿姆达尔定律
  如果你想了解更多关于java架构师的专业知识,可以加入JAVA架构师交流群:1037935907,里面都是同行,有资源分享包括但不限于(分布式架构、高可扩展、高性能、高并 发、Jvm性能调优、Spring,MyBatis,Nginx源码分析,Redis,ActiveMQ、、Mycat、Netty、Kafka、Mysql 、Zookeeper、Tomcat、Docker、Dubbo、Nginx)。欢迎一到五年的工程师加入,合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!