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
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          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
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
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            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
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
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 Multi-
    Thread 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
                                              Slave Reporting
                            Master

                                                  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'             M


                            !!!   SAN



            Slave1          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      Application     Application     Application
     NDB-API       NDB-API
                                                   Load balancer

                                   SQL Node 1      SQL Node 2      SQL Node 3
                                                                                 ...
Mgm Node 1


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
      oli.sennhauser@fromdual.com
               www.fromdual.com        27

DOAG 2010: MySQL Architekturen für Oracle DBA's

  • 1.
    MySQL Architekturen fürOracle 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 MySQLArchitekturen 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 Wirsind 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
  • 10.
    Die wichtigsten StorageEngines ● 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
  • 11.
    Weitere Unterschiede zwischen Oracleund 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 Oracleund 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
  • 14.
    Der MySQL Scale-OutAnsatz Application ro rtw Slave Reporting Master Slave Backup Slave 1 Slave 2 Slave 3 ... Load balancer www.fromdual.com 14
  • 15.
    Aktiv/passiv fail-over mitSAN App App App VIP M' M SAN Slave1 Slave2 Slave3 Load balancing (LB) www.fromdual.com 15
  • 16.
    Aktiv/passiv fail-over mitSAN ● SPOF! App App App VIP M' M !!! SAN Slave1 Slave2 Slave3 Load balancing (LB) www.fromdual.com 16
  • 17.
    Aktiv/passiv fail-over mitDRBD App App App VIP M' M DRBD Slave1 Slave2 Slave3 Load balancing (LB) www.fromdual.com 17
  • 18.
    Activ/passiv fail-over mitDRBD App App App VIP M' M DRBD Slave1 Slave2 Slave3 Load balancing (LB) www.fromdual.com 18
  • 19.
    MySQL Cluster Application Application Application Application Application NDB-API NDB-API Load balancer SQL Node 1 SQL Node 2 SQL Node 3 ... Mgm Node 1 Mgm Node 2 Data Node 1 Data Node 2 Sw. Sw. Data Node 3 Data Node 4 www.fromdual.com 19
  • 20.
  • 21.
    Daten sammeln derLasergeräte www.fromdual.com 21
  • 22.
    Messen von Medienkonsum www.fromdual.com 22
  • 23.
    Car-Sharing Plattform www.fromdual.com 23
  • 24.
    Solarzellenproduktion www.fromdual.com 24
  • 25.
    Solarzellenproduktion www.fromdual.com 25
  • 26.
    Online Börsenplattform www.fromdual.com 26
  • 27.
    Fragen und Antworten ? Sonst: Slides: www.fromdual.com oder oli.sennhauser@fromdual.com www.fromdual.com 27