![Page 1: MySQL Architectures for Oracle DBA's · 2 FromDual FromDual provides neutral and independent: Consulting for MySQL (on-site and remote) Remote-DBA / MySQL operations Support for Galera](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f7b367e708231d44460a4/html5/thumbnails/1.jpg)
www.fromdual.com 1
MySQL Architectures for Oracle DBA's
UKOUG Conference 2011December 5th, Birmingham
Oli SennhauserSenior MySQL Consultant, FromDual
![Page 2: MySQL Architectures for Oracle DBA's · 2 FromDual FromDual provides neutral and independent: Consulting for MySQL (on-site and remote) Remote-DBA / MySQL operations Support for Galera](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f7b367e708231d44460a4/html5/thumbnails/2.jpg)
www.fromdual.com 2
FromDual
● FromDual provides neutral and independent:
● Consulting for MySQL (on-site and remote)● Remote-DBA / MySQL operations● Support for Galera (synchronous MySQL Replication)● Support for MySQL (Basic and Silver)● Training for MySQL
● Consulting Partner of Open Database Alliance (ODBA.org)
● Oracle Silver Partner (OPN)
● More informations at: www.fromdual.com
![Page 3: MySQL Architectures for Oracle DBA's · 2 FromDual FromDual provides neutral and independent: Consulting for MySQL (on-site and remote) Remote-DBA / MySQL operations Support for Galera](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f7b367e708231d44460a4/html5/thumbnails/3.jpg)
www.fromdual.com 3
Our customer
![Page 4: MySQL Architectures for Oracle DBA's · 2 FromDual FromDual provides neutral and independent: Consulting for MySQL (on-site and remote) Remote-DBA / MySQL operations Support for Galera](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f7b367e708231d44460a4/html5/thumbnails/4.jpg)
www.fromdual.com 4
Content
● The LAMP Stack
● History of MySQL
● Open Source
● Branches and Forks
● Move from Oracle?
● MySQL Architecture
● Pluggable Storage Engines
● Differences between Oracle and MySQL
● Scale-Up vs. Scale-Out
● High-Availability solutions
● Architectures put in place
![Page 5: MySQL Architectures for Oracle DBA's · 2 FromDual FromDual provides neutral and independent: Consulting for MySQL (on-site and remote) Remote-DBA / MySQL operations Support for Galera](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f7b367e708231d44460a4/html5/thumbnails/5.jpg)
www.fromdual.com 5
The LAMP Stack
PHP
Who is behind?
Alternatives
MySQL
Apache
Linux
We are the Web!
Zend Technologies
MySQL/Oracle
Apache Software Foundation
Linux Foundation
Perl, Java, Python, Ruby
PostgreSQL, others
Lighty (lighttpd), IIS
Windows, Solaris, BSD, others
![Page 6: MySQL Architectures for Oracle DBA's · 2 FromDual FromDual provides neutral and independent: Consulting for MySQL (on-site and remote) Remote-DBA / MySQL operations Support for Galera](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f7b367e708231d44460a4/html5/thumbnails/6.jpg)
www.fromdual.com 6
History of MySQL
2000 01 02 03 04 2005 06 07 0908 2010
Oct 2005: Oracle buys Innobase OY
InnoDB Friday
...
1995: project started by Monty Widenius, David Axmark and
Allan Larsson
Jun 2000: GPL
Oracle tries tobuy MySQL
IPO is announced for 2008
Jan 2008: Sun buys MySQL for USD 1000
Mio
2008: Branching of MySQL begins
Jan 2001: v3.23 GA
Apr 2009: Oracle buys Sun for USD
7400 Mio
![Page 7: MySQL Architectures for Oracle DBA's · 2 FromDual FromDual provides neutral and independent: Consulting for MySQL (on-site and remote) Remote-DBA / MySQL operations Support for Galera](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f7b367e708231d44460a4/html5/thumbnails/7.jpg)
www.fromdual.com 7
Open Source
● Basics:
● Source code is available and visible (transparency)
● Source code can be changed, adapted or used elsewhere
● Everybody can participate: Communities
● Advantages
● „no“ Vendor Lock-in!
● More flexibility!
● Less costs?
● Better Quality?
● Higher reliability?
● Disadvantages
● Not everything is served on a golden plate: „read the source“!
● Potential for conflicts as soon as commercial interests come into the game
● For me personally important: Know-how transfer, freedom of know-how
![Page 8: MySQL Architectures for Oracle DBA's · 2 FromDual FromDual provides neutral and independent: Consulting for MySQL (on-site and remote) Remote-DBA / MySQL operations Support for Galera](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f7b367e708231d44460a4/html5/thumbnails/8.jpg)
www.fromdual.com 8
Branches and Forks
2009
Jul Drizzle MySQL Fork
Jul ProvenScalingMySQL Branch (†)
Oct OurDelta MySQL Branch
Dec XtraDB InnoDB Branch / Percona Build / Percona Server
May MariaDB/Aria MySQL/MyISAM Branch Fork ?
2010
Google patches
MySQL2008
![Page 9: MySQL Architectures for Oracle DBA's · 2 FromDual FromDual provides neutral and independent: Consulting for MySQL (on-site and remote) Remote-DBA / MySQL operations Support for Galera](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f7b367e708231d44460a4/html5/thumbnails/9.jpg)
www.fromdual.com 9
Switch from Oracle?
Oracle MySQL
It needs some time to adapt (3 - 6 monts?)!
![Page 10: MySQL Architectures for Oracle DBA's · 2 FromDual FromDual provides neutral and independent: Consulting for MySQL (on-site and remote) Remote-DBA / MySQL operations Support for Galera](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f7b367e708231d44460a4/html5/thumbnails/10.jpg)
www.fromdual.com 10
MySQL Architecture
mysqld
MySQL is a multi-thread and NOT a multi-process
application!
Application / Client
Parser
Optimizer
Access Control
Table Manager
Table OpenCache (.frm, fh)
Table DefinitionCache (tbl def.)
Handler Interface
MyISAM Memory NDB PBXTInnoDB ...Aria XtraDB Federated-X
ThreadCache
ConnectionManager
User Au-thentication
CommandDispatcherLogging
Query CacheModule
QueryCache
![Page 11: MySQL Architectures for Oracle DBA's · 2 FromDual FromDual provides neutral and independent: Consulting for MySQL (on-site and remote) Remote-DBA / MySQL operations Support for Galera](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f7b367e708231d44460a4/html5/thumbnails/11.jpg)
www.fromdual.com 11
Pluggable Storage Engines (SE)
Conventional(R)DBMS
= monolithic
MYSQL SE
Handler Interface
ISAM MyISAM BDB ...
built-inMYSQL pluggable SE
InnoDB MyISAM PBXT NDB ...
Handler Interface
plug-in
● The concept of Storage Engines (SE)● A Storage Engine is a database kernel
![Page 12: MySQL Architectures for Oracle DBA's · 2 FromDual FromDual provides neutral and independent: Consulting for MySQL (on-site and remote) Remote-DBA / MySQL operations Support for Galera](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f7b367e708231d44460a4/html5/thumbnails/12.jpg)
www.fromdual.com 12
The most important Storage Engines (SE)● MyISAM / Aria● InnoDB / XtraDB / PBXT (transactional SE)● MEMORY● NDB (MySQL Cluster)● Federated-X (~ Oracle DB-Link)● CSV, Archive, Blackhole● Spider, etc.
![Page 13: MySQL Architectures for Oracle DBA's · 2 FromDual FromDual provides neutral and independent: Consulting for MySQL (on-site and remote) Remote-DBA / MySQL operations Support for Galera](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f7b367e708231d44460a4/html5/thumbnails/13.jpg)
www.fromdual.com 13
Migration from Oracle to MySQL
● Application?● Most difficult: PL/SQL● >> 1 Tbyte?
● MySQL Migration Tool-kit helps you● ETL tools help you
![Page 14: MySQL Architectures for Oracle DBA's · 2 FromDual FromDual provides neutral and independent: Consulting for MySQL (on-site and remote) Remote-DBA / MySQL operations Support for Galera](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f7b367e708231d44460a4/html5/thumbnails/14.jpg)
www.fromdual.com 14
Differences between Oracle and MySQL● Characteristics is SE dependent → configuration
● Transactions/Locking is SE dependent
→ InnoDB / XtraDB / PBXT are the closest SE● Some buffers / caches are SE dependent, others are not
→ Configure differently depending on you needs● Connections in Oracle are expensive, in MySQL they are
quite cheap
● Oracle is a multi-process architecture, MySQL is a multi-thread architecture
● Oracle has a fixed size shared memory SGA, MySQL has dynamic memory for the process → can grow!
![Page 15: MySQL Architectures for Oracle DBA's · 2 FromDual FromDual provides neutral and independent: Consulting for MySQL (on-site and remote) Remote-DBA / MySQL operations Support for Galera](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f7b367e708231d44460a4/html5/thumbnails/15.jpg)
www.fromdual.com 15
Other differences between Oracle and MySQL● Oracle has tablespaces / redo log files → in MySQL 1 system
TS (+ 1 tablespace per table) and the transaction log files (ib_logfile<n>).
● Oracle has rman, in MySQL you have many tools (mysqldump, mysql, mysqlbackup, xtrabackup, …)
● Backup in MySQL can be done wrong!
● exp / imp → mysqldump / mysql
● rman → mysqlbackup / xtrabackup
● OEM/Grid Control → MySQL Enterprise Monitor (will be integrated into OEM/GC?)
● RAC → Galera / MySQL Cluster
● Oracle Streams Replication → MySQL Replication
![Page 16: MySQL Architectures for Oracle DBA's · 2 FromDual FromDual provides neutral and independent: Consulting for MySQL (on-site and remote) Remote-DBA / MySQL operations Support for Galera](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f7b367e708231d44460a4/html5/thumbnails/16.jpg)
www.fromdual.com 16
Further differences between Oracle and MySQL● MySQL has different Logs:
● Error Log (= alert.log)● Binary Log (~ archive log)● Transaction Log (~ REDO log, but Binary
Log != Transaction Log)● General Query log (Oracle ?)
● Schema in Oracle: User + Objects● Schema in MySQL: indepent of user● Oracle: Scale-up, MySQL: Scale-out
![Page 17: MySQL Architectures for Oracle DBA's · 2 FromDual FromDual provides neutral and independent: Consulting for MySQL (on-site and remote) Remote-DBA / MySQL operations Support for Galera](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f7b367e708231d44460a4/html5/thumbnails/17.jpg)
www.fromdual.com 17
MySQL Scale-Out vs. Scale-Up
Scale-Out
● Cost● MySQL design● Physical bottlenecks
Scale-Up
● „Relaxation of Constraints“
![Page 18: MySQL Architectures for Oracle DBA's · 2 FromDual FromDual provides neutral and independent: Consulting for MySQL (on-site and remote) Remote-DBA / MySQL operations Support for Galera](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f7b367e708231d44460a4/html5/thumbnails/18.jpg)
www.fromdual.com 18
The MySQL Scale-Out approach
Application
Master
Slave Backup
Load balancer
Slave 1
Slave Reporting
Slave 2
Slave 3
rtwro
...
![Page 19: MySQL Architectures for Oracle DBA's · 2 FromDual FromDual provides neutral and independent: Consulting for MySQL (on-site and remote) Remote-DBA / MySQL operations Support for Galera](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f7b367e708231d44460a4/html5/thumbnails/19.jpg)
www.fromdual.com 19
Active/passive fail-over with SAN
App App App
M'
SAN
Slave1
Slave2
Slave3
Load balancing (LB)
M
VIP
![Page 20: MySQL Architectures for Oracle DBA's · 2 FromDual FromDual provides neutral and independent: Consulting for MySQL (on-site and remote) Remote-DBA / MySQL operations Support for Galera](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f7b367e708231d44460a4/html5/thumbnails/20.jpg)
www.fromdual.com 20
Active/passive fail-over with SAN
● SPOF! App App App
M'
SAN
Slave1
Slave2
Slave3
Load balancing (LB)
M
VIP
!!!
![Page 21: MySQL Architectures for Oracle DBA's · 2 FromDual FromDual provides neutral and independent: Consulting for MySQL (on-site and remote) Remote-DBA / MySQL operations Support for Galera](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f7b367e708231d44460a4/html5/thumbnails/21.jpg)
www.fromdual.com 21
Active/passive fail-over with DRBD
App App App
M'
Slave1
Slave2
Slave3
Load balancing (LB)
M
VIP
DRBD
![Page 22: MySQL Architectures for Oracle DBA's · 2 FromDual FromDual provides neutral and independent: Consulting for MySQL (on-site and remote) Remote-DBA / MySQL operations Support for Galera](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f7b367e708231d44460a4/html5/thumbnails/22.jpg)
www.fromdual.com 22
Active/passive fail-over with DRBD
App App App
M'
Slave1
Slave2
Slave3
Load balancing (LB)
M
VIP
DRBD
![Page 23: MySQL Architectures for Oracle DBA's · 2 FromDual FromDual provides neutral and independent: Consulting for MySQL (on-site and remote) Remote-DBA / MySQL operations Support for Galera](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f7b367e708231d44460a4/html5/thumbnails/23.jpg)
www.fromdual.com 23
MySQL Cluster
Application
Mgm Node 1
Load balancer
Application Application Application Application
SQL Node 1
Data Node 1
Data Node 2
Sw.
Data Node 3
Data Node 4
Sw.
SQL Node 2
SQL Node 3 ...
NDB-API NDB-API
Mgm Node 2
![Page 24: MySQL Architectures for Oracle DBA's · 2 FromDual FromDual provides neutral and independent: Consulting for MySQL (on-site and remote) Remote-DBA / MySQL operations Support for Galera](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f7b367e708231d44460a4/html5/thumbnails/24.jpg)
www.fromdual.com 24
Some Architectures put in place
![Page 25: MySQL Architectures for Oracle DBA's · 2 FromDual FromDual provides neutral and independent: Consulting for MySQL (on-site and remote) Remote-DBA / MySQL operations Support for Galera](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f7b367e708231d44460a4/html5/thumbnails/25.jpg)
www.fromdual.com 25
Laser welding device from the car industry
![Page 26: MySQL Architectures for Oracle DBA's · 2 FromDual FromDual provides neutral and independent: Consulting for MySQL (on-site and remote) Remote-DBA / MySQL operations Support for Galera](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f7b367e708231d44460a4/html5/thumbnails/26.jpg)
www.fromdual.com 26
Data collection of laser devices
![Page 27: MySQL Architectures for Oracle DBA's · 2 FromDual FromDual provides neutral and independent: Consulting for MySQL (on-site and remote) Remote-DBA / MySQL operations Support for Galera](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f7b367e708231d44460a4/html5/thumbnails/27.jpg)
www.fromdual.com 27
Measuring of media consumption
![Page 28: MySQL Architectures for Oracle DBA's · 2 FromDual FromDual provides neutral and independent: Consulting for MySQL (on-site and remote) Remote-DBA / MySQL operations Support for Galera](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f7b367e708231d44460a4/html5/thumbnails/28.jpg)
www.fromdual.com 28
Car-Sharing platform
![Page 29: MySQL Architectures for Oracle DBA's · 2 FromDual FromDual provides neutral and independent: Consulting for MySQL (on-site and remote) Remote-DBA / MySQL operations Support for Galera](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f7b367e708231d44460a4/html5/thumbnails/29.jpg)
www.fromdual.com 29
Solar cell production
![Page 30: MySQL Architectures for Oracle DBA's · 2 FromDual FromDual provides neutral and independent: Consulting for MySQL (on-site and remote) Remote-DBA / MySQL operations Support for Galera](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f7b367e708231d44460a4/html5/thumbnails/30.jpg)
www.fromdual.com 30
Solar cell production
![Page 31: MySQL Architectures for Oracle DBA's · 2 FromDual FromDual provides neutral and independent: Consulting for MySQL (on-site and remote) Remote-DBA / MySQL operations Support for Galera](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f7b367e708231d44460a4/html5/thumbnails/31.jpg)
www.fromdual.com 31
Online Stock trading platform
![Page 32: MySQL Architectures for Oracle DBA's · 2 FromDual FromDual provides neutral and independent: Consulting for MySQL (on-site and remote) Remote-DBA / MySQL operations Support for Galera](https://reader033.vdocuments.net/reader033/viewer/2022053012/5f0f7b367e708231d44460a4/html5/thumbnails/32.jpg)
www.fromdual.com 32
Questions and Discussion
?Slides: www.fromdual.com
or