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 

相关文章

关于Java的那些事
Vagrant with oracle
Install Oracle Database 19c on X86
Install oracle products on docker
一图了解Oracle GoldenGate实现Oracle到Oracle复制的前世今生
Exadata最权威最完整的学习资料
Oracle数据库C函数解析
MySQL Cookbook for Oracle DBA
Full Transportable Export/Import(fxtts)
MySQL HA - Innodb Cluster
腾讯微信的PhxSQL数据库
MySQL Group Replication(MGR)
Top