MySQL Cluster Product Overview - by Wagner Bianchi Jr

MySQL Brasil
MySQL BrasilMySQL Brasil
<Insert Picture Here>




MySQL Cluster Product Overview
Wagner Bianchi – contato@wagnerbianchi.com
Disclaimer


 The preceding is intended to outline our general
 product direction. It is intended for information
 purposes only, and may not be incorporated into any
 contract. It is not a commitment to deliver any
 material, code, or functionality, and should not be
 relied upon in making purchasing decisions. The
 development, 2 release, and timing of any features or
 functionality described for Oracle’s products remains
 at the sole discretion of Oracle.




                                                         2
Industry Leaders Rely on MySQL




 Web & Enterprise                OEM & ISVs



                     Cloud


                                              3
Agenda


• MySQL Cluster Product Overview
  –   O que é o MySQL Cluster?
  –   Componentes do MySQL Cluster
  –   MySQL Cluster Manager ™
  –   Casos de Utilização
  –   Benchmarks


• MySQL Cluster 7.2




                                     4
O que é o MySQL Cluster?




                           5
Mapping HA Architectures to Availability




                                           6
Multi-Data Center Scalability
Geographic Replication

                                • Replicate complete
                                  clusters across data
                                  centers
                                  – DR & data locality
                                  – Fully active/active
       Geographic                 – No passive resources
       Replication
                                • Split individual clusters
                                  across data centers
                                  – Synchronous replication
                                    & auto-failover between
                                    sites
                                  – Delivered as part of
                                    MySQL Cluster 7.2 DMR


                                                           7
Mapping Applications to HA Technology
                                                                               Shared-Nothing,
                                        Database          Clustered /
           Applica ons                                                         Geo-Replicated
                                       Replica on         Virtualized
                                                                                   Cluster
        E-Commerce / Trading                     (1)
        Session Management                       (1)
   User Authen ca on / Accoun ng                (1)
         Feeds, Blogs, Wikis

                OLTP                             (1)
         Data Warehouse/BI

        Content Management

                CRM

            Collabora on

         Packaged So ware
       Network Infrastructure

  Core Telco Apps (HLR/HSS/SDP…)

1: Replication used in combination with cluster or virtualization – based HA




                                                                                                 8
MySQL Cluster


• O MySQL Cluster é formado por 3 componentes:
  – Management Node: permite a realização de tarefas
    administrativas como monitoramento dos nós, backup dos
    nós de dados do cluster e outras – seu binário é o ndb_mgmd;

  – Data ou Storage Node: responsável por processar e
    armazenar dados dos bancos de dados localizados no cluster
    – seu binário é o ndbd ou ndbmtd;

  – API ou SQL Node: este é o nó que recebe as conexões das
    aplicações e enviam e requisitam dados armazenados nos
    Data Nodes – seu binário é o mysqld;




                                                                   9
MySQL Cluster - Auto-Partitioning


      Table T1                      Data Node 1




                     P1
                                    Data Node 2

                     P2

                     P3             Data Node 3


                     P4

                                    Data Node 4




                                                  10
MySQL Cluster - Auto-Partitioning


      Table T1                      Data Node 1

                                    F1



                     P1
                                    Data Node 2

                     P2

                     P3             Data Node 3


                     P4

                                    Data Node 4




                                                  11
MySQL Cluster - Auto-Partitioning


      Table T1                      Data Node 1

                                    F1



                     P1
                                    Data Node 2

                                              F1
                     P2

                     P3             Data Node 3


                     P4

                                    Data Node 4




                                                   12
MySQL Cluster - Auto-Partitioning

     Table T1                       Data Node 1

                                    F1



                    P1
                                    Data Node 2

                                    F3        F1
                    P2

                    P3              Data Node 3


                    P4

                                    Data Node 4




                                                   13
MySQL Cluster - Auto-Partitioning

     Table T1                       Data Node 1

                                    F1        F3



                    P1
                                    Data Node 2

                                    F3        F1
                    P2

                    P3              Data Node 3


                    P4

                                    Data Node 4




                                                   14
MySQL Cluster - Auto-Partitioning

     Table T1                       Data Node 1

                                    F1        F3



                    P1
                                    Data Node 2

                                    F3        F1
                    P2

                    P3              Data Node 3

                                    F2
                    P4

                                    Data Node 4




                                                   15
MySQL Cluster - Auto-Partitioning

     Table T1                       Data Node 1

                                    F1        F3



                    P1
                                    Data Node 2

                                    F3        F1
                    P2

                    P3              Data Node 3

                                    F2
                    P4

                                    Data Node 4

                                              F2




                                                   16
MySQL Cluster - Auto-Partitioning

     Table T1                       Data Node 1

                                    F1        F3



                    P1
                                    Data Node 2

                                    F3        F1
                    P2

                    P3              Data Node 3

                                    F2
                    P4

                                    Data Node 4

                                    F4        F2




                                                   17
MySQL Cluster - Auto-Partitioning

     Table T1                       Data Node 1

                                    F1        F3



                    P1
                                    Data Node 2

                                    F3        F1
                    P2

                    P3              Data Node 3

                                    F2        F4
                    P4

                                    Data Node 4

                                    F4        F2




                                                   18
MySQL Cluster - Auto-Partitioning

     Table T1                       Data Node 1

                                    F1        F3



                    P1                        Node Group 1
                                    Data Node 2

                                    F3        F1
                    P2

                    P3              Data Node 3

                                    F2        F4
                    P4

                                    Data Node 4

                                    F4        F2




                                                       19
MySQL Cluster - Auto-Partitioning

     Table T1                       Data Node 1

                                    F1        F3



                    P1                        Node Group 1
                                    Data Node 2

                                    F3        F1
                    P2

                    P3              Data Node 3

                                    F2        F4
                    P4
                                              Node Group 2
                                    Data Node 4

                                    F4        F2




                                                       20
MySQL Cluster - Auto-Partitioning

     Table T1                       Data Node 1

                                    F1        F3



                    P1                        Node Group 1
                                    Data Node 2

                                    F3        F1
                    P2

                    P3              Data Node 3

                                    F2        F4
                    P4
                                              Node Group 2
                                    Data Node 4

                                    F4        F2




                                                       21
MySQL Cluster - Auto-Partitioning

     Table T1                       Data Node 1

                                    F1        F3



                    P1                        Node Group 1
                                    Data Node 2

                                    F3        F1
                    P2

                    P3              Data Node 3

                                    F2        F4
                    P4
                                              Node Group 2
                                    Data Node 4

                                    F4        F2




                                                       22
MySQL Cluster - Auto-Partitioning

     Table T1

                                    Scalability   a
                    P1              Performanc
                                         e
                    P2
                                        HA        a
                    P3              Ease of use

                    P4              SQL/Joins     a
                                       ACID       a
                                    Transaction
                                         s



                                                      23
MySQL Cluster




                24
MySQL Cluster


• Recomenda-se que:
  – todos os componentes sejam pelo menos duplicados, tendo
    uma instalação com no mínimo 6 nodes dentro do cluster;
  – o cluster seja colocado em uma sub-rede que possibilite
    trafegar dados somente do cluster para que não haja perda
    de pacotes;
  – todas as máquinas que figuram SQL e Storage node tenham
    as mesmas configurações para evitar bottlenecks;
  – todos os binários de todos os componentes sejam da mesma
    versão e release do produto;




                                                                25
Comparison
                                  MySQL                                      Oracle VM               Solaris              MySQL
   HA Technology                                           WSFC*
                                 Replication                                 Template                Cluster              Cluster
                                  All supported by       Windows Server        Oracle Linux         Oracle Solaris      All supported by
    Platform Support              MySQL Server **            2008                                                      MySQL Cluster ****
                                     All (InnoDB             InnoDB               InnoDB              All (InnoDB        NDB (MySQL
Supported Storage Engine           recommended)                                                     recommended)           Cluster)

     Auto IP Failover                    No                    Yes                 Yes                     Yes                Yes

 Auto Database Failover                  No                    Yes                 Yes                     Yes                Yes

      Auto Data                          No               N/A – Shared         N/A – Shared         N/A – Shared              Yes
                                                            Storage              Storage              Storage
   Resynchronization
      Failover Time                 User / Script           5 seconds +         5 seconds +          5 seconds +       1 Second or Less
                                    Dependent            InnoDB Recovery     InnoDB Recovery      InnoDB Recovery
                                                              Time***             Time***              Time***
                                Asynchronous / Semi-      N/A – Shared         N/A – Shared         N/A – Shared         Synchronous
    Replication Mode                Synchronous             Storage              Storage              Storage
                                No, distributed across         Yes                 Yes                     Yes           No, distributed
     Shared Storage                     nodes                                                                            across nodes
                                  Master & Multiple      Active / Passive    Active / Passive      Active / Passive      255 + Multiple
      No. of Nodes                    Slaves             Master + Multiple   Master + Multiple     Master + Multiple        Slaves
                                                              Slaves              Slaves                Slaves

 Availability Design Level             99.9%                 99.95%               99.99%                  99.99%           99.999%


                                     * Windows Server 2008R2 Failover Clustering
                          ** http://www.mysql.com/support/supportedplatforms/database.html
                 *** InnoDB recovery time dependent on cache and database size, database activity, etc.
                          **** http://www.mysql.com/support/supportedplatforms/cluster.html


                                                                                                                                       26
MySQL Cluster Manager ™


                          •   Funciona através do
                              MySQL Enterprise
                              Monitor;

                          •   Permite fazer start,
                              restart e stop de
                              Storage Nodes
                              através de Interface
                              Gráfica;

                          •   Live Demo:
                              http://bit.ly/rqjQRp



                                                     27
MySQL Cluster Manager ™

           MySQL Cluster nodes automatically restarted
                    after configuration change




                                                         28
Benchmarks – Scale-Out




    Aumento de servidores faz que haja aumento na escala,
    aumentando a capacidade de resolução de requisições!


                                                            29
MySQL Cluster Architecture




                                        REST         LDAP
                            Application Nodes                              Scalability
                                                                           Performanc
                                                                                e
             Node Group 1                   Node Group 2
                                                                               HA
                      F1                                    F2             Ease of use
             Node 1




Cluster                                     Node 3               Cluster
 Mgr                                                              Mgr
                      F3                                    F4
                                                                           SQL/Joins     a
                      F3                                    F4                ACID       a
             Node 2




                                            Node 4




                      F1                                    F2             Transaction
                                 Data                                           s
                                Nodes



                                                                                         30
MySQL Cluster Architecture




                                        REST         LDAP
                            Application Nodes                              Scalability
                                                                           Performanc
                                                                                e
             Node Group 1                   Node Group 2
                                                                               HA        a
                      F1                                    F2             Ease of use
             Node 1




Cluster                                     Node 3               Cluster
 Mgr                                                              Mgr
                      F3                                    F4
                                                                           SQL/Joins     a
                      F3                                    F4                ACID       a
             Node 2




                                            Node 4




                      F1                                    F2             Transaction
                                 Data                                           s
                                Nodes



                                                                                         31
Wagner Bianchi




É especialista em MySQL e outros servidores de bancos de dados
relacionais como Oracle e SQL Server. Formado em Gerenciamento de
Bancos de Dados, com MBA em Administração de Empresas pela
Fundação Getúlio Vargas e Pós-Graduando em Bancos de Dados pela
Universidade Gama Filho do Distrito Federal, possui várias
certificações, entre elas a SCMA, SCMDEV, SCMDBA e SCMCDBA.
Atualmente é Consultor Sênior em bancos de dados pela
WAGNERBIANCHI.COM.




                                                                    32
1 of 32

More Related Content

What's hot(8)

Netezza vs teradataNetezza vs teradata
Netezza vs teradata
Asis Mohanty19.9K views
KIISE:SIGDB Workshop presentation.KIISE:SIGDB Workshop presentation.
KIISE:SIGDB Workshop presentation.
Kyong-Ha Lee4.3K views
HadoopHadoop
Hadoop
Saeed Iqbal3.5K views
My First 100 days with a Cassandra ClusterMy First 100 days with a Cassandra Cluster
My First 100 days with a Cassandra Cluster
Gustavo Rene Antunez1.4K views
PostgreSQL 13 New FeaturesPostgreSQL 13 New Features
PostgreSQL 13 New Features
José Lin694 views

Similar to MySQL Cluster Product Overview - by Wagner Bianchi Jr

Similar to MySQL Cluster Product Overview - by Wagner Bianchi Jr(20)

More from MySQL Brasil(20)

MySQL no Paypal Tesla e UberMySQL no Paypal Tesla e Uber
MySQL no Paypal Tesla e Uber
MySQL Brasil763 views
MySQL 8.0.1 DMRMySQL 8.0.1 DMR
MySQL 8.0.1 DMR
MySQL Brasil774 views
MySQL Roadmap NoSQL HA Fev17MySQL Roadmap NoSQL HA Fev17
MySQL Roadmap NoSQL HA Fev17
MySQL Brasil478 views
Segurança no MySQLSegurança no MySQL
Segurança no MySQL
MySQL Brasil1.5K views
MySQL 5.7 como Document StoreMySQL 5.7 como Document Store
MySQL 5.7 como Document Store
MySQL Brasil954 views
Alta Disponibilidade no MySQL 5.7Alta Disponibilidade no MySQL 5.7
Alta Disponibilidade no MySQL 5.7
MySQL Brasil1.1K views
NoSQL no MySQL 5.7NoSQL no MySQL 5.7
NoSQL no MySQL 5.7
MySQL Brasil1.2K views
OpenStack & MySQLOpenStack & MySQL
OpenStack & MySQL
MySQL Brasil997 views
Novidades do Universo MySQL julho-15Novidades do Universo MySQL julho-15
Novidades do Universo MySQL julho-15
MySQL Brasil2.3K views

Recently uploaded(20)

ChatGPT and AI for Web DevelopersChatGPT and AI for Web Developers
ChatGPT and AI for Web Developers
Maximiliano Firtman161 views
[2023] Putting the R! in R&D.pdf[2023] Putting the R! in R&D.pdf
[2023] Putting the R! in R&D.pdf
Eleanor McHugh36 views
Java Platform Approach 1.0 - Picnic MeetupJava Platform Approach 1.0 - Picnic Meetup
Java Platform Approach 1.0 - Picnic Meetup
Rick Ossendrijver24 views
Web Dev - 1 PPT.pdfWeb Dev - 1 PPT.pdf
Web Dev - 1 PPT.pdf
gdsczhcet49 views

MySQL Cluster Product Overview - by Wagner Bianchi Jr

  • 1. <Insert Picture Here> MySQL Cluster Product Overview Wagner Bianchi – contato@wagnerbianchi.com
  • 2. Disclaimer The preceding is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, 2 release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. 2
  • 3. Industry Leaders Rely on MySQL Web & Enterprise OEM & ISVs Cloud 3
  • 4. Agenda • MySQL Cluster Product Overview – O que é o MySQL Cluster? – Componentes do MySQL Cluster – MySQL Cluster Manager ™ – Casos de Utilização – Benchmarks • MySQL Cluster 7.2 4
  • 5. O que é o MySQL Cluster? 5
  • 6. Mapping HA Architectures to Availability 6
  • 7. Multi-Data Center Scalability Geographic Replication • Replicate complete clusters across data centers – DR & data locality – Fully active/active Geographic – No passive resources Replication • Split individual clusters across data centers – Synchronous replication & auto-failover between sites – Delivered as part of MySQL Cluster 7.2 DMR 7
  • 8. Mapping Applications to HA Technology Shared-Nothing, Database Clustered / Applica ons Geo-Replicated Replica on Virtualized Cluster E-Commerce / Trading (1) Session Management (1) User Authen ca on / Accoun ng (1) Feeds, Blogs, Wikis OLTP (1) Data Warehouse/BI Content Management CRM Collabora on Packaged So ware Network Infrastructure Core Telco Apps (HLR/HSS/SDP…) 1: Replication used in combination with cluster or virtualization – based HA 8
  • 9. MySQL Cluster • O MySQL Cluster é formado por 3 componentes: – Management Node: permite a realização de tarefas administrativas como monitoramento dos nós, backup dos nós de dados do cluster e outras – seu binário é o ndb_mgmd; – Data ou Storage Node: responsável por processar e armazenar dados dos bancos de dados localizados no cluster – seu binário é o ndbd ou ndbmtd; – API ou SQL Node: este é o nó que recebe as conexões das aplicações e enviam e requisitam dados armazenados nos Data Nodes – seu binário é o mysqld; 9
  • 10. MySQL Cluster - Auto-Partitioning Table T1 Data Node 1 P1 Data Node 2 P2 P3 Data Node 3 P4 Data Node 4 10
  • 11. MySQL Cluster - Auto-Partitioning Table T1 Data Node 1 F1 P1 Data Node 2 P2 P3 Data Node 3 P4 Data Node 4 11
  • 12. MySQL Cluster - Auto-Partitioning Table T1 Data Node 1 F1 P1 Data Node 2 F1 P2 P3 Data Node 3 P4 Data Node 4 12
  • 13. MySQL Cluster - Auto-Partitioning Table T1 Data Node 1 F1 P1 Data Node 2 F3 F1 P2 P3 Data Node 3 P4 Data Node 4 13
  • 14. MySQL Cluster - Auto-Partitioning Table T1 Data Node 1 F1 F3 P1 Data Node 2 F3 F1 P2 P3 Data Node 3 P4 Data Node 4 14
  • 15. MySQL Cluster - Auto-Partitioning Table T1 Data Node 1 F1 F3 P1 Data Node 2 F3 F1 P2 P3 Data Node 3 F2 P4 Data Node 4 15
  • 16. MySQL Cluster - Auto-Partitioning Table T1 Data Node 1 F1 F3 P1 Data Node 2 F3 F1 P2 P3 Data Node 3 F2 P4 Data Node 4 F2 16
  • 17. MySQL Cluster - Auto-Partitioning Table T1 Data Node 1 F1 F3 P1 Data Node 2 F3 F1 P2 P3 Data Node 3 F2 P4 Data Node 4 F4 F2 17
  • 18. MySQL Cluster - Auto-Partitioning Table T1 Data Node 1 F1 F3 P1 Data Node 2 F3 F1 P2 P3 Data Node 3 F2 F4 P4 Data Node 4 F4 F2 18
  • 19. MySQL Cluster - Auto-Partitioning Table T1 Data Node 1 F1 F3 P1 Node Group 1 Data Node 2 F3 F1 P2 P3 Data Node 3 F2 F4 P4 Data Node 4 F4 F2 19
  • 20. MySQL Cluster - Auto-Partitioning Table T1 Data Node 1 F1 F3 P1 Node Group 1 Data Node 2 F3 F1 P2 P3 Data Node 3 F2 F4 P4 Node Group 2 Data Node 4 F4 F2 20
  • 21. MySQL Cluster - Auto-Partitioning Table T1 Data Node 1 F1 F3 P1 Node Group 1 Data Node 2 F3 F1 P2 P3 Data Node 3 F2 F4 P4 Node Group 2 Data Node 4 F4 F2 21
  • 22. MySQL Cluster - Auto-Partitioning Table T1 Data Node 1 F1 F3 P1 Node Group 1 Data Node 2 F3 F1 P2 P3 Data Node 3 F2 F4 P4 Node Group 2 Data Node 4 F4 F2 22
  • 23. MySQL Cluster - Auto-Partitioning Table T1 Scalability a P1 Performanc e P2 HA a P3 Ease of use P4 SQL/Joins a ACID a Transaction s 23
  • 25. MySQL Cluster • Recomenda-se que: – todos os componentes sejam pelo menos duplicados, tendo uma instalação com no mínimo 6 nodes dentro do cluster; – o cluster seja colocado em uma sub-rede que possibilite trafegar dados somente do cluster para que não haja perda de pacotes; – todas as máquinas que figuram SQL e Storage node tenham as mesmas configurações para evitar bottlenecks; – todos os binários de todos os componentes sejam da mesma versão e release do produto; 25
  • 26. Comparison MySQL Oracle VM Solaris MySQL HA Technology WSFC* Replication Template Cluster Cluster All supported by Windows Server Oracle Linux Oracle Solaris All supported by Platform Support MySQL Server ** 2008 MySQL Cluster **** All (InnoDB InnoDB InnoDB All (InnoDB NDB (MySQL Supported Storage Engine recommended) recommended) Cluster) Auto IP Failover No Yes Yes Yes Yes Auto Database Failover No Yes Yes Yes Yes Auto Data No N/A – Shared N/A – Shared N/A – Shared Yes Storage Storage Storage Resynchronization Failover Time User / Script 5 seconds + 5 seconds + 5 seconds + 1 Second or Less Dependent InnoDB Recovery InnoDB Recovery InnoDB Recovery Time*** Time*** Time*** Asynchronous / Semi- N/A – Shared N/A – Shared N/A – Shared Synchronous Replication Mode Synchronous Storage Storage Storage No, distributed across Yes Yes Yes No, distributed Shared Storage nodes across nodes Master & Multiple Active / Passive Active / Passive Active / Passive 255 + Multiple No. of Nodes Slaves Master + Multiple Master + Multiple Master + Multiple Slaves Slaves Slaves Slaves Availability Design Level 99.9% 99.95% 99.99% 99.99% 99.999% * Windows Server 2008R2 Failover Clustering ** http://www.mysql.com/support/supportedplatforms/database.html *** InnoDB recovery time dependent on cache and database size, database activity, etc. **** http://www.mysql.com/support/supportedplatforms/cluster.html 26
  • 27. MySQL Cluster Manager ™ • Funciona através do MySQL Enterprise Monitor; • Permite fazer start, restart e stop de Storage Nodes através de Interface Gráfica; • Live Demo: http://bit.ly/rqjQRp 27
  • 28. MySQL Cluster Manager ™ MySQL Cluster nodes automatically restarted after configuration change 28
  • 29. Benchmarks – Scale-Out Aumento de servidores faz que haja aumento na escala, aumentando a capacidade de resolução de requisições! 29
  • 30. MySQL Cluster Architecture REST LDAP Application Nodes Scalability Performanc e Node Group 1 Node Group 2 HA F1 F2 Ease of use Node 1 Cluster Node 3 Cluster Mgr Mgr F3 F4 SQL/Joins a F3 F4 ACID a Node 2 Node 4 F1 F2 Transaction Data s Nodes 30
  • 31. MySQL Cluster Architecture REST LDAP Application Nodes Scalability Performanc e Node Group 1 Node Group 2 HA a F1 F2 Ease of use Node 1 Cluster Node 3 Cluster Mgr Mgr F3 F4 SQL/Joins a F3 F4 ACID a Node 2 Node 4 F1 F2 Transaction Data s Nodes 31
  • 32. Wagner Bianchi É especialista em MySQL e outros servidores de bancos de dados relacionais como Oracle e SQL Server. Formado em Gerenciamento de Bancos de Dados, com MBA em Administração de Empresas pela Fundação Getúlio Vargas e Pós-Graduando em Bancos de Dados pela Universidade Gama Filho do Distrito Federal, possui várias certificações, entre elas a SCMA, SCMDEV, SCMDBA e SCMCDBA. Atualmente é Consultor Sênior em bancos de dados pela WAGNERBIANCHI.COM. 32