1. MySQL Architekturen für Oracle
DBA's
DOAG Konferenz, Nürnberg
16. November 2010
Oliver Sennhauser
Senior MySQL Consultant, FromDual
oli.sennhauser@fromdual.com
http://www.fromdual.com
www.fromdual.com 1
2. Inhalt
MySQL Architekturen für Oracle DBA's
➢
Der LAMP Stack
➢
Geschichte von MySQL
➢
Open Source
➢
Branches und Forks
➢
Wechsel von Oracle?
➢
MySQL Architektur
➢
Pluggable Storage Engines
➢
Unterschiede zwischen Oracle und MySQL
➢
Scale-Up vs. Scale-Out
➢
HA Lösungen
➢
Architekturen aus der Praxis
www.fromdual.com 2
3. Der LAMP Stack
Wir sind das Web! Wer steht Alternativen
dahinter?
Perl, Java, Python,
PHP Zend Technologies
Ruby
MySQL MySQL/Oracle PostgreSQL, others
Apache Software
Apache Foundation Lighty (lighttpd), IIS
Windows, Solaris,
Linux Linux Foundation
BSD, others
www.fromdual.com 3
4. Geschichte von MySQL
1995: Projektstart
durch Monty Okt 5.0 GA Oracle versucht
Widenius, David MySQL zu kaufen
Axmark und Allan
2. Sem. 5.5 GA
Larsson
(Prognose)
Okt Oracle
kauft Innobase
OY InnoDB Ca. July 5.6
Friday (nicht publik)
Mar 4.0 GA IPO wird für 2008
angekündigt
... 2000 01 02 03 04 2005 06 07 08 09 2010
Jan Sun kauft
Okt 4.1 GA MySQL für USD
Jun GPL 1000 Mio
Dez
Jan 3.23 GA Nov 5.1 GA 5.5
Apr Oracle kauf Sun
für USD 7400 Mio
www.fromdual.com 4
5. Open Source
● Grundsätzliches:
● Code ist verfügbar und einsehbar (Transparenz)
● Code darf abgeändert, angepasst oder anderweitig verwendet werden
● JeKaMi (Jeder Kann Mitmachen): Communities
● Vorteile
● „kein“ Vendor Lock-in
● Geringere Kosten
● Mehr Flexibilität
● Bessere Qualität
● Grössere Zuverlässigkeit
● Nachteile
● Es wird nicht immer alles auf dem goldenen Tablett serviert: „read the source“!
● Konfliktpotential wenn Kommerz ins Spiel kommt
● Für mich persönlich: Wissenstransfer und Wissensfreiheit
www.fromdual.com 5
6. Branches und Forks
Google patches
Okt OurDelta MySQL Branch
Jul ProvenScaling
MySQL Branch (†) Mai MariaDB/Aria MySQL/MyISAM Branch Fork ?
MySQL
2008 2009 2010
Dez XtraDB InnoDB Branch / Percona Build / Percona Server
Jul Drizzle MySQL Fork
www.fromdual.com 6
7. Wechsel von Oracle?
Oracle MySQL
Es braucht etwas Umgewöhnungszeit (3-6 M?)!
www.fromdual.com 7
8. MySQL Architektur
Application / Client
Thread Connection mysqld
Cache Manager Parser
Optimizer
User Au-
thentication ist eine multi-Thread
MySQL
und NICHT eine multi-Prozess
Applikation! Access Control
Command
Logging Table Open
Dispatcher Cache (.frm, fh)
Table Manager
Query Query Cache Table Definition
Cache Module Cache (tbl def.)
Handler Interface
MyISAM InnoDB Memory NDB PBXT Aria XtraDB Federated-X ...
www.fromdual.com 8
9. Pluggable Storage Engines
Konventionelles
(R)DBMS
= Monolith
MYSQL SE
Handler Interface
ISAM MyISAM BDB ...
plug-in
built-in
MYSQL pluggable SE
Handler Interface
InnoDB MyISAM PBXT NDB ...
www.fromdual.com 9
11. Weitere Unterschiede zwischen
Oracle und MySQL
● Transaktionen/Locking ist SE-abhängig
→ Welche Eigenschaften sind wo untergebracht?
● Einige Buffers/Caches sind SE-abhängig
andere nicht
→ Separat konfigurieren, je nach Bedarf
● Connections in Oracle sind teuer, in MySQL
billig
● Oracle Multi-Prozess Modell, MySQL Multi-
Thread Modell
www.fromdual.com 11
12. Weitere Unterschiede zwischen
Oracle und MySQL
● MySQL hat verschiedene Logs:
● Error log (= alert.log)
● Binary log (~ archive log)
● Transaction Log (~ REDO log, aber binary log !=
transaction log)
● General Query log (Oracle ?)
● Schema in Orcl: User + Objekte
● Backup in MySQL kann man falsch machen.
● Oracle: Scale-up, MySQL: Scale-out
www.fromdual.com 12
13. Scale-Up vs. Scale-Out
Scale-Up
● Kosten
● MySQL Design
● Physikalische Flaschenhälse
● „Relaxation of Constraints“
Scale-Out
www.fromdual.com 13