MySQL Architekturen für Oracle DBA`s

Werbung
MySQL Architekturen für Oracle
DBA's
DOAG Konferenz, Nürnberg
16. November 2010
Oliver Sennhauser
Senior MySQL Consultant, FromDual
[email protected]
http://www.fromdual.com
www.fromdual.com
1
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
Der LAMP Stack
Wir sind das Web!
Wer steht
dahinter?
Alternativen
Zend Technologies
Perl, Java, Python,
Ruby
MySQL
MySQL/Oracle
PostgreSQL, others
Apache
Apache Software
Foundation
Lighty (lighttpd), IIS
Linux
Linux Foundation
Windows, Solaris,
BSD, others
PHP
www.fromdual.com
3
Geschichte von MySQL
1995: Projektstart
durch Monty
Widenius, David
Axmark und Allan
Larsson
Oracle versucht
MySQL zu kaufen
Okt 5.0 GA
2. Sem. 5.5 GA
(Prognose)
Okt Oracle
kauft Innobase
OY InnoDB
Friday
Ca. July 5.6
(nicht publik)
IPO wird für 2008
angekündigt
Mar 4.0 GA
...
2000
01
02
03
Okt 4.1 GA
Jun GPL
04
2005
06
07
08
09
2010
Jan Sun kauft
MySQL für USD
1000 Mio
Jan 3.23 GA
Nov 5.1 GA
Dez
5.5
Apr Oracle kauf Sun
für USD 7400 Mio
www.fromdual.com
4
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
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
Wechsel von Oracle?
Oracle
MySQL
Es braucht etwas Umgewöhnungszeit (3-6 M?)!
www.fromdual.com
7
MySQL Architektur
Application / Client
Thread
Cache
Logging
Query
Cache
Connection
Manager
mysqld
Parser
Optimizer
User Authentication
MySQL ist eine multi-Thread
und NICHT eine multi-Prozess
Applikation! Access Control
Command
Dispatcher
Query Cache
Module
Table Manager
Table Open
Cache (.frm, fh)
Table Definition
Cache (tbl def.)
Handler Interface
MyISAM
InnoDB
Memory
NDB
PBXT
Aria
www.fromdual.com
XtraDB
Federated-X
...
8
Pluggable Storage Engines
Konventionelles
(R)DBMS
= Monolith
MYSQL SE
Handler Interface
ISAM MyISAM
BDB
...
built-in
plug-in
MYSQL pluggable SE
Handler Interface
InnoDB MyISAM PBXT
www.fromdual.com
NDB
...
9
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
10
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 MultiThread Modell
www.fromdual.com
11
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
Scale-Up vs. Scale-Out
Scale-Up
Kosten
● MySQL Design
● Physikalische Flaschenhälse
● „Relaxation of Constraints“
●
Scale-Out
www.fromdual.com
13
Der MySQL Scale-Out Ansatz
Application
ro
rtw
Master
Slave Reporting
Slave Backup
Slave 1
Slave 2
Slave 3
...
Load balancer
www.fromdual.com
14
Aktiv/passiv fail-over mit SAN
App
App
App
VIP
M'
M
SAN
Slave1
Slave2
Slave3
Load balancing (LB)
www.fromdual.com
15
Aktiv/passiv fail-over mit SAN
●
SPOF!
App
App
App
VIP
M'
!!!
Slave1
M
SAN
Slave2
Slave3
Load balancing (LB)
www.fromdual.com
16
Aktiv/passiv fail-over mit DRBD
App
App
App
VIP
M'
M
DRBD
Slave1
Slave2
Slave3
Load balancing (LB)
www.fromdual.com
17
Activ/passiv fail-over mit DRBD
App
App
App
VIP
M'
M
DRBD
Slave1
Slave2
Slave3
Load balancing (LB)
www.fromdual.com
18
MySQL Cluster
Application
Application
NDB-API
NDB-API
Application
Application
Application
Load balancer
SQL Node 1
SQL Node 2
Mgm Node 1
SQL Node 3
...
Mgm Node 2
Data Node 1
Data Node 2
Sw.
Sw.
Data Node 3
Data Node 4
www.fromdual.com
19
Laser-Schweissgerät aus der
Automobilindustrie
www.fromdual.com
20
Daten sammeln der Lasergeräte
www.fromdual.com
21
Messen von Medienkonsum
www.fromdual.com
22
Car-Sharing Plattform
www.fromdual.com
23
Solarzellenproduktion
www.fromdual.com
24
Solarzellenproduktion
www.fromdual.com
25
Online Börsenplattform
www.fromdual.com
26
Fragen und Antworten
?
Sonst: Slides: www.fromdual.com
oder
[email protected]
www.fromdual.com
27
Herunterladen