UKOUG 2011: MySQL Architectures for Oracle DBA's

32
www.fromdual.com 1 MySQL Architectures for Oracle DBA's UKOUG Conference 2011 December 5 th , Birmingham Oli Sennhauser Senior MySQL Consultant, FromDual [email protected]

Transcript of UKOUG 2011: MySQL Architectures for Oracle DBA's

Page 1: UKOUG 2011: MySQL Architectures for Oracle DBA's

www.fromdual.com 1

MySQL Architectures for Oracle DBA's

UKOUG Conference 2011December 5th, Birmingham

Oli SennhauserSenior MySQL Consultant, FromDual

[email protected]

Page 2: UKOUG 2011: MySQL Architectures for Oracle DBA's

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: UKOUG 2011: MySQL Architectures for Oracle DBA's

www.fromdual.com 3

Our customer

Page 4: UKOUG 2011: MySQL Architectures for Oracle DBA's

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: UKOUG 2011: MySQL Architectures for Oracle DBA's

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: UKOUG 2011: MySQL Architectures for Oracle DBA's

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: UKOUG 2011: MySQL Architectures for Oracle DBA's

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: UKOUG 2011: MySQL Architectures for Oracle DBA's

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: UKOUG 2011: MySQL Architectures for Oracle DBA's

www.fromdual.com 9

Switch from Oracle?

Oracle MySQL

It needs some time to adapt (3 - 6 monts?)!

Page 10: UKOUG 2011: MySQL Architectures for Oracle DBA's

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: UKOUG 2011: MySQL Architectures for Oracle DBA's

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: UKOUG 2011: MySQL Architectures for Oracle DBA's

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: UKOUG 2011: MySQL Architectures for Oracle DBA's

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: UKOUG 2011: MySQL Architectures for Oracle DBA's

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: UKOUG 2011: MySQL Architectures for Oracle DBA's

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: UKOUG 2011: MySQL Architectures for Oracle DBA's

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: UKOUG 2011: MySQL Architectures for Oracle DBA's

www.fromdual.com 17

MySQL Scale-Out vs. Scale-Up

Scale-Out

● Cost● MySQL design● Physical bottlenecks

Scale-Up

● „Relaxation of Constraints“

Page 18: UKOUG 2011: MySQL Architectures for Oracle DBA's

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: UKOUG 2011: MySQL Architectures for Oracle DBA's

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: UKOUG 2011: MySQL Architectures for Oracle DBA's

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: UKOUG 2011: MySQL Architectures for Oracle DBA's

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: UKOUG 2011: MySQL Architectures for Oracle DBA's

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: UKOUG 2011: MySQL Architectures for Oracle DBA's

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: UKOUG 2011: MySQL Architectures for Oracle DBA's

www.fromdual.com 24

Some Architectures put in place

Page 25: UKOUG 2011: MySQL Architectures for Oracle DBA's

www.fromdual.com 25

Laser welding device from the car industry

Page 26: UKOUG 2011: MySQL Architectures for Oracle DBA's

www.fromdual.com 26

Data collection of laser devices

Page 27: UKOUG 2011: MySQL Architectures for Oracle DBA's

www.fromdual.com 27

Measuring of media consumption

Page 28: UKOUG 2011: MySQL Architectures for Oracle DBA's

www.fromdual.com 28

Car-Sharing platform

Page 29: UKOUG 2011: MySQL Architectures for Oracle DBA's

www.fromdual.com 29

Solar cell production

Page 30: UKOUG 2011: MySQL Architectures for Oracle DBA's

www.fromdual.com 30

Solar cell production

Page 31: UKOUG 2011: MySQL Architectures for Oracle DBA's

www.fromdual.com 31

Online Stock trading platform

Page 32: UKOUG 2011: MySQL Architectures for Oracle DBA's

www.fromdual.com 32

Questions and Discussion

?Slides: www.fromdual.com

or

[email protected]