SlideShare ist ein Scribd-Unternehmen logo
1 von 50
Downloaden Sie, um offline zu lesen
1   Copyright © 2011, Oracle and/or its affiliates. All rights   Insert Information Protection Policy Classification from Slide 8
    reserved.
ADVANCED MYSQL REPLICATION ARCHITECTURES
                       Luís Soares                                                                                            Lars Thalmann, Development Director,
                       Sr. Software Developer                                                                                     Replication, Connectors and Backup
                       MySQL Replication Team Lead                                                                            Mats Kindahl, Lead Software Dev, Replication
          2   Copyright © 2011, Oracle and/or its affiliates. All rights   Insert Information Protection Policy Classification from Slide 8
Oracle Open World Latin America 2011
            reserved.
3   Copyright © 2011, Oracle and/or its affiliates. All rights
    reserved.
THE FOLLOWING 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 DECISION.

THE DEVELOPMENT, RELEASE, AND TIMING OF ANY
FEATURES   OR  FUNCTIONALITY    DESCRIBED   FOR
ORACLE'S PRODUCTS REMAINS AT THE SOLE DISCRETION
OF ORACLE.
4   Copyright © 2011, Oracle and/or its affiliates. All rights
    reserved.
Agenda

    ● MySQL                             Replication Basics
    ● Traditional                                  Architectures
    ● Load                     Balancing
    ● Data                    Aggregation and Multi-source Replication
    ● Hierarchical                                       Replication
    ● Data                    Integration
    ● Advanced                                    Replication Architectures Enablers

5   Copyright © 2011, Oracle and/or its affiliates. All rights
    reserved.
MySQL Replication Basics




6   Copyright © 2011, Oracle and/or its affiliates. All rights
    reserved.
Components
    ● Master

           ● Changes                          data
           ●     Logs changes (events) into a file (the binary log)
    ● Slave

           ● Retrieves                          events from the master
           ● Replays                       the events on the slaves databases
    ● Binary                 Log
           ● Records                        every change on the master (in either format: row or statement)
           ● Split             into transactional groups


7   Copyright © 2011, Oracle and/or its affiliates. All rights
    reserved.
Big Picture


    Session
    Session                                                      Dump     I/O               SQL
     Session




                                  Binary log                                    Relay log


                                                                 Master                      Slave


8   Copyright © 2011, Oracle and/or its affiliates. All rights
    reserved.
Propagation of Changes
    ●      Asynchronous Replication
                 ●       Transactions committed immediately
                 ●       Events are propagated after the commit operation is acknowledged
                 ●       Faster but vulnerable to lost updates on server crashes and
                         inconsistency
                 ●       Built into the server
    ●      Semi-synchronous Replication
                 ●       Master commits transaction but waits for N slaves to acknowledge
                         having received and stored the correspondent event before replying to
                         the client
9       Copyright © 2011, Oracle and/or its affiliates. All rights
        reserved.
Traditional Architectures




10   Copyright © 2011, Oracle and/or its affiliates. All rights
     reserved.
Single Master, Single Slave
                                                                  ●   Backups
                        Master                                    ●   Reports
                                                                  ●   Disaster Recovery (geographically distant
                                                                      servers)
                                                                  ●   Recovering from Human errors (Time-delayed
                                                                      replication)

                           Slave                                  ●   Add more slaves seamlessly




11   Copyright © 2011, Oracle and/or its affiliates. All rights
     reserved.
Scaling-out read operations
                                                                                    ●   Off-loading the master
                                                                                          ●   Different type of queries routed to
        Master                                                                                different servers
                                                                  Writes
                                                                                    ●   Different hardware profiles for master
                                                                                        and slaves
                                                                           Client
                                                                                          ●   SSD for enhancing master
                                                                                              performance

             Slave                                                                        ●   Large RAM / caches to enhance
            Slave
           Slave                                                                              Slaves performance
                                                                  Reads
                                                                                    ●   Load Balancing
                                                                                    ●   Query routing policies

12   Copyright © 2011, Oracle and/or its affiliates. All rights
     reserved.
Relay Server
                                                                  ●   Relay Slave.
                  Master                                          ●   Blackhole storage engine.
                                                                        ●   No data stored on the relay slave.
                                                                  ●   Reduce load at the master.
                    Relay
                                                                  ●   Improved master side filtering.
                                                                        ●   Sensitive data can be kept only at one

              S1
             S1
           Slave N                                                ●
                                                                            physical server.
                                                                      Relay has binary log active.


13   Copyright © 2011, Oracle and/or its affiliates. All rights
     reserved.
High Availability
                                                                                            Virtula IP Manager
Master                                      Master                                     Master               Master

                                                                                           Shared/replicated disk
                                                                   Dual Masters        Binlog                Binlog
                          Slave


                                                                   Master         Master
                                                                                                        Active/Passive
                                                                                                         Shared disk
  Circular
 Replication                                                       Master         Master

 14   Copyright © 2011, Oracle and/or its affiliates. All rights
      reserved.
High Availability
     ●      High Availability: fail over
                 ●      Servers can crash (hardware, software or even power failure).
                 ●      Services should not.
     ●      Dual masters, circular replication (conflict free partition workload on each).
                 ●      Seamless fail-over of affected partitions
                 ●      Scaling out with slaves.
                               ●    Ready to step up and replace a failed master (on dual masters watch out
                                    whether the slave is already ahead of second master – slave promotion
                                    instead)
     ●      Active / Passive – binlog is shared by the two master's, on fail-over binlog positions
            match

15       Copyright © 2011, Oracle and/or its affiliates. All rights
         reserved.
Load Balancing




16   Copyright © 2011, Oracle and/or its affiliates. All rights
     reserved.
Load Balancing                                                        Writes to a
                                                      Master               master.

                                                                                         Client


                                                                             Reads from a
                                                                             pool of slaves.

                                                                             Which one?



     Slave                                            Slave        Slave


17    Copyright © 2011, Oracle and/or its affiliates. All rights
      reserved.
Load Balancing: Application Level                                     Writes to a
                                                      Master               master

                                                                                    Client




                                                                           Which server should
                                                                           I use for this query?



                                                                                     LB
     Slave                                            Slave        Slave


18    Copyright © 2011, Oracle and/or its affiliates. All rights
      reserved.
Load Balancing: Intermediate Proxy Writes to a
                                                      Master                       master
                                                                           LB
                                                                                            Client

                                                                                Reads from a
                                                                                slave in a pool
                                                                                of slaves.



                                                                                  Read/Write Split


     Slave                                            Slave        Slave


19    Copyright © 2011, Oracle and/or its affiliates. All rights
      reserved.
Load Balancing
     ●   Requires monitoring tools (status and performance)
              ●      Servers crash every now and then!
     ●   Requires intelligent query routing (reads vs writes)
              ●      Which queries go where?
     ●   Session consistency is something to keep in mind!
     ●   Enter MySQL Proxy, PHP mysqlnd, ...
              ●      http://dev.mysql.com/doc/refman/5.5/en/mysql-proxy.html
              ●      http://dev.mysql.com/downloads/connector/php-mysqlnd
                            ●     http://blog.ulf-wendel.de/?p=320

20   Copyright © 2011, Oracle and/or its affiliates. All rights
     reserved.
Hierarchical Replication




21   Copyright © 2011, Oracle and/or its affiliates. All rights
     reserved.
Hierarchical Replication
                                                     Master
                                                                    Writes

                                                                                     Client

                                 Master becomes
                                   overloaded!
                                                                             Reads




                   Hundreds of slaves connected to the master.
                                                                  ...
22   Copyright © 2011, Oracle and/or its affiliates. All rights
     reserved.
Hierarchical Replication
                                                       Master
                                                                            Writes

                                                                                             Client


                                Relay                               Relay
                                Slave                               Slave
                                                                                     Reads


                                                                            Leaf or Relay
                                                                            Servers
Hundreds of slaves more down the hierarchy ...
  23   Copyright © 2011, Oracle and/or its affiliates. All rights
       reserved.
Hierarchical Replication
     ●   Scale-out hundreds of servers
               ●      Blackhole storage engine on relays.
               ●      Relay servers have binary logs ON, leaf slaves do not need it.
     ●   Group data domains/partitions
               ●      Sensitive information routed through parts of the hierarchy.
               ●      Event filtering.




24   Copyright © 2011, Oracle and/or its affiliates. All rights
     reserved.
Hierarchical Replication
     ●   Hierarchy-wide consistency!
               ●      Asynchronous propagation => writes take time to propagate from master
                      to slaves: reads on a slave may show stale data.
               ●      Event positions are filename and offset => different on every intermediate
                      slave.
               ●      Wait for data to propagate.
                              ●     global transaction identifiers.
                              ●     poll each relay server down the chain until data has propagated.




25   Copyright © 2011, Oracle and/or its affiliates. All rights
     reserved.
Data Aggregation: Multi-source Replication




26   Copyright © 2011, Oracle and/or its affiliates. All rights
     reserved.
Multi-source Replication
     ●     Why?
                 ●     Aggregate data from different masters, different data-centers, different clusters
     ●     How?
                 ●     Time-share Replication
                             ●     Typically round-robin policy
                             ●     Aggregating data from clusters in different timezones
                             ●     Slave controlled by specific client
                             ●     You can do it all at SQL level
                 ●     Inter-cluster
     ●     Requirements: Conflict free load


27       Copyright © 2011, Oracle and/or its affiliates. All rights
         reserved.
Multi-source Replication

                                                       Master 1   Master 2   Master 3




                                                                                        Conflicts?
              Replication
              Stream is
                Single
              Threaded
                                                                                  Binlog
                                                                   Slave         Position
                                                                               Bookkeeping

28   Copyright © 2011, Oracle and/or its affiliates. All rights
     reserved.
Multi-source Replication: Time share

                                                       Master 1   Master 2   Master 3




                                                                               No conflict resolution, so let
                                                                               masters update different data
                           Control
                           Client                                  Slave



29   Copyright © 2011, Oracle and/or its affiliates. All rights
     reserved.
Multi-source Replication: Control Client
     import itertools

     position = {}
     def round_robin_multi_master(slave, masters):
       current = masters[0]
       for master in itertools.cycle(masters):
           slave.sql("STOP SLAVE IO_THREAD");
           mysqlrep.wait_for_empty_relay_log(slave)
           slave.sql("STOP SLAVE SQL_THREAD");
           position[current.name] = mysqlrep.fetch_slave_position(slave)
           slave.change_master(position[current.name])
           master.sql("START SLAVE")
           current = master
           sleep(60)          # Sleep 1 minute


30    Copyright © 2011, Oracle and/or its affiliates. All rights
      reserved.
Inter-cluster Multi-source Replication

         MySQL                                                               MySQL
         Cluster                                                             Cluster
                                Server                                  Server



                                                                                       Again, no conflict resolution,
                                                                                       so let masters update different
                                                                                       data
                                                   Server          Server
                                                             MySQL
                                                             Cluster



31   Copyright © 2011, Oracle and/or its affiliates. All rights
     reserved.
Data Integration




32   Copyright © 2011, Oracle and/or its affiliates. All rights
     reserved.
Integrate Data Into Other Systems
                                                                                        HBASE       Data Mining
                                                             Master


       Client                                                                 Dump
                                                                             Dump
Client                                                                         Dump                      ?
  Client
                                                                    Binlog

                                                                             MySQL
                                                                                      SOLR
                                                                              Slave
                                                                                             Full Text
                                                                                             Search

  33   Copyright © 2011, Oracle and/or its affiliates. All rights
       reserved.
Integrate Data Into Other Systems
     via mysql binary log API
                                                                       Handles binlog events,
                                                                       translates them and
Dump                           Server                                  pushes data to SOLR

                                                                   A
                                                                   P        Transformer         SOLR
                                                                   I
                               File


           Binlog                                           Connects to and reads
                                                            from the binlog source
                                                            (either server or file)

34   Copyright © 2011, Oracle and/or its affiliates. All rights
     reserved.
Integrate Data Into Other Systems
     via mysql binary log API
                                                                  Event flow in the
                                                                  binary log API
                                                                  library when reading
                                                                  from a dump thread.




35   Copyright © 2011, Oracle and/or its affiliates. All rights
     reserved.
Integrate Data Into Other Systems
     ●   Library to process replication events
     ●   API ready to use
     ●   Simple, extensible, efficient
               ●      Just hook a client thread in the wait_for_next_event handler
     ●   It's out there:
               ●      https://launchpad.net/mysql-replication-listener
               ●      http://labs.mysql.com




36   Copyright © 2011, Oracle and/or its affiliates. All rights
     reserved.
Advanced Replication Architectures Enablers




37   Copyright © 2011, Oracle and/or its affiliates. All rights
     reserved.
Replication Metadata on System Tables                              5.6
●   Crash-safe (replication metadata stored in                              DMR
    transactional tables)
     ●    Robust, highly available setups
●   SQL interface to metadata
     ●    Access data through regular user session
     ●    Self-contained: time-shared multi-source                     VS
          easily implemented in SQL and in the server
     ●    Make use of special features like MySQL
          events, stored procedures, triggers, etc...




     38   Copyright © 2011, Oracle and/or its affiliates. All rights
          reserved.
Global Transaction Identifiers
     ●   Event positions in the binary log are a tuple: <filename, file offset>
               ●      Not very intuitive in a large hierarchical topology
               ●      Makes it hard to get most recent transaction - fail-over
     ●   Global transaction identifiers: <server_id, tx_seqno>
               ●      Makes hierarchical consistency checks and fail-over close to trivial
               ●      Early feature preview available on MySQL labs:
                              ●     http://labs.mysql.com




39   Copyright © 2011, Oracle and/or its affiliates. All rights
     reserved.
En
     MySQL Utilities: What is it?                                                t
                                                                               Re erp
                                                                                 ad ris
                                                                                   y! e
     ●   A collection of Python utilities for managing MySQL databases
     ●   Part of MySQL Workbench 5.2.31
     ●   Available under the GPLv2 license
     ●   Written in Python
     ●   Easily enhanced using a growing code library
     ●   Python library to grow solutions for common administrative problems




40   Copyright © 2011, Oracle and/or its affiliates. All rights
     reserved.
En
     MySQL Utilities: What is it?                                                                        t
                                                                                                       Re erp
                                                                                                         ad ris
                                                                                                           y! e

                                                                  Scripts          mysqlprocgrep




                                       Command                                  Common
                                        Module                                   Module

     mysql.utilities.command                                          mysql.utilities.common
                                                                                  MySQL Utilities Library

41   Copyright © 2011, Oracle and/or its affiliates. All rights
     reserved.
En
     MySQL Utilities: What can I do with it?                                                      t
                                                                                                Re erp
                                                                                                  ad ris
                                                                                                    y! e
     ●     Easily administer MySQL servers from the command line
                 ●
                          mysqldbcompare – compare databases
                 ●
                          mysqldbcopy – copy databases between servers
                 ●
                          mysqlprocgrep – search process information
                 ●
                          mysqlrplshow – show a graph of your topology
                 ●
                          mysqlreplicate – setup replication
                 ●
                          mysqlrplcheck – check replication configuration
                 ●
                          ...
     ●     Build your own tools on top of the core of the library, e.g., automate timeshare multi-
           source replication setup or failing-over to a slave


42       Copyright © 2011, Oracle and/or its affiliates. All rights
         reserved.
En
     MySQL Utilities: Where to go from here?                                      t
                                                                                Re erp
                                                                                  ad ris
                                                                                    y! e

        Download MySQL Workbench from:

                       http://www.mysql.com/downloads/workbench/

        You can also download the latest development source code tree for the
        MySQL Workbench Utilities from:

                      http://launchpad/net/mysql-utilities




43   Copyright © 2011, Oracle and/or its affiliates. All rights
     reserved.
MySQL Proxy
     ●   Simple program in-between client and mysql server
               ●      Monitor, analyze, transform, load balance
               ●      Use cases and possibilities are enormous
     ●   Available at:
               ●      http://dev.mysql.com/doc/refman/5.5/en/mysql-proxy.html




44   Copyright © 2011, Oracle and/or its affiliates. All rights
     reserved.
The Binary Log API
     ●   A C++ library used for connecting to a MySQL server and process the
         replication stream as a slave.
     ●   Enables complex setups and data streaming to heterogeneous slaves.
     ●   Available at:
               ●      https://launchpad.net/mysql-replication-listener
               ●      http://labs.mysql.com (binaries)




45   Copyright © 2011, Oracle and/or its affiliates. All rights
     reserved.
Summary




46   Copyright © 2011, Oracle and/or its affiliates. All rights
     reserved.
Summary
     ●     MySQL replication concepts and components: replication is simple
     ●     Popular MySQL replication use case scenarios: replication is flexible and versatile
     ●     Scenarios that take MySQL replication to a whole new more advanced level:
                ●     Load Balancing
                ●     Hierarchical replication
                ●     Data replication and aggregation
                ●     Data integration
     ●     MySQL features that are enablers for more advanced replication scenarios




47       Copyright © 2011, Oracle and/or its affiliates. All rights
         reserved.
Q&A


48   Copyright © 2011, Oracle and/or its affiliates. All rights
     reserved.
49   Copyright © 2011, Oracle and/or its affiliates. All rights
     reserved.
50   Copyright © 2011, Oracle and/or its affiliates. All rights   Insert Information Protection Policy Classification from Slide 8
     reserved.

Weitere ähnliche Inhalte

Was ist angesagt?

TWJUG August, MySQL JDBC Driver "Connector/J"
TWJUG August, MySQL JDBC Driver "Connector/J"TWJUG August, MySQL JDBC Driver "Connector/J"
TWJUG August, MySQL JDBC Driver "Connector/J"Ryusuke Kajiyama
 
MySQL Cluster as Transactional NoSQL (KVS)
MySQL Cluster as Transactional NoSQL (KVS)MySQL Cluster as Transactional NoSQL (KVS)
MySQL Cluster as Transactional NoSQL (KVS)Ryusuke Kajiyama
 
20140722 Taiwan MySQL User Group Meeting Tech Updates
20140722 Taiwan MySQL User Group Meeting Tech Updates20140722 Taiwan MySQL User Group Meeting Tech Updates
20140722 Taiwan MySQL User Group Meeting Tech UpdatesRyusuke Kajiyama
 
My sql susecon_crashcourse_2012
My sql susecon_crashcourse_2012My sql susecon_crashcourse_2012
My sql susecon_crashcourse_2012sqlhjalp
 
MySQL InnoDB Cluster and MySQL Group Replication @HKOSC 2017
MySQL InnoDB Cluster and MySQL Group Replication @HKOSC 2017MySQL InnoDB Cluster and MySQL Group Replication @HKOSC 2017
MySQL InnoDB Cluster and MySQL Group Replication @HKOSC 2017Ivan Ma
 
MySQL 5.6 Updates
MySQL 5.6 UpdatesMySQL 5.6 Updates
MySQL 5.6 UpdatesDave Stokes
 
New awesome features in MySQL 5.7
New awesome features in MySQL 5.7New awesome features in MySQL 5.7
New awesome features in MySQL 5.7Zhaoyang Wang
 
2012 scale replication
2012 scale replication2012 scale replication
2012 scale replicationsqlhjalp
 
MySQL InnoDB Cluster / ReplicaSet - Tutorial
MySQL InnoDB Cluster / ReplicaSet - TutorialMySQL InnoDB Cluster / ReplicaSet - Tutorial
MySQL InnoDB Cluster / ReplicaSet - TutorialKenny Gryp
 
MySQL Shell - The Best MySQL DBA Tool
MySQL Shell - The Best MySQL DBA ToolMySQL Shell - The Best MySQL DBA Tool
MySQL Shell - The Best MySQL DBA ToolMiguel Araújo
 
2012 replication
2012 replication2012 replication
2012 replicationsqlhjalp
 
MySQL Replication Performance in the Cloud
MySQL Replication Performance in the CloudMySQL Replication Performance in the Cloud
MySQL Replication Performance in the CloudVitor Oliveira
 
MySQL Fabric: Easy Management of MySQL Servers
MySQL Fabric: Easy Management of MySQL ServersMySQL Fabric: Easy Management of MySQL Servers
MySQL Fabric: Easy Management of MySQL ServersMats Kindahl
 
My sql 56_roadmap_april2012
My sql 56_roadmap_april2012My sql 56_roadmap_april2012
My sql 56_roadmap_april2012sqlhjalp
 
MySQL Replication Performance Tuning for Fun and Profit!
MySQL Replication Performance Tuning for Fun and Profit!MySQL Replication Performance Tuning for Fun and Profit!
MySQL Replication Performance Tuning for Fun and Profit!Vitor Oliveira
 
My sql crashcourse_intro_kdl
My sql crashcourse_intro_kdlMy sql crashcourse_intro_kdl
My sql crashcourse_intro_kdlsqlhjalp
 
What's New in MySQL 5.6
What's New in MySQL 5.6What's New in MySQL 5.6
What's New in MySQL 5.6Santo Leto
 
2012 ohiolinuxfest replication
2012 ohiolinuxfest replication2012 ohiolinuxfest replication
2012 ohiolinuxfest replicationsqlhjalp
 
MySQL For Oracle DBA's and Developers
MySQL For Oracle DBA's and DevelopersMySQL For Oracle DBA's and Developers
MySQL For Oracle DBA's and DevelopersRonald Bradford
 

Was ist angesagt? (20)

TWJUG August, MySQL JDBC Driver "Connector/J"
TWJUG August, MySQL JDBC Driver "Connector/J"TWJUG August, MySQL JDBC Driver "Connector/J"
TWJUG August, MySQL JDBC Driver "Connector/J"
 
MySQL Cluster as Transactional NoSQL (KVS)
MySQL Cluster as Transactional NoSQL (KVS)MySQL Cluster as Transactional NoSQL (KVS)
MySQL Cluster as Transactional NoSQL (KVS)
 
20140722 Taiwan MySQL User Group Meeting Tech Updates
20140722 Taiwan MySQL User Group Meeting Tech Updates20140722 Taiwan MySQL User Group Meeting Tech Updates
20140722 Taiwan MySQL User Group Meeting Tech Updates
 
My sql susecon_crashcourse_2012
My sql susecon_crashcourse_2012My sql susecon_crashcourse_2012
My sql susecon_crashcourse_2012
 
MySQL InnoDB Cluster and MySQL Group Replication @HKOSC 2017
MySQL InnoDB Cluster and MySQL Group Replication @HKOSC 2017MySQL InnoDB Cluster and MySQL Group Replication @HKOSC 2017
MySQL InnoDB Cluster and MySQL Group Replication @HKOSC 2017
 
MySQL 5.6 Updates
MySQL 5.6 UpdatesMySQL 5.6 Updates
MySQL 5.6 Updates
 
New awesome features in MySQL 5.7
New awesome features in MySQL 5.7New awesome features in MySQL 5.7
New awesome features in MySQL 5.7
 
2012 scale replication
2012 scale replication2012 scale replication
2012 scale replication
 
MySQL InnoDB Cluster / ReplicaSet - Tutorial
MySQL InnoDB Cluster / ReplicaSet - TutorialMySQL InnoDB Cluster / ReplicaSet - Tutorial
MySQL InnoDB Cluster / ReplicaSet - Tutorial
 
MySQL Shell - The Best MySQL DBA Tool
MySQL Shell - The Best MySQL DBA ToolMySQL Shell - The Best MySQL DBA Tool
MySQL Shell - The Best MySQL DBA Tool
 
2012 replication
2012 replication2012 replication
2012 replication
 
MySQL Replication Performance in the Cloud
MySQL Replication Performance in the CloudMySQL Replication Performance in the Cloud
MySQL Replication Performance in the Cloud
 
MySQL Fabric: Easy Management of MySQL Servers
MySQL Fabric: Easy Management of MySQL ServersMySQL Fabric: Easy Management of MySQL Servers
MySQL Fabric: Easy Management of MySQL Servers
 
My sql 56_roadmap_april2012
My sql 56_roadmap_april2012My sql 56_roadmap_april2012
My sql 56_roadmap_april2012
 
MySQL Replication Performance Tuning for Fun and Profit!
MySQL Replication Performance Tuning for Fun and Profit!MySQL Replication Performance Tuning for Fun and Profit!
MySQL Replication Performance Tuning for Fun and Profit!
 
My sql crashcourse_intro_kdl
My sql crashcourse_intro_kdlMy sql crashcourse_intro_kdl
My sql crashcourse_intro_kdl
 
What's New in MySQL 5.6
What's New in MySQL 5.6What's New in MySQL 5.6
What's New in MySQL 5.6
 
2012 ohiolinuxfest replication
2012 ohiolinuxfest replication2012 ohiolinuxfest replication
2012 ohiolinuxfest replication
 
MySQL Cluster
MySQL ClusterMySQL Cluster
MySQL Cluster
 
MySQL For Oracle DBA's and Developers
MySQL For Oracle DBA's and DevelopersMySQL For Oracle DBA's and Developers
MySQL For Oracle DBA's and Developers
 

Ähnlich wie MySQL Replication Architectures

Less14 br concepts
Less14 br conceptsLess14 br concepts
Less14 br conceptsAmit Bhalla
 
Santo Leto - MySQL Connect 2012 - Getting Started with Mysql Cluster
Santo Leto - MySQL Connect 2012 - Getting Started with Mysql ClusterSanto Leto - MySQL Connect 2012 - Getting Started with Mysql Cluster
Santo Leto - MySQL Connect 2012 - Getting Started with Mysql ClusterSanto Leto
 
Built-in Replication in PostgreSQL
Built-in Replication in PostgreSQLBuilt-in Replication in PostgreSQL
Built-in Replication in PostgreSQLMasao Fujii
 
Implementing the Future of PostgreSQL Clustering with Tungsten
Implementing the Future of PostgreSQL Clustering with TungstenImplementing the Future of PostgreSQL Clustering with Tungsten
Implementing the Future of PostgreSQL Clustering with TungstenCommand Prompt., Inc
 
Synchronous Log Shipping Replication
Synchronous Log Shipping ReplicationSynchronous Log Shipping Replication
Synchronous Log Shipping Replicationelliando dias
 
My sql 5.6_replwebinar_may12
My sql 5.6_replwebinar_may12My sql 5.6_replwebinar_may12
My sql 5.6_replwebinar_may12Mat Keep
 
Oracle to MySQL 2012
Oracle to MySQL  2012 Oracle to MySQL  2012
Oracle to MySQL 2012 Marco Tusa
 
D17316 gc20 l03_broker_em
D17316 gc20 l03_broker_emD17316 gc20 l03_broker_em
D17316 gc20 l03_broker_emMoeen_uddin
 
MySql's NoSQL -- best of both worlds on the same disks
MySql's NoSQL -- best of both worlds on the same disksMySql's NoSQL -- best of both worlds on the same disks
MySql's NoSQL -- best of both worlds on the same disksDave Stokes
 
D17316 gc20 l01_overview
D17316 gc20 l01_overviewD17316 gc20 l01_overview
D17316 gc20 l01_overviewMoeen_uddin
 
Debugging and Configuration Best Practices for Oracle Linux
Debugging and Configuration Best Practices for Oracle LinuxDebugging and Configuration Best Practices for Oracle Linux
Debugging and Configuration Best Practices for Oracle LinuxTerry Wang
 
Ebs troubleshooting con9019_pdf_9019_0001
Ebs troubleshooting con9019_pdf_9019_0001Ebs troubleshooting con9019_pdf_9019_0001
Ebs troubleshooting con9019_pdf_9019_0001jucaab
 
Oracle Linux Nov 2011 Webcast
Oracle Linux Nov 2011 WebcastOracle Linux Nov 2011 Webcast
Oracle Linux Nov 2011 WebcastTerry Wang
 
MySQL Cluster Asynchronous replication (2014)
MySQL Cluster Asynchronous replication (2014) MySQL Cluster Asynchronous replication (2014)
MySQL Cluster Asynchronous replication (2014) Frazer Clement
 
MySQL High Availability Solutions
MySQL High Availability SolutionsMySQL High Availability Solutions
MySQL High Availability SolutionsLenz Grimmer
 
Mysqlhacodebits20091203 1260184765-phpapp02
Mysqlhacodebits20091203 1260184765-phpapp02Mysqlhacodebits20091203 1260184765-phpapp02
Mysqlhacodebits20091203 1260184765-phpapp02Louis liu
 
MySQL High Availability Solutions
MySQL High Availability SolutionsMySQL High Availability Solutions
MySQL High Availability SolutionsLenz Grimmer
 
Embracing Database Diversity: The New Oracle / MySQL DBA - UKOUG
Embracing Database Diversity: The New Oracle / MySQL DBA -   UKOUGEmbracing Database Diversity: The New Oracle / MySQL DBA -   UKOUG
Embracing Database Diversity: The New Oracle / MySQL DBA - UKOUGKeith Hollman
 

Ähnlich wie MySQL Replication Architectures (20)

Less14 br concepts
Less14 br conceptsLess14 br concepts
Less14 br concepts
 
Santo Leto - MySQL Connect 2012 - Getting Started with Mysql Cluster
Santo Leto - MySQL Connect 2012 - Getting Started with Mysql ClusterSanto Leto - MySQL Connect 2012 - Getting Started with Mysql Cluster
Santo Leto - MySQL Connect 2012 - Getting Started with Mysql Cluster
 
Built-in Replication in PostgreSQL
Built-in Replication in PostgreSQLBuilt-in Replication in PostgreSQL
Built-in Replication in PostgreSQL
 
Implementing the Future of PostgreSQL Clustering with Tungsten
Implementing the Future of PostgreSQL Clustering with TungstenImplementing the Future of PostgreSQL Clustering with Tungsten
Implementing the Future of PostgreSQL Clustering with Tungsten
 
Synchronous Log Shipping Replication
Synchronous Log Shipping ReplicationSynchronous Log Shipping Replication
Synchronous Log Shipping Replication
 
My sql 5.6_replwebinar_may12
My sql 5.6_replwebinar_may12My sql 5.6_replwebinar_may12
My sql 5.6_replwebinar_may12
 
PostgreSQL replication
PostgreSQL replicationPostgreSQL replication
PostgreSQL replication
 
Oracle to MySQL 2012
Oracle to MySQL  2012 Oracle to MySQL  2012
Oracle to MySQL 2012
 
D17316 gc20 l03_broker_em
D17316 gc20 l03_broker_emD17316 gc20 l03_broker_em
D17316 gc20 l03_broker_em
 
MySql's NoSQL -- best of both worlds on the same disks
MySql's NoSQL -- best of both worlds on the same disksMySql's NoSQL -- best of both worlds on the same disks
MySql's NoSQL -- best of both worlds on the same disks
 
D17316 gc20 l01_overview
D17316 gc20 l01_overviewD17316 gc20 l01_overview
D17316 gc20 l01_overview
 
Debugging and Configuration Best Practices for Oracle Linux
Debugging and Configuration Best Practices for Oracle LinuxDebugging and Configuration Best Practices for Oracle Linux
Debugging and Configuration Best Practices for Oracle Linux
 
Ebs troubleshooting con9019_pdf_9019_0001
Ebs troubleshooting con9019_pdf_9019_0001Ebs troubleshooting con9019_pdf_9019_0001
Ebs troubleshooting con9019_pdf_9019_0001
 
Oracle Linux Nov 2011 Webcast
Oracle Linux Nov 2011 WebcastOracle Linux Nov 2011 Webcast
Oracle Linux Nov 2011 Webcast
 
MySQL Cluster Asynchronous replication (2014)
MySQL Cluster Asynchronous replication (2014) MySQL Cluster Asynchronous replication (2014)
MySQL Cluster Asynchronous replication (2014)
 
Oracle ksplice
Oracle kspliceOracle ksplice
Oracle ksplice
 
MySQL High Availability Solutions
MySQL High Availability SolutionsMySQL High Availability Solutions
MySQL High Availability Solutions
 
Mysqlhacodebits20091203 1260184765-phpapp02
Mysqlhacodebits20091203 1260184765-phpapp02Mysqlhacodebits20091203 1260184765-phpapp02
Mysqlhacodebits20091203 1260184765-phpapp02
 
MySQL High Availability Solutions
MySQL High Availability SolutionsMySQL High Availability Solutions
MySQL High Availability Solutions
 
Embracing Database Diversity: The New Oracle / MySQL DBA - UKOUG
Embracing Database Diversity: The New Oracle / MySQL DBA -   UKOUGEmbracing Database Diversity: The New Oracle / MySQL DBA -   UKOUG
Embracing Database Diversity: The New Oracle / MySQL DBA - UKOUG
 

Mehr von MySQL Brasil

MySQL como Document Store PHP Conference 2017
MySQL como Document Store PHP Conference 2017MySQL como Document Store PHP Conference 2017
MySQL como Document Store PHP Conference 2017MySQL Brasil
 
MySQL no Paypal Tesla e Uber
MySQL no Paypal Tesla e UberMySQL no Paypal Tesla e Uber
MySQL no Paypal Tesla e UberMySQL Brasil
 
Alta disponibilidade com MySQL Enterprise
Alta disponibilidade com MySQL EnterpriseAlta disponibilidade com MySQL Enterprise
Alta disponibilidade com MySQL EnterpriseMySQL Brasil
 
MySQL Roadmap NoSQL HA Fev17
MySQL Roadmap NoSQL HA Fev17MySQL Roadmap NoSQL HA Fev17
MySQL Roadmap NoSQL HA Fev17MySQL Brasil
 
Segurança no MySQL
Segurança no MySQLSegurança no MySQL
Segurança no MySQLMySQL Brasil
 
5 razões estratégicas para usar MySQL
5 razões estratégicas para usar MySQL5 razões estratégicas para usar MySQL
5 razões estratégicas para usar MySQLMySQL Brasil
 
Alta disponibilidade no MySQL 5.7 GUOB 2016
Alta disponibilidade no MySQL 5.7 GUOB 2016Alta disponibilidade no MySQL 5.7 GUOB 2016
Alta disponibilidade no MySQL 5.7 GUOB 2016MySQL Brasil
 
MySQL 5.7 como Document Store
MySQL 5.7 como Document StoreMySQL 5.7 como Document Store
MySQL 5.7 como Document StoreMySQL Brasil
 
Enabling digital transformation with MySQL
Enabling digital transformation with MySQLEnabling digital transformation with MySQL
Enabling digital transformation with MySQLMySQL Brasil
 
Alta Disponibilidade no MySQL 5.7 para aplicações em PHP
Alta Disponibilidade no MySQL 5.7 para aplicações em PHPAlta Disponibilidade no MySQL 5.7 para aplicações em PHP
Alta Disponibilidade no MySQL 5.7 para aplicações em PHPMySQL Brasil
 
Alta Disponibilidade no MySQL 5.7
Alta Disponibilidade no MySQL 5.7Alta Disponibilidade no MySQL 5.7
Alta Disponibilidade no MySQL 5.7MySQL Brasil
 
NoSQL no MySQL 5.7
NoSQL no MySQL 5.7NoSQL no MySQL 5.7
NoSQL no MySQL 5.7MySQL Brasil
 
10 Razões para Usar MySQL em Startups
10 Razões para Usar MySQL em Startups10 Razões para Usar MySQL em Startups
10 Razões para Usar MySQL em StartupsMySQL Brasil
 
Novidades do MySQL para desenvolvedores ago15
Novidades do MySQL para desenvolvedores ago15Novidades do MySQL para desenvolvedores ago15
Novidades do MySQL para desenvolvedores ago15MySQL Brasil
 
Estratégias de Segurança e Gerenciamento para MySQL
Estratégias de Segurança e Gerenciamento para MySQLEstratégias de Segurança e Gerenciamento para MySQL
Estratégias de Segurança e Gerenciamento para MySQLMySQL Brasil
 
Novidades do Universo MySQL julho-15
Novidades do Universo MySQL julho-15Novidades do Universo MySQL julho-15
Novidades do Universo MySQL julho-15MySQL Brasil
 
Serviços Escaláveis e de Alta Performance com MySQL e Java
Serviços Escaláveis e de Alta Performance com MySQL e JavaServiços Escaláveis e de Alta Performance com MySQL e Java
Serviços Escaláveis e de Alta Performance com MySQL e JavaMySQL Brasil
 
MySQL The State of the Dolphin - jun15
MySQL The State of the Dolphin - jun15MySQL The State of the Dolphin - jun15
MySQL The State of the Dolphin - jun15MySQL Brasil
 

Mehr von MySQL Brasil (20)

MySQL como Document Store PHP Conference 2017
MySQL como Document Store PHP Conference 2017MySQL como Document Store PHP Conference 2017
MySQL como Document Store PHP Conference 2017
 
MySQL no Paypal Tesla e Uber
MySQL no Paypal Tesla e UberMySQL no Paypal Tesla e Uber
MySQL no Paypal Tesla e Uber
 
MySQL 8.0.1 DMR
MySQL 8.0.1 DMRMySQL 8.0.1 DMR
MySQL 8.0.1 DMR
 
Alta disponibilidade com MySQL Enterprise
Alta disponibilidade com MySQL EnterpriseAlta disponibilidade com MySQL Enterprise
Alta disponibilidade com MySQL Enterprise
 
MySQL Roadmap NoSQL HA Fev17
MySQL Roadmap NoSQL HA Fev17MySQL Roadmap NoSQL HA Fev17
MySQL Roadmap NoSQL HA Fev17
 
Segurança no MySQL
Segurança no MySQLSegurança no MySQL
Segurança no MySQL
 
5 razões estratégicas para usar MySQL
5 razões estratégicas para usar MySQL5 razões estratégicas para usar MySQL
5 razões estratégicas para usar MySQL
 
Alta disponibilidade no MySQL 5.7 GUOB 2016
Alta disponibilidade no MySQL 5.7 GUOB 2016Alta disponibilidade no MySQL 5.7 GUOB 2016
Alta disponibilidade no MySQL 5.7 GUOB 2016
 
MySQL 5.7 como Document Store
MySQL 5.7 como Document StoreMySQL 5.7 como Document Store
MySQL 5.7 como Document Store
 
Enabling digital transformation with MySQL
Enabling digital transformation with MySQLEnabling digital transformation with MySQL
Enabling digital transformation with MySQL
 
Alta Disponibilidade no MySQL 5.7 para aplicações em PHP
Alta Disponibilidade no MySQL 5.7 para aplicações em PHPAlta Disponibilidade no MySQL 5.7 para aplicações em PHP
Alta Disponibilidade no MySQL 5.7 para aplicações em PHP
 
Alta Disponibilidade no MySQL 5.7
Alta Disponibilidade no MySQL 5.7Alta Disponibilidade no MySQL 5.7
Alta Disponibilidade no MySQL 5.7
 
NoSQL no MySQL 5.7
NoSQL no MySQL 5.7NoSQL no MySQL 5.7
NoSQL no MySQL 5.7
 
OpenStack & MySQL
OpenStack & MySQLOpenStack & MySQL
OpenStack & MySQL
 
10 Razões para Usar MySQL em Startups
10 Razões para Usar MySQL em Startups10 Razões para Usar MySQL em Startups
10 Razões para Usar MySQL em Startups
 
Novidades do MySQL para desenvolvedores ago15
Novidades do MySQL para desenvolvedores ago15Novidades do MySQL para desenvolvedores ago15
Novidades do MySQL para desenvolvedores ago15
 
Estratégias de Segurança e Gerenciamento para MySQL
Estratégias de Segurança e Gerenciamento para MySQLEstratégias de Segurança e Gerenciamento para MySQL
Estratégias de Segurança e Gerenciamento para MySQL
 
Novidades do Universo MySQL julho-15
Novidades do Universo MySQL julho-15Novidades do Universo MySQL julho-15
Novidades do Universo MySQL julho-15
 
Serviços Escaláveis e de Alta Performance com MySQL e Java
Serviços Escaláveis e de Alta Performance com MySQL e JavaServiços Escaláveis e de Alta Performance com MySQL e Java
Serviços Escaláveis e de Alta Performance com MySQL e Java
 
MySQL The State of the Dolphin - jun15
MySQL The State of the Dolphin - jun15MySQL The State of the Dolphin - jun15
MySQL The State of the Dolphin - jun15
 

Kürzlich hochgeladen

Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 

Kürzlich hochgeladen (20)

Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 

MySQL Replication Architectures

  • 1. 1 Copyright © 2011, Oracle and/or its affiliates. All rights Insert Information Protection Policy Classification from Slide 8 reserved.
  • 2. ADVANCED MYSQL REPLICATION ARCHITECTURES Luís Soares Lars Thalmann, Development Director, Sr. Software Developer Replication, Connectors and Backup MySQL Replication Team Lead Mats Kindahl, Lead Software Dev, Replication 2 Copyright © 2011, Oracle and/or its affiliates. All rights Insert Information Protection Policy Classification from Slide 8 Oracle Open World Latin America 2011 reserved.
  • 3. 3 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 4. THE FOLLOWING 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 DECISION. THE DEVELOPMENT, RELEASE, AND TIMING OF ANY FEATURES OR FUNCTIONALITY DESCRIBED FOR ORACLE'S PRODUCTS REMAINS AT THE SOLE DISCRETION OF ORACLE. 4 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 5. Agenda ● MySQL Replication Basics ● Traditional Architectures ● Load Balancing ● Data Aggregation and Multi-source Replication ● Hierarchical Replication ● Data Integration ● Advanced Replication Architectures Enablers 5 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 6. MySQL Replication Basics 6 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 7. Components ● Master ● Changes data ● Logs changes (events) into a file (the binary log) ● Slave ● Retrieves events from the master ● Replays the events on the slaves databases ● Binary Log ● Records every change on the master (in either format: row or statement) ● Split into transactional groups 7 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 8. Big Picture Session Session Dump I/O SQL Session Binary log Relay log Master Slave 8 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 9. Propagation of Changes ● Asynchronous Replication ● Transactions committed immediately ● Events are propagated after the commit operation is acknowledged ● Faster but vulnerable to lost updates on server crashes and inconsistency ● Built into the server ● Semi-synchronous Replication ● Master commits transaction but waits for N slaves to acknowledge having received and stored the correspondent event before replying to the client 9 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 10. Traditional Architectures 10 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 11. Single Master, Single Slave ● Backups Master ● Reports ● Disaster Recovery (geographically distant servers) ● Recovering from Human errors (Time-delayed replication) Slave ● Add more slaves seamlessly 11 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 12. Scaling-out read operations ● Off-loading the master ● Different type of queries routed to Master different servers Writes ● Different hardware profiles for master and slaves Client ● SSD for enhancing master performance Slave ● Large RAM / caches to enhance Slave Slave Slaves performance Reads ● Load Balancing ● Query routing policies 12 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 13. Relay Server ● Relay Slave. Master ● Blackhole storage engine. ● No data stored on the relay slave. ● Reduce load at the master. Relay ● Improved master side filtering. ● Sensitive data can be kept only at one S1 S1 Slave N ● physical server. Relay has binary log active. 13 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 14. High Availability Virtula IP Manager Master Master Master Master Shared/replicated disk Dual Masters Binlog Binlog Slave Master Master Active/Passive Shared disk Circular Replication Master Master 14 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 15. High Availability ● High Availability: fail over ● Servers can crash (hardware, software or even power failure). ● Services should not. ● Dual masters, circular replication (conflict free partition workload on each). ● Seamless fail-over of affected partitions ● Scaling out with slaves. ● Ready to step up and replace a failed master (on dual masters watch out whether the slave is already ahead of second master – slave promotion instead) ● Active / Passive – binlog is shared by the two master's, on fail-over binlog positions match 15 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 16. Load Balancing 16 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 17. Load Balancing Writes to a Master master. Client Reads from a pool of slaves. Which one? Slave Slave Slave 17 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 18. Load Balancing: Application Level Writes to a Master master Client Which server should I use for this query? LB Slave Slave Slave 18 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 19. Load Balancing: Intermediate Proxy Writes to a Master master LB Client Reads from a slave in a pool of slaves. Read/Write Split Slave Slave Slave 19 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 20. Load Balancing ● Requires monitoring tools (status and performance) ● Servers crash every now and then! ● Requires intelligent query routing (reads vs writes) ● Which queries go where? ● Session consistency is something to keep in mind! ● Enter MySQL Proxy, PHP mysqlnd, ... ● http://dev.mysql.com/doc/refman/5.5/en/mysql-proxy.html ● http://dev.mysql.com/downloads/connector/php-mysqlnd ● http://blog.ulf-wendel.de/?p=320 20 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 21. Hierarchical Replication 21 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 22. Hierarchical Replication Master Writes Client Master becomes overloaded! Reads Hundreds of slaves connected to the master. ... 22 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 23. Hierarchical Replication Master Writes Client Relay Relay Slave Slave Reads Leaf or Relay Servers Hundreds of slaves more down the hierarchy ... 23 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 24. Hierarchical Replication ● Scale-out hundreds of servers ● Blackhole storage engine on relays. ● Relay servers have binary logs ON, leaf slaves do not need it. ● Group data domains/partitions ● Sensitive information routed through parts of the hierarchy. ● Event filtering. 24 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 25. Hierarchical Replication ● Hierarchy-wide consistency! ● Asynchronous propagation => writes take time to propagate from master to slaves: reads on a slave may show stale data. ● Event positions are filename and offset => different on every intermediate slave. ● Wait for data to propagate. ● global transaction identifiers. ● poll each relay server down the chain until data has propagated. 25 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 26. Data Aggregation: Multi-source Replication 26 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 27. Multi-source Replication ● Why? ● Aggregate data from different masters, different data-centers, different clusters ● How? ● Time-share Replication ● Typically round-robin policy ● Aggregating data from clusters in different timezones ● Slave controlled by specific client ● You can do it all at SQL level ● Inter-cluster ● Requirements: Conflict free load 27 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 28. Multi-source Replication Master 1 Master 2 Master 3 Conflicts? Replication Stream is Single Threaded Binlog Slave Position Bookkeeping 28 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 29. Multi-source Replication: Time share Master 1 Master 2 Master 3 No conflict resolution, so let masters update different data Control Client Slave 29 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 30. Multi-source Replication: Control Client import itertools position = {} def round_robin_multi_master(slave, masters): current = masters[0] for master in itertools.cycle(masters): slave.sql("STOP SLAVE IO_THREAD"); mysqlrep.wait_for_empty_relay_log(slave) slave.sql("STOP SLAVE SQL_THREAD"); position[current.name] = mysqlrep.fetch_slave_position(slave) slave.change_master(position[current.name]) master.sql("START SLAVE") current = master sleep(60) # Sleep 1 minute 30 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 31. Inter-cluster Multi-source Replication MySQL MySQL Cluster Cluster Server Server Again, no conflict resolution, so let masters update different data Server Server MySQL Cluster 31 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 32. Data Integration 32 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 33. Integrate Data Into Other Systems HBASE Data Mining Master Client Dump Dump Client Dump ? Client Binlog MySQL SOLR Slave Full Text Search 33 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 34. Integrate Data Into Other Systems via mysql binary log API Handles binlog events, translates them and Dump Server pushes data to SOLR A P Transformer SOLR I File Binlog Connects to and reads from the binlog source (either server or file) 34 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 35. Integrate Data Into Other Systems via mysql binary log API Event flow in the binary log API library when reading from a dump thread. 35 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 36. Integrate Data Into Other Systems ● Library to process replication events ● API ready to use ● Simple, extensible, efficient ● Just hook a client thread in the wait_for_next_event handler ● It's out there: ● https://launchpad.net/mysql-replication-listener ● http://labs.mysql.com 36 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 37. Advanced Replication Architectures Enablers 37 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 38. Replication Metadata on System Tables 5.6 ● Crash-safe (replication metadata stored in DMR transactional tables) ● Robust, highly available setups ● SQL interface to metadata ● Access data through regular user session ● Self-contained: time-shared multi-source VS easily implemented in SQL and in the server ● Make use of special features like MySQL events, stored procedures, triggers, etc... 38 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 39. Global Transaction Identifiers ● Event positions in the binary log are a tuple: <filename, file offset> ● Not very intuitive in a large hierarchical topology ● Makes it hard to get most recent transaction - fail-over ● Global transaction identifiers: <server_id, tx_seqno> ● Makes hierarchical consistency checks and fail-over close to trivial ● Early feature preview available on MySQL labs: ● http://labs.mysql.com 39 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 40. En MySQL Utilities: What is it? t Re erp ad ris y! e ● A collection of Python utilities for managing MySQL databases ● Part of MySQL Workbench 5.2.31 ● Available under the GPLv2 license ● Written in Python ● Easily enhanced using a growing code library ● Python library to grow solutions for common administrative problems 40 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 41. En MySQL Utilities: What is it? t Re erp ad ris y! e Scripts mysqlprocgrep Command Common Module Module mysql.utilities.command mysql.utilities.common MySQL Utilities Library 41 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 42. En MySQL Utilities: What can I do with it? t Re erp ad ris y! e ● Easily administer MySQL servers from the command line ● mysqldbcompare – compare databases ● mysqldbcopy – copy databases between servers ● mysqlprocgrep – search process information ● mysqlrplshow – show a graph of your topology ● mysqlreplicate – setup replication ● mysqlrplcheck – check replication configuration ● ... ● Build your own tools on top of the core of the library, e.g., automate timeshare multi- source replication setup or failing-over to a slave 42 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 43. En MySQL Utilities: Where to go from here? t Re erp ad ris y! e Download MySQL Workbench from: http://www.mysql.com/downloads/workbench/ You can also download the latest development source code tree for the MySQL Workbench Utilities from: http://launchpad/net/mysql-utilities 43 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 44. MySQL Proxy ● Simple program in-between client and mysql server ● Monitor, analyze, transform, load balance ● Use cases and possibilities are enormous ● Available at: ● http://dev.mysql.com/doc/refman/5.5/en/mysql-proxy.html 44 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 45. The Binary Log API ● A C++ library used for connecting to a MySQL server and process the replication stream as a slave. ● Enables complex setups and data streaming to heterogeneous slaves. ● Available at: ● https://launchpad.net/mysql-replication-listener ● http://labs.mysql.com (binaries) 45 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 46. Summary 46 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 47. Summary ● MySQL replication concepts and components: replication is simple ● Popular MySQL replication use case scenarios: replication is flexible and versatile ● Scenarios that take MySQL replication to a whole new more advanced level: ● Load Balancing ● Hierarchical replication ● Data replication and aggregation ● Data integration ● MySQL features that are enablers for more advanced replication scenarios 47 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 48. Q&A 48 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 49. 49 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
  • 50. 50 Copyright © 2011, Oracle and/or its affiliates. All rights Insert Information Protection Policy Classification from Slide 8 reserved.