Upload
others
View
11
Download
0
Embed Size (px)
www.fromdual.com 1
DOAG Konferenz, Nürnberg16. November 2010
Oliver SennhauserSenior MySQL Consultant, FromDual
http://www.fromdual.com
MySQL Architekturen für Oracle DBA's
www.fromdual.com 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 3
Der LAMP Stack
PHP
Wer steht dahinter?
Alternativen
MySQL
Apache
Linux
Wir sind das Web!
Zend Technologies
MySQL/Oracle
Apache Software Foundation
Linux Foundation
Perl, Java, Python, Ruby
PostgreSQL, others
Lighty (lighttpd), IIS
Windows, Solaris, BSD, others
www.fromdual.com 4
Geschichte von MySQL
2000 01 02 03 04 2005 06 07 0908 2010
Okt Oracle kauft Innobase
OY InnoDB Friday
...
1995: Projektstart durch Monty
Widenius, David Axmark und Allan
Larsson
Jun GPLOkt 4.1 GA
Jan 3.23 GA
Mar 4.0 GA
Okt 5.0 GA Oracle versucht MySQL zu kaufen
IPO wird für 2008 angekündigt
Jan Sun kauft MySQL für USD
1000 Mio
Nov 5.1 GA
Apr Oracle kauf Sun für USD 7400 Mio
Dez 5.5
Ca. July 5.6(nicht publik)
2. Sem. 5.5 GA(Prognose)
www.fromdual.com 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 6
Branches und Forks
2009
Jul Drizzle MySQL Fork
Jul ProvenScalingMySQL Branch (†)
Okt OurDelta MySQL Branch
Dez XtraDB InnoDB Branch / Percona Build / Percona Server
Mai MariaDB/Aria MySQL/MyISAM Branch Fork ?
2010
Google patches
MySQL2008
www.fromdual.com 7
Wechsel von Oracle?
Oracle MySQL
Es braucht etwas Umgewöhnungszeit (3-6 M?)!
www.fromdual.com 8
MySQL Architektur
mysqld
MySQL ist eine multi-Thread und NICHT eine multi-Prozess Applikation!
Application / Client
ThreadCache
ConnectionManager
User Au-thentication
CommandDispatcherLogging
Query CacheModule
QueryCache
Parser
Optimizer
Access Control
Table Manager
Table OpenCache (.frm, fh)
Table DefinitionCache (tbl def.)
Handler Interface
MyISAM Memory NDB PBXTInnoDB ...Aria XtraDB Federated-X
www.fromdual.com 9
Pluggable Storage Engines
Konventionelles(R)DBMS
= Monolith
MYSQL SE
Handler Interface
ISAM MyISAM BDB ...
built-inMYSQL pluggable SE
InnoDB MyISAM PBXT NDB ...
Handler Interface
plug-in
www.fromdual.com 10
Die wichtigsten Storage Engines
● MyISAM/Aria● InnoDB/XtraDB/PBXT (Transaktionen)● MEMORY● NDB (MySQL Cluster)● Federated-X (~ Oracle DB-Link)● CSV, Archive, Blackhole● Infobright/InfiniDB (Columnar SE)● Sphinx-SE● Spider, etc.
www.fromdual.com 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 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 13
Scale-Up vs. Scale-Out
Scale-Up
Scale-Out
● Kosten● MySQL Design● Physikalische Flaschenhälse● „Relaxation of Constraints“
www.fromdual.com 14
Der MySQL Scale-Out Ansatz
Application
Master
Slave Backup
Load balancer
Slave 1
Slave Reporting
Slave 2
Slave 3
rtwro
...
www.fromdual.com 15
Aktiv/passiv fail-over mit SAN
App App App
M'
SAN
Slave1
Slave2
Slave3
Load balancing (LB)
M
VIP
www.fromdual.com 16
Aktiv/passiv fail-over mit SAN
● SPOF! App App App
M'
SAN
Slave1
Slave2
Slave3
Load balancing (LB)
M
VIP
!!!
www.fromdual.com 17
Aktiv/passiv fail-over mit DRBD
App App App
M'
Slave1
Slave2
Slave3
Load balancing (LB)
M
VIP
DRBD
www.fromdual.com 18
Activ/passiv fail-over mit DRBD
App App App
M'
Slave1
Slave2
Slave3
Load balancing (LB)
M
VIP
DRBD
www.fromdual.com 19
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
www.fromdual.com 20
Laser-Schweissgerät aus der Automobilindustrie
www.fromdual.com 21
Daten sammeln der Lasergeräte
www.fromdual.com 22
Messen von Medienkonsum
www.fromdual.com 23
Car-Sharing Plattform
www.fromdual.com 24
Solarzellenproduktion
www.fromdual.com 25
Solarzellenproduktion
www.fromdual.com 26
Online Börsenplattform
www.fromdual.com 27
Fragen und Antworten
?Sonst: Slides: www.fromdual.com
oder