SlideShare ist ein Scribd-Unternehmen logo
1 von 15
Downloaden Sie, um offline zu lesen
Galera Replication




    Seppo Jaakola, CEO
    seppo.jaakola@codership.com
    http://www.codership.com


          Percona performance Conference 
Galera Replication
        Multi­master synchronous replication system
    ●


        Certification based replication model (based 
    ●


        on academic research by F. Pedone et al)
        Avoids using middle­ware, connections go 
    ●


        directly to DBMS ­> transparency
        Row level locking ­> write scalability
    ●


        Generic replication system to make a cluster 
    ●


        from any transactional DBMS
        First implementation MySQL/Innodb cluster
    ●


                      Percona performance Conference 
Galera Cluster
                                  Clients



                  DBMS                                               DBMS
                                                                    DBMS
                                                                   DBMS
             wsrep hooks 
    wsrep                             dlopen
    API     wsrep provider
              replication                                            Galera
                                                                    Galera
                                        galera                     Galera
            GCS framework
                  spread/vsbes
              ●




                           ws                        ws

                                 Percona performance Conference 
wsrep API
        Defines a generic interface for DBMS and 
    ●


        replication system
        Write set replication API for transactions
    ●


        DDL replication using TO isolation
    ●


        Launchpad project: https://launchpad.net/wsrep 
                             https://launchpad.net/wsrep
    ●




                       Percona performance Conference 
wsrep integration in MySQL
        Launchpad project: 
    ●

        https://launchpad.net/codership­mysql 
        Calls to wsrep provider:
    ●

         – Ws populating, replication...
        Handlers for various wsrep callbacks:
    ●

         – ws applying, DDL applying ...
        Changes in innodb code to provide 
    ●


        prioritized transactions

                         Percona performance Conference 
Certification Based Replication
                  MySQL                                          MySQL
    Query Processing Commit Processing
                                                                        
                                           commit

                                                                 write set applier
                                           rollback



     write set 
                                                                   certification
                                    certification
    population
                       WS extract

                                WS
                                                 replication
       Write Sets
    (Keys, SQL, RBR)

                               Percona performance Conference 
Write Set
        Write set can contain data changes specified 
    ●


        in different replication levels:
        1.SQL statement
        2.Lex structures (AST) from parser
        3.RBR event
        4.Row (as binary image)
        All row changes are identified with keys
    ●


        Last_seen_seqno & seqno tracking trx 
    ●


        processing state
        Write sets can be saved for future needs
    ●

                        Percona performance Conference 
Replication Features
        Replication is optimistic in nature
    ●

            Hot spots cause replication aborts
        –
        Flow control 
    ●

            GCS feature to adjust nodes' progress
        –
        Autoincrement management
    ●

            Cluster adjusts increments and offsets on the fly
        –
        Asymmetric lock granularity issue
    ●

            Solved by replaying as slave trx
        –
        Retrying of aborted autocommit trxs
    ●



                          Percona performance Conference 
Benchmarking




      Percona performance Conference 
Benchmarking
        Tested with several benchmarks
    ●

            Sysbench, dbt2, DOTS, osdb, jmeter, sqlgen...
        –
        Benchmarks testing with 'physical hardware' 
    ●


        and with Amazon EC2 small and large 
        instances
        Currently tests only up to 5 cluster nodes
    ●


        In general, shows good scalability even with 
    ●


        write intensive work loads 

                         Percona performance Conference 
Sysbench Benchmarks



                Sysbench oltp mode test
               ●

               ●10K – 100K table sizes

               ●Using 5 HP proliant servers




         Percona performance Conference 
Dbt2 Benchmark
                                                 EC2 large instances
                                                ●

                                                ●Dbt2 benchmark

                                                ●60 warehouses




                   Conns   NOTPM Rollbacks(%) TRX duration(sec) Dump load(min)
    -----------------------------------------------------------------------------
    Plain 5.1.30:   20     ~7220       1              2.27            26
    1 node      :   12     ~7420       1              2.17            30
    2 nodes     :   24     ~9630       3              1.63            36
    3 nodes     :   36    ~10555       4              1.41            38
    4 nodes     :   48    ~10753       5              1.32            38


                                Percona performance Conference 
Drupal Scale­Out


             glb load balancer                                Proof of concept
                                                             ●

                                                             ●Each drupal node 


                                                              has local MySQL
    Drupal        Drupal                Drupal
                                                             ●all nodes identical

                                                             ●~10% of CPU for 
                                       MySQL
    MySQL        MySQL
                                                              MySQL 
                                         Galera
    Galera        Galera                                     ●glb load balancer




                           Percona performance Conference 
Drupal Cluster on AWS
                                                              Jmeter test with 3 threadgroups
                                                            ●

                                                            ● Posters, commenters, browsers

                                                            ● Testing with Amazon EC2 large 


                                                              instances




    Nodes   Users   Throughput      Latency         Latency         Errors
                    (req/min)       (ms, median)    (ms, average)   (%)
    ----------------------------------------------------------------------
    1       180     724             1203            1827            0.00
    2       360     1436            1190            1829            0.03
    3       540     2091            1280            2150            0.06
    4       720     2717            1214            2330            0.12


                                     Percona performance Conference 
Summary
        High Availability
    ●


        Transparency
    ●


        Good scalability even with high write rates
    ●


        Roadmap: 
    ●

            feature complete release by Q2/09
        –
            GA release by Q4/09
        –




                         Percona performance Conference 

Weitere ähnliche Inhalte

Was ist angesagt?

006 performance tuningandclusteradmin
006 performance tuningandclusteradmin006 performance tuningandclusteradmin
006 performance tuningandclusteradmin
Scott Miao
 
Scaling Twitter 12758
Scaling Twitter 12758Scaling Twitter 12758
Scaling Twitter 12758
davidblum
 
Failover or not to failover
Failover or not to failoverFailover or not to failover
Failover or not to failover
Henrik Ingo
 
Alibaba patches in MariaDB
Alibaba patches in MariaDBAlibaba patches in MariaDB
Alibaba patches in MariaDB
Lixun Peng
 
B2 2006 tomcat_clusters
B2 2006 tomcat_clustersB2 2006 tomcat_clusters
B2 2006 tomcat_clusters
Steve Feldman
 

Was ist angesagt? (20)

006 performance tuningandclusteradmin
006 performance tuningandclusteradmin006 performance tuningandclusteradmin
006 performance tuningandclusteradmin
 
Using advanced options in MariaDB Connector/J
Using advanced options in MariaDB Connector/JUsing advanced options in MariaDB Connector/J
Using advanced options in MariaDB Connector/J
 
Scaling Twitter 12758
Scaling Twitter 12758Scaling Twitter 12758
Scaling Twitter 12758
 
Successful Software Development with Apache Cassandra
Successful Software Development with Apache CassandraSuccessful Software Development with Apache Cassandra
Successful Software Development with Apache Cassandra
 
Failover or not to failover
Failover or not to failoverFailover or not to failover
Failover or not to failover
 
MariaDB High Availability
MariaDB High AvailabilityMariaDB High Availability
MariaDB High Availability
 
Building better Node.js applications on MariaDB
Building better Node.js applications on MariaDBBuilding better Node.js applications on MariaDB
Building better Node.js applications on MariaDB
 
Maria DB Galera Cluster for High Availability
Maria DB Galera Cluster for High AvailabilityMaria DB Galera Cluster for High Availability
Maria DB Galera Cluster for High Availability
 
Alibaba patches in MariaDB
Alibaba patches in MariaDBAlibaba patches in MariaDB
Alibaba patches in MariaDB
 
B2 2006 tomcat_clusters
B2 2006 tomcat_clustersB2 2006 tomcat_clusters
B2 2006 tomcat_clusters
 
Percona XtraDB Cluster
Percona XtraDB ClusterPercona XtraDB Cluster
Percona XtraDB Cluster
 
SUSE Manager with Salt - Deploy and Config Management for MariaDB
SUSE Manager with Salt - Deploy and Config Management for MariaDBSUSE Manager with Salt - Deploy and Config Management for MariaDB
SUSE Manager with Salt - Deploy and Config Management for MariaDB
 
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group ReplicationPercona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication
 
Running MariaDB in multiple data centers
Running MariaDB in multiple data centersRunning MariaDB in multiple data centers
Running MariaDB in multiple data centers
 
Webinar slides: Introducing Galera 3.0 - Now supporting MySQL 5.6
Webinar slides: Introducing Galera 3.0 - Now supporting MySQL 5.6Webinar slides: Introducing Galera 3.0 - Now supporting MySQL 5.6
Webinar slides: Introducing Galera 3.0 - Now supporting MySQL 5.6
 
Introduction to PgBench
Introduction to PgBenchIntroduction to PgBench
Introduction to PgBench
 
weblogic perfomence tuning
weblogic perfomence tuningweblogic perfomence tuning
weblogic perfomence tuning
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group Replication
 
Easy MySQL Replication Setup and Troubleshooting
Easy MySQL Replication Setup and TroubleshootingEasy MySQL Replication Setup and Troubleshooting
Easy MySQL Replication Setup and Troubleshooting
 
High Availability in GCE
High Availability in GCEHigh Availability in GCE
High Availability in GCE
 

Ähnlich wie Galera Multi Master Synchronous My S Q L Replication Clusters

Running your Java EE 6 applications in the Cloud
Running your Java EE 6 applications in the CloudRunning your Java EE 6 applications in the Cloud
Running your Java EE 6 applications in the Cloud
IndicThreads
 
Rails Application Optimization Techniques & Tools
Rails Application Optimization Techniques & ToolsRails Application Optimization Techniques & Tools
Rails Application Optimization Techniques & Tools
guest05c09d
 
Oreilly Webcast Jan 09, 2009
Oreilly Webcast Jan 09, 2009Oreilly Webcast Jan 09, 2009
Oreilly Webcast Jan 09, 2009
Sean Hull
 

Ähnlich wie Galera Multi Master Synchronous My S Q L Replication Clusters (20)

Running your Java EE 6 Applications in the Cloud
Running your Java EE 6 Applications in the CloudRunning your Java EE 6 Applications in the Cloud
Running your Java EE 6 Applications in the Cloud
 
JFokus 2011 - Running your Java EE 6 apps in the Cloud
JFokus 2011 - Running your Java EE 6 apps in the CloudJFokus 2011 - Running your Java EE 6 apps in the Cloud
JFokus 2011 - Running your Java EE 6 apps in the Cloud
 
Running your Java EE 6 applications in the Cloud (FISL 12)
Running your Java EE 6 applications in the Cloud (FISL 12)Running your Java EE 6 applications in the Cloud (FISL 12)
Running your Java EE 6 applications in the Cloud (FISL 12)
 
Running your Java EE 6 applications in the Cloud
Running your Java EE 6 applications in the CloudRunning your Java EE 6 applications in the Cloud
Running your Java EE 6 applications in the Cloud
 
Deployment with Ruby on Rails
Deployment with Ruby on RailsDeployment with Ruby on Rails
Deployment with Ruby on Rails
 
Running your Java EE 6 Apps in the Cloud - JavaOne India 2011
Running your Java EE 6 Apps in the Cloud - JavaOne India 2011Running your Java EE 6 Apps in the Cloud - JavaOne India 2011
Running your Java EE 6 Apps in the Cloud - JavaOne India 2011
 
JavaOne India 2011 - Running your Java EE 6 Apps in the Cloud
JavaOne India 2011 - Running your Java EE 6 Apps in the CloudJavaOne India 2011 - Running your Java EE 6 Apps in the Cloud
JavaOne India 2011 - Running your Java EE 6 Apps in the Cloud
 
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
Running your Java EE 6 applications in the Cloud @ Silicon Valley Code Camp 2010
 
Ruby on Rails 101 - Presentation Slides for a Five Day Introductory Course
Ruby on Rails 101 - Presentation Slides for a Five Day Introductory CourseRuby on Rails 101 - Presentation Slides for a Five Day Introductory Course
Ruby on Rails 101 - Presentation Slides for a Five Day Introductory Course
 
Running your Java EE 6 applications in the clouds
Running your Java EE 6 applications in the clouds Running your Java EE 6 applications in the clouds
Running your Java EE 6 applications in the clouds
 
Capistrano
CapistranoCapistrano
Capistrano
 
Lightweight Grids With Terracotta
Lightweight Grids With TerracottaLightweight Grids With Terracotta
Lightweight Grids With Terracotta
 
MySQL Proxy
MySQL ProxyMySQL Proxy
MySQL Proxy
 
MySQL Proxy tutorial
MySQL Proxy tutorialMySQL Proxy tutorial
MySQL Proxy tutorial
 
Running your Java EE 6 applications in the Cloud
Running your Java EE 6 applications in the CloudRunning your Java EE 6 applications in the Cloud
Running your Java EE 6 applications in the Cloud
 
Os Wilhelm
Os WilhelmOs Wilhelm
Os Wilhelm
 
Rails Application Optimization Techniques & Tools
Rails Application Optimization Techniques & ToolsRails Application Optimization Techniques & Tools
Rails Application Optimization Techniques & Tools
 
Oreilly Webcast Jan 09, 2009
Oreilly Webcast Jan 09, 2009Oreilly Webcast Jan 09, 2009
Oreilly Webcast Jan 09, 2009
 
Cloudcon East Presentation
Cloudcon East PresentationCloudcon East Presentation
Cloudcon East Presentation
 
Cloudcon East Presentation
Cloudcon East PresentationCloudcon East Presentation
Cloudcon East Presentation
 

Mehr von PerconaPerformance

Drizzles Approach To Improving Performance Of The Server
Drizzles  Approach To  Improving  Performance Of The  ServerDrizzles  Approach To  Improving  Performance Of The  Server
Drizzles Approach To Improving Performance Of The Server
PerconaPerformance
 
E M T Better Performance Monitoring
E M T  Better  Performance  MonitoringE M T  Better  Performance  Monitoring
E M T Better Performance Monitoring
PerconaPerformance
 
Covering Indexes Ordersof Magnitude Improvements
Covering  Indexes  Ordersof Magnitude  ImprovementsCovering  Indexes  Ordersof Magnitude  Improvements
Covering Indexes Ordersof Magnitude Improvements
PerconaPerformance
 
Automated Performance Testing With J Meter And Maven
Automated  Performance  Testing With  J Meter And  MavenAutomated  Performance  Testing With  J Meter And  Maven
Automated Performance Testing With J Meter And Maven
PerconaPerformance
 
My S Q L Replication Getting The Most From Slaves
My S Q L  Replication  Getting  The  Most  From  SlavesMy S Q L  Replication  Getting  The  Most  From  Slaves
My S Q L Replication Getting The Most From Slaves
PerconaPerformance
 
Performance Instrumentation Beyond What You Do Now
Performance  Instrumentation  Beyond  What  You  Do  NowPerformance  Instrumentation  Beyond  What  You  Do  Now
Performance Instrumentation Beyond What You Do Now
PerconaPerformance
 
Boost Performance With My S Q L 51 Partitions
Boost Performance With  My S Q L 51 PartitionsBoost Performance With  My S Q L 51 Partitions
Boost Performance With My S Q L 51 Partitions
PerconaPerformance
 
Trees And More With Postgre S Q L
Trees And  More With  Postgre S Q LTrees And  More With  Postgre S Q L
Trees And More With Postgre S Q L
PerconaPerformance
 
Database Performance With Proxy Architectures
Database  Performance With  Proxy  ArchitecturesDatabase  Performance With  Proxy  Architectures
Database Performance With Proxy Architectures
PerconaPerformance
 
Running A Realtime Stats Service On My Sql
Running A Realtime Stats Service On My SqlRunning A Realtime Stats Service On My Sql
Running A Realtime Stats Service On My Sql
PerconaPerformance
 
How To Think About Performance
How To Think About PerformanceHow To Think About Performance
How To Think About Performance
PerconaPerformance
 
Object Oriented Css For High Performance Websites And Applications
Object Oriented Css For High Performance Websites And ApplicationsObject Oriented Css For High Performance Websites And Applications
Object Oriented Css For High Performance Websites And Applications
PerconaPerformance
 
Your Disk Array Is Slower Than It Should Be
Your Disk Array Is Slower Than It Should BeYour Disk Array Is Slower Than It Should Be
Your Disk Array Is Slower Than It Should Be
PerconaPerformance
 

Mehr von PerconaPerformance (17)

Drizzles Approach To Improving Performance Of The Server
Drizzles  Approach To  Improving  Performance Of The  ServerDrizzles  Approach To  Improving  Performance Of The  Server
Drizzles Approach To Improving Performance Of The Server
 
E M T Better Performance Monitoring
E M T  Better  Performance  MonitoringE M T  Better  Performance  Monitoring
E M T Better Performance Monitoring
 
Covering Indexes Ordersof Magnitude Improvements
Covering  Indexes  Ordersof Magnitude  ImprovementsCovering  Indexes  Ordersof Magnitude  Improvements
Covering Indexes Ordersof Magnitude Improvements
 
Automated Performance Testing With J Meter And Maven
Automated  Performance  Testing With  J Meter And  MavenAutomated  Performance  Testing With  J Meter And  Maven
Automated Performance Testing With J Meter And Maven
 
My S Q L Replication Getting The Most From Slaves
My S Q L  Replication  Getting  The  Most  From  SlavesMy S Q L  Replication  Getting  The  Most  From  Slaves
My S Q L Replication Getting The Most From Slaves
 
Performance Instrumentation Beyond What You Do Now
Performance  Instrumentation  Beyond  What  You  Do  NowPerformance  Instrumentation  Beyond  What  You  Do  Now
Performance Instrumentation Beyond What You Do Now
 
Boost Performance With My S Q L 51 Partitions
Boost Performance With  My S Q L 51 PartitionsBoost Performance With  My S Q L 51 Partitions
Boost Performance With My S Q L 51 Partitions
 
High Performance Erlang
High  Performance  ErlangHigh  Performance  Erlang
High Performance Erlang
 
Websites On Speed
Websites On  SpeedWebsites On  Speed
Websites On Speed
 
Trees And More With Postgre S Q L
Trees And  More With  Postgre S Q LTrees And  More With  Postgre S Q L
Trees And More With Postgre S Q L
 
Database Performance With Proxy Architectures
Database  Performance With  Proxy  ArchitecturesDatabase  Performance With  Proxy  Architectures
Database Performance With Proxy Architectures
 
Using Storage Class Memory
Using Storage Class MemoryUsing Storage Class Memory
Using Storage Class Memory
 
Websites On Speed
Websites On SpeedWebsites On Speed
Websites On Speed
 
Running A Realtime Stats Service On My Sql
Running A Realtime Stats Service On My SqlRunning A Realtime Stats Service On My Sql
Running A Realtime Stats Service On My Sql
 
How To Think About Performance
How To Think About PerformanceHow To Think About Performance
How To Think About Performance
 
Object Oriented Css For High Performance Websites And Applications
Object Oriented Css For High Performance Websites And ApplicationsObject Oriented Css For High Performance Websites And Applications
Object Oriented Css For High Performance Websites And Applications
 
Your Disk Array Is Slower Than It Should Be
Your Disk Array Is Slower Than It Should BeYour Disk Array Is Slower Than It Should Be
Your Disk Array Is Slower Than It Should Be
 

Kürzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Kürzlich hochgeladen (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 

Galera Multi Master Synchronous My S Q L Replication Clusters

  • 1. Galera Replication Seppo Jaakola, CEO seppo.jaakola@codership.com http://www.codership.com   Percona performance Conference 
  • 2. Galera Replication Multi­master synchronous replication system ● Certification based replication model (based  ● on academic research by F. Pedone et al) Avoids using middle­ware, connections go  ● directly to DBMS ­> transparency Row level locking ­> write scalability ● Generic replication system to make a cluster  ● from any transactional DBMS First implementation MySQL/Innodb cluster ●   Percona performance Conference 
  • 3. Galera Cluster Clients DBMS DBMS DBMS DBMS wsrep hooks  wsrep dlopen API wsrep provider replication Galera Galera galera Galera GCS framework spread/vsbes ● ws ws   Percona performance Conference 
  • 4. wsrep API Defines a generic interface for DBMS and  ● replication system Write set replication API for transactions ● DDL replication using TO isolation ● Launchpad project: https://launchpad.net/wsrep  https://launchpad.net/wsrep ●   Percona performance Conference 
  • 5. wsrep integration in MySQL Launchpad project:  ● https://launchpad.net/codership­mysql  Calls to wsrep provider: ● – Ws populating, replication... Handlers for various wsrep callbacks: ● – ws applying, DDL applying ... Changes in innodb code to provide  ● prioritized transactions   Percona performance Conference 
  • 6. Certification Based Replication MySQL MySQL Query Processing Commit Processing   commit write set applier rollback write set  certification certification population WS extract WS replication Write Sets (Keys, SQL, RBR)   Percona performance Conference 
  • 7. Write Set Write set can contain data changes specified  ● in different replication levels: 1.SQL statement 2.Lex structures (AST) from parser 3.RBR event 4.Row (as binary image) All row changes are identified with keys ● Last_seen_seqno & seqno tracking trx  ● processing state Write sets can be saved for future needs ●   Percona performance Conference 
  • 8. Replication Features Replication is optimistic in nature ● Hot spots cause replication aborts – Flow control  ● GCS feature to adjust nodes' progress – Autoincrement management ● Cluster adjusts increments and offsets on the fly – Asymmetric lock granularity issue ● Solved by replaying as slave trx – Retrying of aborted autocommit trxs ●   Percona performance Conference 
  • 9. Benchmarking   Percona performance Conference 
  • 10. Benchmarking Tested with several benchmarks ● Sysbench, dbt2, DOTS, osdb, jmeter, sqlgen... – Benchmarks testing with 'physical hardware'  ● and with Amazon EC2 small and large  instances Currently tests only up to 5 cluster nodes ● In general, shows good scalability even with  ● write intensive work loads    Percona performance Conference 
  • 11. Sysbench Benchmarks Sysbench oltp mode test ● ●10K – 100K table sizes ●Using 5 HP proliant servers   Percona performance Conference 
  • 12. Dbt2 Benchmark EC2 large instances ● ●Dbt2 benchmark ●60 warehouses Conns NOTPM Rollbacks(%) TRX duration(sec) Dump load(min) ----------------------------------------------------------------------------- Plain 5.1.30: 20 ~7220 1 2.27 26 1 node : 12 ~7420 1 2.17 30 2 nodes : 24 ~9630 3 1.63 36 3 nodes : 36 ~10555 4 1.41 38 4 nodes : 48 ~10753 5 1.32 38   Percona performance Conference 
  • 13. Drupal Scale­Out glb load balancer Proof of concept ● ●Each drupal node  has local MySQL Drupal Drupal Drupal ●all nodes identical ●~10% of CPU for  MySQL MySQL MySQL MySQL  Galera Galera Galera ●glb load balancer   Percona performance Conference 
  • 14. Drupal Cluster on AWS Jmeter test with 3 threadgroups ● ● Posters, commenters, browsers ● Testing with Amazon EC2 large  instances Nodes Users Throughput Latency Latency Errors (req/min) (ms, median) (ms, average) (%) ---------------------------------------------------------------------- 1 180 724 1203 1827 0.00 2 360 1436 1190 1829 0.03 3 540 2091 1280 2150 0.06 4 720 2717 1214 2330 0.12   Percona performance Conference 
  • 15. Summary High Availability ● Transparency ● Good scalability even with high write rates ● Roadmap:  ● feature complete release by Q2/09 – GA release by Q4/09 –   Percona performance Conference