Focus On Oracle

Installing, Backup & Recovery, Performance Tuning,
Troubleshooting, Upgrading, Patching

Oracle Engineered System


当前位置: 首页 » 技术文章 » MySQL

MySQL Cookbook for Oracle DBA

这是一个适合Oracle DBA的文档,共200多页。如果你对Oracle非常熟悉,看这个文档也非常简单。点击此处下载。如需word版本,请扫描首页二维码,得到邮箱地址,然后发邮件给我即可。


开始扯淡

MySQL各个版本的官方的文档都可以从下面的链接找到。有时间的话,建议从白皮书看起。本文只是从Oracle DBA的角度来写的,纯属扯淡。
https://docs.oracle.com/cd/E17952_01/index.html
MySQL虽然在互联网公司用的还不错,有些功能比oracle要方便,比如组复制(MySQL Group Replication)。但和Oracle比起来,整体还是有很多不足。毕竟代码在哪放着呢。Oracle数据库是通过C语言实现的,有2500万行代码,并且当前版本的功能可以兼容之前任何一个版本的功能。MySQL在每个版本都有改进,在跨版本兼容性方面还是不怎么好。更别说数据库的备份了。

关于MySQL

MySQL原本是一个开放源代码的关系数据库管理系统(DBMS),原开发者为瑞典的MySQL AB公司,该公司于2008年被Sun收购。2009年,甲骨文公司(Oracle)收购Sun公司,MySQL成为Oracle旗下产品。
随着人们对数据一致性的要求不断的提高,越来越多的方法被尝试用来解决分布式数据一致性的问题,如MySQL自身的优化、MySQL集群架构的优化、Paxos、Raft、2PC算法的引入等等。
而使用分布式算法用来解决MySQL数据库数据一致性的问题的方法,也越来越被人们所接受,一系列成熟的产品如PhxSQL、MariaDB Galera Cluster、Percona XtraDB Cluster等越来越多的被大规模使用。

随着官方MySQL Group Replication正式发布,使用分布式协议来解决数据一致性问题已成为主流的方向。MySQL高可用问题被更好的支持,这个以后会成为MySQL高可用的标准,使用的企业也会越来越多。


MySQL介绍

MySQL在过去由于性能高、成本低、可靠性好,已经成为最流行的开源数据库,因此被广泛地应用在Internet上的中小型网站中。是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS (Relational Database Management System:关系数据库管理系统) 应用软件之一。随着MySQL的不断成熟,它也逐渐用于更多大规模网站和应用,比如维基百科、Google和Facebook等网站。


被甲骨文公司收购后,Oracle上调了MySQL商业版的售价,且甲骨文公司不再支持另一个自由软件项目Open Solaris的发展,因此导致自由软件社区们对于Oracle是否还会持续支持MySQL社区版(MySQL之中唯一的免费版本)有所隐忧,因此原先一些使用MySQL的开源软件逐渐转向其它的数据库。例如维基百科已于2013年正式宣布将从MySQL迁移到MariaDB数据库。MySQL的创始人麦克尔·维德纽斯 (Michael Widenius) 以MySQL为基础,成立分支计划MariaDB。


MariaDB最大的问题是没有解决存储引擎的问题。Oracle早年收购InnoDB引擎,Percona收购TokuDB引擎,可以看出存储结构对于数据库的重要性。MariaDB 10.X目前集成的5.6 InnoDB存储引擎的版本,以后整合InnoDB引擎的难度可能会越来越大。


后来,腾讯公司开源了PhxSQL,这是基于Paxos解决方案,PhxSQL通过Paxos实现Log Replication,Leader Election解决了一致性和选主问题。


自从Oracle官方推出Group Replication,Innodb Cluster之后。MySQL的性能、高可用、强一致数据性都有不俗的表现。比MariaDB、Percona通过Galera实现的集群高可用性都要好。官方是通过paxos实现的原生的高可用。未来其他第三方的MySQL产品的前途还不明朗。


Reference

https://dev.mysql.com/doc/refman/8.0/en/

https://dev.mysql.com/doc/internals/en/

https://dev.mysql.com/

https://dev.mysql.com/doc/


关键词:dba mysql oracle 

相关文章

基于PDB的Active Data Guard(Oracle 21.7+)
在Oracle数据库中使用REST
OGG from MySQL to Oracle
MySQL数据库高可用实践
Oracle数据库容灾之两地三中心实践
低代码开发用Oracle Apex,看这篇就够了
Oracle Database 20c之SQL宏
Java beginner for Oracle DBA
Oracle Database 20c之区块链表
Oracle Database 20c的一些微妙变化
关于Oracle的Sequence,你需要知道的
Oracle数据库优化方面资料
Top