MySQL replication has evolved a lot in 5.6 ,5.7 and 8.0. This presentation focus on the changes made in parallel replication. It covers MySQL 8.0. It was presented at Mydbops database meetup on 04-08-2016 in Bangalore.
MySQL Parallel Replication: inventory, use-case and limitationsJean-François Gagné
In the last 24 months, MySQL/MariaDB replication speed has improved a lot thanks to parallel replication. MySQL and MariaDB have different types of parallel replication; in this talk, I present the different implementations, with their limitations and the corresponding tuning parameters. I cover what to do to make parallel replication faster and what to avoid for maximizing parallel replication benefits. I also present benchmark results from real Booking.com workloads. Finally, I discuss some deployments at Booking.com that take advantage of parallel replication speed improvements.
Have you ever needed to get some additional write throughput from MySQL ? If yes, you probably found that setting sync_binlog to 0 (and trx_commit to 2) gives you an extra performance boost. As all such easy optimisation, it comes at a cost. This talk explains how this tuning works, presents its consequences and makes recommendations to avoid them. This will bring us to the details of how MySQL commits transactions and how those are replicated to slaves. Come to this talk to learn how to get the benefit of this tuning the right way and to learn some replication internals.
MySQL Parallel Replication: All the 5.7 and 8.0 Details (LOGICAL_CLOCK)Jean-François Gagné
To get better replication speed and less lag, MySQL implements parallel replication in the same schema, also known as LOGICAL_CLOCK. But fully benefiting from this feature is not as simple as just enabling it.
In this talk, I explain in detail how this feature works. I also cover how to optimize parallel replication and the improvements made in MySQL 8.0 and back-ported in 5.7 (Write Sets), greatly improving the potential for parallel execution on replicas (but needing RBR).
Come to this talk to get all the details about MySQL 5.7 and 8.0 Parallel Replication.
The talk will elaborate on how to detect and Heal your MySQL topology with MySQL Orchestrator .This talk was delivered on Mydbops database Meetup on 27-04-2019 by Anil Yadav, Lead Database Engineer with OLA and Krishna Ramanathan Database Administrator III with OLA.
ProxySQL is a popular database proxy for MySQL/MariaDB servers. This focuses on the possible High availability options for ProxySQL and operations of inbuilt clustering feature in ProxySQL. This tech talk was presented at Mydbops Database Meetup on 27-04-2019 by Aakash M, Database Administrator with Mydbops and Vignesh Prabhu, Database Administrator with Mydbops.
MySQL Parallel Replication: inventory, use-case and limitationsJean-François Gagné
In the last 24 months, MySQL/MariaDB replication speed has improved a lot thanks to parallel replication. MySQL and MariaDB have different types of parallel replication; in this talk, I present the different implementations, with their limitations and the corresponding tuning parameters. I cover what to do to make parallel replication faster and what to avoid for maximizing parallel replication benefits. I also present benchmark results from real Booking.com workloads. Finally, I discuss some deployments at Booking.com that take advantage of parallel replication speed improvements.
Have you ever needed to get some additional write throughput from MySQL ? If yes, you probably found that setting sync_binlog to 0 (and trx_commit to 2) gives you an extra performance boost. As all such easy optimisation, it comes at a cost. This talk explains how this tuning works, presents its consequences and makes recommendations to avoid them. This will bring us to the details of how MySQL commits transactions and how those are replicated to slaves. Come to this talk to learn how to get the benefit of this tuning the right way and to learn some replication internals.
MySQL Parallel Replication: All the 5.7 and 8.0 Details (LOGICAL_CLOCK)Jean-François Gagné
To get better replication speed and less lag, MySQL implements parallel replication in the same schema, also known as LOGICAL_CLOCK. But fully benefiting from this feature is not as simple as just enabling it.
In this talk, I explain in detail how this feature works. I also cover how to optimize parallel replication and the improvements made in MySQL 8.0 and back-ported in 5.7 (Write Sets), greatly improving the potential for parallel execution on replicas (but needing RBR).
Come to this talk to get all the details about MySQL 5.7 and 8.0 Parallel Replication.
The talk will elaborate on how to detect and Heal your MySQL topology with MySQL Orchestrator .This talk was delivered on Mydbops database Meetup on 27-04-2019 by Anil Yadav, Lead Database Engineer with OLA and Krishna Ramanathan Database Administrator III with OLA.
ProxySQL is a popular database proxy for MySQL/MariaDB servers. This focuses on the possible High availability options for ProxySQL and operations of inbuilt clustering feature in ProxySQL. This tech talk was presented at Mydbops Database Meetup on 27-04-2019 by Aakash M, Database Administrator with Mydbops and Vignesh Prabhu, Database Administrator with Mydbops.
Abstract: A histogram represents the frequency of data distribution. This histogram can help in predicting a better execution plan. MariaDB and MySQL support HIstogram. Though they serve a common purpose they are implemented differently in MariaDB and MySQL, they have their control knobs. Our Consultants ( Monu Mahto and Madhavan ) articulate how histograms can be used in your production MySQL and MariaDB databases and how it helps in bringing down the execution time.
Optimizing MariaDB for maximum performanceMariaDB plc
When it comes to optimizing the performance of a database, DBAs have to look at everything from the OS to the network. In this session, MariaDB Enterprise Architect Manjot Singh shares best practices for getting the most out of MariaDB. He highlights recommended OS settings, important configuration and tuning parameters, options for improving replication and clustering performance and features such as query result caching.
ProxySQL and the Tricks Up Its Sleeve - Percona Live 2022.pdfJesmar Cannao'
ProxySQL is well-affirmed into thousands of production environments for the features we all know: multiplexing, query routing, and rewriting to name a few.
Let's go through those use cases which maybe are the least common: from keeping malicious eyes away from your production data to rebuilding your non-production environment, from stopping having hanging transactions to monitor your instance, from query firewalling to changing ProxySQL configuration without a single line of SQL!
When the sky is the limit, ProxySQL gives you some boost!
This is the presentation delivered by Karthik.P.R at MySQL User Camp Bangalore on 09th June 2017. ProxySQL is a high performance MySQL Load Balancer Designed to scale database servers.
Transparent sharding with Spider: what's new and getting startedMariaDB plc
OpenWorks 2019 Session
MariaDB Server 10.3 introduced transparent, built-in sharding with the Spider storage engine to scale out reads, writes and storage. MariaDB Server 10.4 will include a number of improvements, including DDL pushdown. In this session, Ralf Gebhardt and Kentoku Shiba of MariaDB show how to set up a sharded MariaDB cluster and scale out on demand, as well explore as best practices for high availability and consistency in a sharded deployment.
This tutorial covers all parallel replication implementation in MariaDB 10.0 and 10.1 and MySQL 5.6, 5.7 and 8.0 (including how it works in Group Replication).
MySQL and MariaDB have different types of parallel replication. In this tutorial, we present the different implementations that allow us to understand their limitations and tuning parameters. We cover how to make parallel replication faster and what to avoid for maximizing its benefits. We also present tests from Booking.com workloads.
Some of the subjects that are covered are group commit and optimistic parallel replication in MariaDB, the parallelism interval of MySQL and its Write Set optimization, and the ?slowing down the master to speed up the slave? optimization.
After this tutorial, you will know everything you need to implement and tune parallel replication in your environment. But more importantly, we will show how you can test parallel replication benefit in a non-disruptive way before deployment.
Highly efficient backups with percona xtrabackupNilnandan Joshi
Percona XtraBackup is an open source, free MySQL hot backup software that performs non-blocking backups for InnoDB and XtraDB databases. In this talk we'll describe below things.
- How it works with MySQL/Percona Server and what are the features provided
- Difference between Xtrabackup and Innobackupex
- How to take full/increment/partial backup and restore
- How to use features like streaming, compression, remote and compact backups
- How to troubleshoot the issue with xtrabackup
MySQL performance can be improved by tuning queries, server options, and hardware. Traditionally it was an area of responsibility for three different roles: Development, DBA, and System Administrators. Now DevOps handle these all. But there is a gap. Knowledge gained by MySQL DBAs after years or focusing on a single product is hard to gain when you focus on more than one. This is why I am doing this session. I will show a minimal but most effective set of options to improve MySQL performance. For illustrations, I will use real user stories gained from my Support experience and Percona Kubernetes operators for PXC and MySQL.
Replication Troubleshooting in Classic VS GTIDMydbops
This presentation talk will assist you in troubleshooting MySQL replication for the most common issues we might face with a simple comparison of how can we get them solved in the different replication methods (Classic VS GTID).
MariaDB: in-depth (hands on training in Seoul)Colin Charles
MariaDB: in-depth is training that was conducted for partners selling/deploying MariaDB in Seoul. Its a practical hands-on introduction that can be completed in 1-day.
Webinar - Key Reasons to Upgrade to MySQL 8.0 or MariaDB 10.11Federico Razzoli
MySQL 5.7 will reach its End Of Life in October 2023. This means that there will be no releases after that date, no bug fixes, and no security fixes.
The documentation will be withdrawn and will no longer be available at some point. Official and non-official drivers and tools will, sooner or later, stop supporting MySQL 5.7.
From here, 5.7 users have two paths. They can upgrade to MySQL 8.0, or they can move to MariaDB. Each option has its benefits and its drawbacks. In this webinar we will explore the differences between MySQL 8.0 and MariaDB 10.11 or 10.6, from both a technical and a less technical perspective.
MySQL and MariaDB though they share the same roots for replication .They support parallel replication , but they diverge the way the parallel replication is implemented.
MySQL Database Monitoring: Must, Good and Nice to HaveSveta Smirnova
It is very easy to find if a database installation is having issues. You only need to enable Operating System monitoring. A disk, memory, or CPU usage change will alert you about the problems. But they would not show *why* the trouble happens. You need the help of database-specific monitoring tools.
As a Support Engineer, I am always very upset when handling complaints about the database behavior lacking specific database monitoring data because I cannot help!
There are two reasons database and system administrators do not enable necessary instrumentation. The first is a natural or expected performance impact. Second is the lack of knowledge on what needs to be on to resolve a particular issue.
In this talk, I will cover both concerns.
I will show which monitoring instruments will give information on what causes disk, memory, or CPU problems.
I will teach you how to use them.
I will uncover which performance impact these instruments have.
I will use both MySQL command-line client and open-source graphical instrument Percona Monitoring and Management (PMM) for the examples.
Up to MySQL 5.5, replication was not crash safe: after an unclean shutdown, it would fail with “duplicate key” or “row not found” error, or might generate silent data corruption. It looks like 5.6 is much better, right ? The short answer is maybe: in the simplest case, it is possible to achieve replication crash safety, but it is not the default setting. MySQL 5.7 is not much better, 8.0 has better defaults, but it is still not replication crash-safe by default, and it is still easy to get things wrong.
Crash safety is impacted by replication positioning (File+Position or GTID), type (single-threaded or MTS), MTS settings (Database or Logical Clock, and with or without slave preserve commit order), the sync-ing of relay logs, the presence of binary logs, log-slave-updates and the sync-ing of binary logs. This is very complicated stuff and even the manual is sometimes confused about it.
In this talk, I will explain the impact of the above and help you find the path to crash safety nirvana. I will also give details about replication internals, so you might learn a thing or two.
MySQL Parallel Replication: inventory, use-case and limitationsJean-François Gagné
In the last 24 months, MySQL replication speed has improved a lot thanks to implementing parallel replication. MySQL and MariaDB have different types of parallel replication; in this talk, I present in details the different implementations, with their limitations and the corresponding tuning parameters. I also present benchmark results from real Booking.com workloads. Finally, I discuss some deployments at Booking.com that benefits from parallel replication speed improvements.
Since 5.7.2, MySQL implements parallel replication in the same schema, also known as LOGICAL_CLOCK (DATABASE based parallel replication is also implemented in 5.6 but this is not covered in this talk). In early 5.7 versions, parallel replication was based on group commit (like MariaDB) and 5.7.6 changed that to intervals.
Intervals are more complicated but they are also more powerful. In this talk, I will explain in detail how they work and why intervals are better than group commit. I will also cover how to optimize parallel replication in MySQL 5.7 and what improvements are coming in MySQL 8.0.
Abstract: A histogram represents the frequency of data distribution. This histogram can help in predicting a better execution plan. MariaDB and MySQL support HIstogram. Though they serve a common purpose they are implemented differently in MariaDB and MySQL, they have their control knobs. Our Consultants ( Monu Mahto and Madhavan ) articulate how histograms can be used in your production MySQL and MariaDB databases and how it helps in bringing down the execution time.
Optimizing MariaDB for maximum performanceMariaDB plc
When it comes to optimizing the performance of a database, DBAs have to look at everything from the OS to the network. In this session, MariaDB Enterprise Architect Manjot Singh shares best practices for getting the most out of MariaDB. He highlights recommended OS settings, important configuration and tuning parameters, options for improving replication and clustering performance and features such as query result caching.
ProxySQL and the Tricks Up Its Sleeve - Percona Live 2022.pdfJesmar Cannao'
ProxySQL is well-affirmed into thousands of production environments for the features we all know: multiplexing, query routing, and rewriting to name a few.
Let's go through those use cases which maybe are the least common: from keeping malicious eyes away from your production data to rebuilding your non-production environment, from stopping having hanging transactions to monitor your instance, from query firewalling to changing ProxySQL configuration without a single line of SQL!
When the sky is the limit, ProxySQL gives you some boost!
This is the presentation delivered by Karthik.P.R at MySQL User Camp Bangalore on 09th June 2017. ProxySQL is a high performance MySQL Load Balancer Designed to scale database servers.
Transparent sharding with Spider: what's new and getting startedMariaDB plc
OpenWorks 2019 Session
MariaDB Server 10.3 introduced transparent, built-in sharding with the Spider storage engine to scale out reads, writes and storage. MariaDB Server 10.4 will include a number of improvements, including DDL pushdown. In this session, Ralf Gebhardt and Kentoku Shiba of MariaDB show how to set up a sharded MariaDB cluster and scale out on demand, as well explore as best practices for high availability and consistency in a sharded deployment.
This tutorial covers all parallel replication implementation in MariaDB 10.0 and 10.1 and MySQL 5.6, 5.7 and 8.0 (including how it works in Group Replication).
MySQL and MariaDB have different types of parallel replication. In this tutorial, we present the different implementations that allow us to understand their limitations and tuning parameters. We cover how to make parallel replication faster and what to avoid for maximizing its benefits. We also present tests from Booking.com workloads.
Some of the subjects that are covered are group commit and optimistic parallel replication in MariaDB, the parallelism interval of MySQL and its Write Set optimization, and the ?slowing down the master to speed up the slave? optimization.
After this tutorial, you will know everything you need to implement and tune parallel replication in your environment. But more importantly, we will show how you can test parallel replication benefit in a non-disruptive way before deployment.
Highly efficient backups with percona xtrabackupNilnandan Joshi
Percona XtraBackup is an open source, free MySQL hot backup software that performs non-blocking backups for InnoDB and XtraDB databases. In this talk we'll describe below things.
- How it works with MySQL/Percona Server and what are the features provided
- Difference between Xtrabackup and Innobackupex
- How to take full/increment/partial backup and restore
- How to use features like streaming, compression, remote and compact backups
- How to troubleshoot the issue with xtrabackup
MySQL performance can be improved by tuning queries, server options, and hardware. Traditionally it was an area of responsibility for three different roles: Development, DBA, and System Administrators. Now DevOps handle these all. But there is a gap. Knowledge gained by MySQL DBAs after years or focusing on a single product is hard to gain when you focus on more than one. This is why I am doing this session. I will show a minimal but most effective set of options to improve MySQL performance. For illustrations, I will use real user stories gained from my Support experience and Percona Kubernetes operators for PXC and MySQL.
Replication Troubleshooting in Classic VS GTIDMydbops
This presentation talk will assist you in troubleshooting MySQL replication for the most common issues we might face with a simple comparison of how can we get them solved in the different replication methods (Classic VS GTID).
MariaDB: in-depth (hands on training in Seoul)Colin Charles
MariaDB: in-depth is training that was conducted for partners selling/deploying MariaDB in Seoul. Its a practical hands-on introduction that can be completed in 1-day.
Webinar - Key Reasons to Upgrade to MySQL 8.0 or MariaDB 10.11Federico Razzoli
MySQL 5.7 will reach its End Of Life in October 2023. This means that there will be no releases after that date, no bug fixes, and no security fixes.
The documentation will be withdrawn and will no longer be available at some point. Official and non-official drivers and tools will, sooner or later, stop supporting MySQL 5.7.
From here, 5.7 users have two paths. They can upgrade to MySQL 8.0, or they can move to MariaDB. Each option has its benefits and its drawbacks. In this webinar we will explore the differences between MySQL 8.0 and MariaDB 10.11 or 10.6, from both a technical and a less technical perspective.
MySQL and MariaDB though they share the same roots for replication .They support parallel replication , but they diverge the way the parallel replication is implemented.
MySQL Database Monitoring: Must, Good and Nice to HaveSveta Smirnova
It is very easy to find if a database installation is having issues. You only need to enable Operating System monitoring. A disk, memory, or CPU usage change will alert you about the problems. But they would not show *why* the trouble happens. You need the help of database-specific monitoring tools.
As a Support Engineer, I am always very upset when handling complaints about the database behavior lacking specific database monitoring data because I cannot help!
There are two reasons database and system administrators do not enable necessary instrumentation. The first is a natural or expected performance impact. Second is the lack of knowledge on what needs to be on to resolve a particular issue.
In this talk, I will cover both concerns.
I will show which monitoring instruments will give information on what causes disk, memory, or CPU problems.
I will teach you how to use them.
I will uncover which performance impact these instruments have.
I will use both MySQL command-line client and open-source graphical instrument Percona Monitoring and Management (PMM) for the examples.
Up to MySQL 5.5, replication was not crash safe: after an unclean shutdown, it would fail with “duplicate key” or “row not found” error, or might generate silent data corruption. It looks like 5.6 is much better, right ? The short answer is maybe: in the simplest case, it is possible to achieve replication crash safety, but it is not the default setting. MySQL 5.7 is not much better, 8.0 has better defaults, but it is still not replication crash-safe by default, and it is still easy to get things wrong.
Crash safety is impacted by replication positioning (File+Position or GTID), type (single-threaded or MTS), MTS settings (Database or Logical Clock, and with or without slave preserve commit order), the sync-ing of relay logs, the presence of binary logs, log-slave-updates and the sync-ing of binary logs. This is very complicated stuff and even the manual is sometimes confused about it.
In this talk, I will explain the impact of the above and help you find the path to crash safety nirvana. I will also give details about replication internals, so you might learn a thing or two.
MySQL Parallel Replication: inventory, use-case and limitationsJean-François Gagné
In the last 24 months, MySQL replication speed has improved a lot thanks to implementing parallel replication. MySQL and MariaDB have different types of parallel replication; in this talk, I present in details the different implementations, with their limitations and the corresponding tuning parameters. I also present benchmark results from real Booking.com workloads. Finally, I discuss some deployments at Booking.com that benefits from parallel replication speed improvements.
Since 5.7.2, MySQL implements parallel replication in the same schema, also known as LOGICAL_CLOCK (DATABASE based parallel replication is also implemented in 5.6 but this is not covered in this talk). In early 5.7 versions, parallel replication was based on group commit (like MariaDB) and 5.7.6 changed that to intervals.
Intervals are more complicated but they are also more powerful. In this talk, I will explain in detail how they work and why intervals are better than group commit. I will also cover how to optimize parallel replication in MySQL 5.7 and what improvements are coming in MySQL 8.0.
MySQL/MariaDB Parallel Replication: inventory, use-case and limitationsJean-François Gagné
In the last 24 months, MySQL/MariaDB replication speed has improved a lot, thanks to parallel replication. MySQL and MariaDB Server have different types of parallel replication; in this talk, I present the different implementations which will allow us to understand their limitations and tuning parameters. I am covering how to make parallel replication faster and what to avoid for maximizing its benefits. I also present benchmark results from Booking.com workloads. Finally, I discuss some deployments at Booking.com that take advantage of parallel replication speed improvements.
MySQL Parallel Replication: inventory, use-cases and limitationsJean-François Gagné
In the last 24 months, MySQL replication speed has improved a lot thanks to implementing parallel replication. MySQL and MariaDB have different types of parallel replication; in this talk, I present in detail the different implementations, with their limitations and the corresponding tuning parameters (covering MySQL 5.6, MariaDB 10.0, MariaDB 10.1 and MySQL 5.7). I also present benchmark results from real Booking.com workloads. Finally, I discuss some deployments at Booking.com that benefits from parallel replication speed improvements.
Webinar slides: Migrating to Galera Cluster for MySQL and MariaDBSeveralnines
Galera Cluster is a mainstream option for high availability MySQL and MariaDB. And though it has established itself as a credible replacement for traditional MySQL master-slave architectures, it is not a drop-in replacement.
While Galera Cluster has some characteristics that make it unsuitable for certain use cases, most applications can still be adapted to run on it.
The benefits are clear: multi-master InnoDB setup with built-in failover and read scalability.
But how do you migrate? Does the schema or application change? What are the limitations? Can a migration be done online, without service interruption? What are the potential risks?
In this webinar, Severalnines Support Engineer Bart Oles walks you through what you need to know in order to migrate from standalone or a master-slave MySQL/MariaDB setup to Galera Cluster.
AGENDA
- Application use cases for Galera
- Schema design
- Events and Triggers
- Query design
- Migrating the schema
- Load balancer and VIP
- Loading initial data into the cluster
- Limitations:
- Cluster technology
- Application vendor support
- Performing Online Migration to Galera
- Operational management checklist
- Belts and suspenders: Plan B
- Demo
SPEAKER
Bartlomiej Oles is a MySQL and Oracle DBA, with over 15 years experience in managing highly available production systems at IBM, Nordea Bank, Acxiom, Lufthansa, and other Fortune 500 companies. In the past five years, his focus has been on building and applying automation tools to manage multi-datacenter database environments.
MySQL Parallel Replication (LOGICAL_CLOCK): all the 5.7 (and some of the 8.0)...Jean-François Gagné
Since 5.7.2, MySQL implements parallel replication in the same schema, also known as LOGICAL_CLOCK (DATABASE based parallel replication is also implemented in 5.6 but this is not covered in this talk). In early 5.7 versions, parallel replication was based on group commit (like MariaDB) and 5.7.6 changed that to intervals.
Intervals are more complicated but they are also more powerful. In this talk, I will explain in detail how they work and why intervals are better than group commit. I will also cover how to optimize parallel replication in MySQL 5.7 and what improvements are coming in MySQL 8.0. I will also explain why Group Replication is replicating faster than standard asynchronous replication.
Come to this talk to get all the details about MySQL 5.7 Parallel Replication.
High performance and high availability proxies for MySQLMydbops
This is presented at LSPE meet up on 17-06-2017.
ProxySQL and MaxScale are the next-generation database proxy that manages security, scalability, high availability and data streaming in scale-out deployments
ProxySQL and MaxScale have been most widely adapted in industry these days. They can be used in smaller platforms to bigger platforms. The Objective of this talk is to make awareness about the next-gen database proxies and their value addition.
A presentation about how to make MySQL highly available, presented at the San Francisco MySQL Meetup (http://www.sfmysql.org/events/15760472/) on January 26th, 2011.
A video recording of this presentation is available from Ustream: http://ustre.am/fyLk
Ramp-Tutorial for MYSQL Cluster - Scaling with Continuous AvailabilityPythian
Rene Cannao's Ramp-Tutorial for MYSQL Cluster - Scaling with Continuous Availability. Rene, a Senior Operational DBA at PalominoDB.com, will guide attendees through a hands-on experience in the installation, configuration management and tuning of MySQL Cluster.
Agenda:
- MySQL Cluster Concepts and Architecture: we will review the principle of a fault-tolerant shared nothing architecture, and how this is implemented into NDB;
- MySQL Cluster processes : attendees will understand the various roles and interactions between Data Nodes, API Nodes and Management Nodes;
- Installation : we will install a minimal HA solution with MySQL Cluster on 3 virtual machines;
- Configuration of a basic system : upon describing the most important configuration parameters, Data/API/Management nodes will be configured and the Cluster launched;
- Loading data: the "world" schema will be imported into NDB using "in memory" and "disk based" storages; the attendees will experience how data changes are visible across API Nodes;
- Understand the NDB Storage Engine : internal implementation details will be explained, like synchronous replication, transaction coordinator, heartbeat, communication, failure detection and handling, checkpoint, etc;
- Query and schema design : attendees will understand the execution plan of queries with NDB, how SQL and Data Nodes communicate, how indexes and partitions are implemented, condition pushdown, join pushdown, query cache;
- Management and Administration: the attendees will test High Availability of NDB when a node become unavailable will learn how to read log file, how to stop/start any component of the Cluster to perform a rolling restart with no downtime, and how to handle a degraded setup;
- Backup and Recovery: attendees will be driven through the procedure of using NDB-native online backup and restore, and how this differs from mysqldump;
- Monitor and improve performance: attendee will learn how to boost performance tweaking variables according to hardware configuration and application workload
MySQL Time Machine by replicating into HBase - Slides from Percona Live Amste...Boško Devetak
At Booking.com we have complex MySQL installations, with very large tables in different servers. We’ve encountered the following question that we could not address with MySQL alone: How did some data/table look at a specific point in time?
Answering this question is needed for many things, from observing trends in data changes and deriving insight, to fixing data after problems. Sadly, mistakes happen, discovery of those is not always immediate, and fixing the data later is hard if you do not know how it looked at a specific point in time.
All of these become easy to solve if we have an easily accessible stream/history of data changes. However, having this is difficult because non-trivial problems need to be solved: dealing with schema changes, failover and establishing data quality guarantees.
MySQL Time Machine was made to solve these problems.
Tips to drive maria db cluster performance for nextcloudSeveralnines
Nextcloud requires a database to store administrative data for the platform. A poorly performing database can have a serious impact on performance and availability of Nextcloud. MariaDB Cluster is the recommended database backend for production installations that require high availability and performance.
This talk is a deep dive into how to design and optimize MariaDB Galera Cluster for Nextcloud. We will cover 5 tips on how to significantly improve performance and stability.
Agenda:
Overview of Nextcloud architecture
Database architecture design
Database proxy
MariaDB and InnoDB performance tuning
Nextcloud performance tuning
Q&A
As cloud adoption has grown more rapidly in the last decade , how DBA's a can add more value to system and bring in more scalability to the DB server. This talk was presented at Open Source India 2018 conference by Kabilesh and Manosh of Mydbops. They share a few experience and value addition made to customers during their consulting process.
MySQL Cluster (NDB) - Best Practices Percona Live 2017Severalnines
This presentation by Johan Andersson at Percona Live 2017 in Santa Clara, California gives detailed information on all you need to know to effectively deploy and manage MySQL Cluster technology in your environment.
The Proper Care and Feeding of MySQL DatabasesDave Stokes
Many Linux System Administrators are 'also' accidental database administrators. This is a guide for them to keep their MySQL database instances happy, health, and glowing
Faster, better, stronger: The new InnoDBMariaDB plc
For MariaDB Enterprise Server 10.5, the default transactional storage engine, InnoDB, has been significantly rewritten to improve the performance of writes and backups. Next, we removed a number of parameters to reduce unnecessary complexity, not only in terms of configuration but of the code itself. And finally, we improved crash recovery thanks to better consistency checks and we reduced memory consumption and file I/O thanks to an all new log record format.
In this session, we’ll walk through all of the improvements to InnoDB, and dive deep into the implementation to explain how these improvements help everything from configuration and performance to reliability and recovery.
Similar to Evolution of MySQL Parallel Replication (20)
Efficient MySQL Indexing and what's new in MySQL ExplainMydbops
Efficient MySQL Indexing & What's New in MySQL Explain - Mydbops MyWebinar Edition 32
This session will delve into:
• Strategic indexing techniques: Learn how to optimize your MySQL database by implementing effective indexing strategies, including when to avoid fulltext indexes to prevent wasted resources.
• Demystifying the new MySQL Explain: We'll explore the latest enhancements to the MySQL Explain plan's JSON output format. Discover how to store the output in a variable for further analysis – a valuable addition introduced in MySQL 8.3. You'll also learn about the explain_json_format_version variable, which empowers you to choose between different JSON output versions for greater flexibility.
• Live Chat Engagement: We encourage you to actively participate throughout the webinar! Use the chat functionality to ask questions and share your experiences with indexing and Explain.
This webinar is perfect for:
• Database administrators (DBAs)
• Developers
• Anyone seeking to optimize MySQL performance and streamline database queries
Mydbops Managed Services specializes in taking the pain out of database management while optimizing performance. Since 2015, we have been providing top-notch support and assistance for the top three open-source databases: MySQL, MongoDB, and PostgreSQL.
Our team offers a wide range of services, including assistance, support, consulting, 24/7 operations, and expertise in all relevant technologies. We help organizations improve their database's performance, scalability, efficiency, and availability.
Contact us: info@mydbops.com
Visit: https://www.mydbops.com/
Scale your database traffic with Read & Write split using MySQL RouterMydbops
Scale your database traffic with Read & Write split using MySQL Router
This webinar recording dives into the world of MySQL Router and its capabilities for effectively managing high database traffic loads.
You'll learn:
• The challenges of scaling database traffic
• How MySQL Router facilitates read/write splitting
• The benefits of implementing read/write splitting
• Step-by-step demonstrations for configuring MySQL Router for:
1. Static read/write routing for standalone servers
2. Dynamic read/write split for InnoDB Cluster & Replica Set
• A comparison of popular load balancers (MySQL Router, ProxySQL, Maxscale)
Mydbops is a trusted database management and consultancy provider, helping businesses achieve optimal database performance and scalability.
Connect with Mydbops!
Website: https://www.mydbops.com/
Email: info@mydbops.com
PostgreSQL Schema Changes with pg-osc - Mydbops @ PGConf India 2024Mydbops
Title: PostgreSQL Schema Changes with Minimal Downtime using pg_osc
Speaker: Aakash M, Mydbops
Event: PGConf India, 2024
Description:
This presentation explores pg_osc, a tool that enables efficient schema changes in PostgreSQL tables with minimal downtime and locking. It addresses the challenges of traditional ALTER statements and provides a smoother alternative.
Key points covered:
• Introduction to pg_osc and its benefits.
• Limitations of ALTER statements and how pg_osc overcomes them.
• Step-by-step explanation of the pg_osc process.
• Prominent features and considerations for using pg_osc.
• References and resources for further exploration.
Target Audience:
• Database administrators
• Developers working with PostgreSQL
• Anyone interested in optimizing schema changes
This presentation provides valuable insights for anyone seeking to streamline schema modifications in PostgreSQL while minimizing disruptions.
Choosing the Right Database: Exploring MySQL Alternatives for Modern Applicat...Mydbops
Choosing the Right Database: Exploring MySQL Alternatives for Modern Applications by Bhanu Jamwal, Head of Solution Engineering, PingCAP at the Mydbops Opensource Database Meetup 14.
This presentation discusses the challenges in choosing the right database for modern applications, focusing on MySQL alternatives. It highlights the growth of new applications, the need to improve infrastructure, and the rise of cloud-native architecture.
The presentation explores alternatives to MySQL, such as MySQL forks, database clustering, and distributed SQL. It introduces TiDB as a distributed SQL database for modern applications, highlighting its features and top use cases.
Case studies of companies benefiting from TiDB are included. The presentation also outlines TiDB's product roadmap, detailing upcoming features and enhancements.
Mastering Aurora PostgreSQL Clusters for Disaster RecoveryMydbops
The presentation "Mastering Aurora PostgreSQL Clusters for Disaster Recovery" by Bhuvanesh, Co-Founder & CTO of ShellKode, at the Mydbops OpenSource Database Meetup 14 covers advanced topics in managing Aurora PostgreSQL clusters for disaster recovery purposes.
Bhuvanesh discusses key features of Aurora, such as its decoupled storage and compute layers, auto scaling capabilities, and native replication, highlighting its benefits over traditional RDS instances. He also explores Aurora Global Databases, explaining how they enable replication of data across regions for geo-span applications with low latency.
The presentation includes architecture details, such as physical and log replication, and managed failover options for ensuring high availability. Bhuvanesh shares real-world experiences and best practices for managing Aurora clusters, including handling replication lag and TLS certificate management.
Navigating Transactions: ACID Complexity in Modern Databases- Mydbops Open So...Mydbops
Navigating Transactions: ACID Complexity in Modern Databases- Mydbops Open Source Database Meetup 15
Shivji explores the evolution of transactions, implementation challenges, and insights into distributed database environments. Whether you're a database enthusiast or a tech enthusiast, this presentation offers valuable insights into the world of database management.
Contents:
• Historical perspective of transactions
• Implementing transactions
• Challenges and trade-offs in ACID properties
• Distributed transactions in modern databases like Amazon Aurora, DynamoDB, and Google Spanner
Key Takeaways:
• Understanding the evolution of transactions in databases
• Insights into the challenges of implementing ACID properties
• Exploration of distributed transaction models in leading database systems
AWS RDS in MySQL 2023 Vinoth Kanna @ Mydbops OpenSource Database Meetup 15Mydbops
Discover the latest developments in the AWS RDS MySQL ecosystem with Vinoth Kanna, Founding Partner at Mydbops LLP. Explore the exciting new features and enhancements introduced in RDS MySQL in 2023, including support for Group Replication, snapshot upgrades, dedicated log volumes, and performance insights export to CloudWatch. Gain valuable insights into the introduction of new instance types and version releases throughout the year. Stay ahead of the curve by learning about the end-of-life dates for MySQL RDS 5.7 and extended support pricing considerations. Don't miss out on this informative session to deepen your understanding of AWS RDS MySQL and its evolving capabilities.
Data-at-scale-with-TIDB Mydbops Co-Founder Kabilesh PR at LSPE EventMydbops
Explore the world of TiDB with Kabilesh PR, Co-Founder of Mydbops, as he unveils the potential of this open-source distributed SQL database. Dive into the architecture, scalability solutions, and production readiness of TiDB, and discover how it addresses MySQL scalability bottlenecks through sharding. Gain insights into its stateless SQL interface, transactional storage with TiKV, and analytical capabilities with TiFlash. Learn about TiDB's native sharding features, use cases across various industries, and its readiness for production environments. Delve into its limitations and discover how TiDB can transform your data management landscape.
MySQL Transformation Case Study: 80% Cost Savings & Uninterrupted Availabilit...Mydbops
Discover how Mydbops achieved an impressive 80% cost savings and ensured uninterrupted availability through a transformative MySQL database case study. Join Vinoth Kanna RS, Co-Founder of Mydbops, as he shares insights into optimizing infrastructure, enhancing observability, and navigating critical technology decisions. Learn from real-world challenges, innovative solutions, and valuable takeaways for your own database management endeavors.
Insightful session at Mydbops Opensource Database Meetup 14 in Bangalore as our Chief Technology Officer, Manosh Malai, delves deep into the world of MongoDB optimization. In this engaging presentation, Manosh explores the two primary sharding strategies - Vertical and Horizontal, providing valuable insights and real-world use cases. Gain a comprehensive understanding of the fundamentals of MongoDB sharding, including the pros, cons, and practical applications of both Vertical and Horizontal strategies. Explore real-world case studies and performance benchmarks to optimize your MongoDB deployments.
Mastering MongoDB Atlas: Essentials of Diagnostics and Debugging in the Cloud...Mydbops
Diving deep into the essentials of MongoDB Atlas diagnostics and debugging, helps you ensure optimal performance for your cloud-based databases. Join us as we explore key strategies and best practices for effective database management in the cloud environment. Get ready to elevate your MongoDB Atlas experience and unlock the full potential of your cloud databases.
Data Organisation: Table Partitioning in PostgreSQLMydbops
Mohammad Zaid Patel from Mydbops, embarked on a journey through PostgreSQL table partitioning.
✅ Why Data Organization?
Understand the importance and benefits of organized data in databases.
✅ Advantages of Organizing Your Data:
Better retrieval, improved performance, data integrity, and efficient storage.
✅ Data Organization Techniques:
Index creation, data archival, schemas, functional naming, and relationships.
✅ Table Partitioning in PostgreSQL:
Dive into the design technique of dividing large tables for efficient data management.
✅ Types of Table Partitioning:
Range, List, and Hash methods for unique data organization.
✅ Partitioning Techniques in PostgreSQL:
Manual and using pg_partman extension for streamlined partition creation.
✅ Limitations of Table Partitioning:
Considerations and challenges associated with this technique.
✅ Best Practices for Partitioned Table Maintenance:
Tips on choosing the right partition key, understanding query patterns, and more.
#mydbops #postgresql #mywebinar #webinar #data #database #partitioning #dataorganization #queryperformance #indexing #dataarchival #scalability #dataanalysis #pg_partman #databaseperformance #maintenance #dbms #dba #opensource #highavailability
Navigating MongoDB's Queryable Encryption for Ultimate Security - MydbopsMydbops
Explore MongoDB's Queryable Encryption in this in-depth webinar presentation. Learn about CSFLE, Queryable Encryption, and their mechanisms. Dive into DEKs, Key Vault Collections, Cryptographic Tokens, and more. Discover how MongoDB ensures robust security and flexibility in data encryption.
Explore TiDB's architecture, high availability features, and its ability to handle both transactional and analytical workloads.
Discover the role of the Raft consensus algorithm in ensuring data replication and fault tolerance within the system. Learn about practical use cases in SAAS applications, IoT data management, e-commerce, logistics, gaming, fintech, and more.
Get to know the limitations and advantages of TiDB and how it can revolutionize your data management strategy.
Join us on this knowledge-packed journey!
Mastering Database Migration_ Native replication (8.0) to InnoDB Cluster (8.0...Mydbops
Mastering Database Migration_ Native replication (8.0) to InnoDB Cluster (8.0) with Cloning Best Practices
Explore the slides from our recent webinar on 'Mastering Database Migration: MySQL Replication to InnoDB Cluster Using Cloning.' Dive into the world of database migration, InnoDB Cluster, and the power of cloning. Discover best practices and insights shared by experts in the field. Stay updated with the latest trends in database management
Watch the webinar recording https://youtu.be/sc9TYXKAQWw
Visit our Mydbops blog https://www.mydbops.com/blog/ for further insights.
Enhancing Security of MySQL Connections using SSL certificatesMydbops
Enhancing Security of MySQL Connections using SSL certificates
Mydbops MyWebinar Edition 26
In this informative presentation by Mydbops, explore the world of database security as we delve into the steps to fortify your MySQL connections using SSL certificates. Learn about the working of SSL, the benefits of SSL/TLS encryption, the types of certificates available, and the evolution of SSL/TLS in MySQL. Discover why securing your remote connections and data confidentiality is crucial. Plus, find out how to enable SSL connections in MySQL 8.0. Don't miss this opportunity to bolster your MySQL security knowledge.
Watch the webinar recording https://youtu.be/aMSUtQVdFks
Visit our Mydbops blog https://www.mydbops.com/blog/ for further insights.
Exploring the Fundamentals of YugabyteDB - Mydbops Mydbops
Exploring the Fundamentals of YugabyteDB - Mydbops MyWebinar Edition 25
Join us for an enlightening journey into the world of YugabyteDB, a distributed SQL database revolutionizing data management. In this webinar presentation, we delve into the challenges faced by traditional databases, explore the architecture and unique features of YugabyteDB, and showcase its seamless scalability and fault tolerance.
Watch the full recording: https://youtu.be/QtvK-apLBwQ
Visit Mydbops Blogs: https://www.mydbops.com/blog/
Time series in MongoDB - Mydbops Mywebinar Edition 24. - Explore the fascinating world of time series data management in MongoDB with our insightful webinar presentation. Join us as we dive into the intricacies of leveraging MongoDB for time series use cases, discussing best practices, performance optimization techniques, and real-world examples. Discover how MongoDB can empower your applications to efficiently handle time-based data and unlock valuable insights. Don't miss out on this opportunity to enhance your knowledge and stay ahead in the evolving field of data management. Dive into our speaker deck presentation now!
Watch the webinar recording here: https://youtu.be/rwjHRLGZ7pg
Mydbops Blogs: https://www.mydbops.com/blog/
TiDB in a Nutshell - Power of Open-Source Distributed SQL Database - MydbopsMydbops
TiDB in a Nutshell - Open-Source Distributed SQL Database
Immerse yourself in the world of TiDB Architecture with our captivating presentation. Dive deep into the intricacies of TiDB, the distributed SQL database that has redefined data management. Join us as we unravel the architectural brilliance behind TiDB, exploring its key components, data flow, and design principles. Uncover the secrets to exceptional performance, elastic scalability, and rock-solid data consistency. Prepare to be enlightened by the groundbreaking TiDB Architecture that is revolutionizing the industry.
Watch the full webinar here https://youtu.be/aMSUtQVdFks for webinar recording
Mydbops Blogs: https://www.mydbops.com/blog/
High availability is critical for PostgreSQL database systems, especially for organizations that depend on their databases to support their operations. In this presentation, we will explore the different options available for achieving high availability in PostgreSQL.
Understanding Inductive Bias in Machine LearningSUTEJAS
This presentation explores the concept of inductive bias in machine learning. It explains how algorithms come with built-in assumptions and preferences that guide the learning process. You'll learn about the different types of inductive bias and how they can impact the performance and generalizability of machine learning models.
The presentation also covers the positive and negative aspects of inductive bias, along with strategies for mitigating potential drawbacks. We'll explore examples of how bias manifests in algorithms like neural networks and decision trees.
By understanding inductive bias, you can gain valuable insights into how machine learning models work and make informed decisions when building and deploying them.
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsVictor Morales
K8sGPT is a tool that analyzes and diagnoses Kubernetes clusters. This presentation was used to share the requirements and dependencies to deploy K8sGPT in a local environment.
HEAP SORT ILLUSTRATED WITH HEAPIFY, BUILD HEAP FOR DYNAMIC ARRAYS.
Heap sort is a comparison-based sorting technique based on Binary Heap data structure. It is similar to the selection sort where we first find the minimum element and place the minimum element at the beginning. Repeat the same process for the remaining elements.
ACEP Magazine edition 4th launched on 05.06.2024Rahul
This document provides information about the third edition of the magazine "Sthapatya" published by the Association of Civil Engineers (Practicing) Aurangabad. It includes messages from current and past presidents of ACEP, memories and photos from past ACEP events, information on life time achievement awards given by ACEP, and a technical article on concrete maintenance, repairs and strengthening. The document highlights activities of ACEP and provides a technical educational article for members.
Hierarchical Digital Twin of a Naval Power SystemKerry Sado
A hierarchical digital twin of a Naval DC power system has been developed and experimentally verified. Similar to other state-of-the-art digital twins, this technology creates a digital replica of the physical system executed in real-time or faster, which can modify hardware controls. However, its advantage stems from distributing computational efforts by utilizing a hierarchical structure composed of lower-level digital twin blocks and a higher-level system digital twin. Each digital twin block is associated with a physical subsystem of the hardware and communicates with a singular system digital twin, which creates a system-level response. By extracting information from each level of the hierarchy, power system controls of the hardware were reconfigured autonomously. This hierarchical digital twin development offers several advantages over other digital twins, particularly in the field of naval power systems. The hierarchical structure allows for greater computational efficiency and scalability while the ability to autonomously reconfigure hardware controls offers increased flexibility and responsiveness. The hierarchical decomposition and models utilized were well aligned with the physical twin, as indicated by the maximum deviations between the developed digital twin hierarchy and the hardware.
Literature Review Basics and Understanding Reference Management.pptxDr Ramhari Poudyal
Three-day training on academic research focuses on analytical tools at United Technical College, supported by the University Grant Commission, Nepal. 24-26 May 2024
Water billing management system project report.pdfKamal Acharya
Our project entitled “Water Billing Management System” aims is to generate Water bill with all the charges and penalty. Manual system that is employed is extremely laborious and quite inadequate. It only makes the process more difficult and hard.
The aim of our project is to develop a system that is meant to partially computerize the work performed in the Water Board like generating monthly Water bill, record of consuming unit of water, store record of the customer and previous unpaid record.
We used HTML/PHP as front end and MYSQL as back end for developing our project. HTML is primarily a visual design environment. We can create a android application by designing the form and that make up the user interface. Adding android application code to the form and the objects such as buttons and text boxes on them and adding any required support code in additional modular.
MySQL is free open source database that facilitates the effective management of the databases by connecting them to the software. It is a stable ,reliable and the powerful solution with the advanced features and advantages which are as follows: Data Security.MySQL is free open source database that facilitates the effective management of the databases by connecting them to the software.
Water billing management system project report.pdf
Evolution of MySQL Parallel Replication
1. Evolution of MySQL Parallel
replication
Mydbops Database Meetup (Bangalore)
Presenter
Karthik P R
Founder Mydbops
www.mydbops.com info@mydbops.com
2. About Mydbops
● Founded in 2015, HQ in Bangalore India with 150+ customer base across the globe.
● Mydbops is on Database Consulting with core specialization on MySQL and MongoDB Administration and
Support.
● We have expert team with 20+ certified DBA’s providing full time support and currently managing 300+
servers.
● Mydbops was created with a motto of developing a DevOPS model for Database administration offering
24*7 expert remote DBA support.
● We help organisations to architect and scale systems in MySQL/MongoDB by implementing the advanced
technologies in industry which are completely open source.
3. Mydbops is into MySQL/MongoDB Support and Consulting. It is founded by experts
who have scaled database at Yahoo! ,Percona and Datavail. We are providing an
expert level support and 24*7 monitoring for MySQL databases and its related
technologies like MariaDB , Percona ( also clustering ) . We support modern
database technologies in MySQL which includes Galera ( Clustering ), Group
Replication , SQL aware Load balancers like Maxscale / ProxySQL.
About Mydbops
6. ● Introduction : MySQL Replication
● Basics of Binary log .
● Parallel Replication
● Summary
Table of Contents
7. ● One of the most popular feature
● Native and inbuilt
● Logical Replication
● Asynchronous in state.
● Semi Sync and Flow control ( Group Replication )
● Read Scalability
● Native high availability feature.
Introduction : MySQL Replication
9. ● Binary log is the key for replication
● Filtered Replication
○ Binlog filter
○ Relay log filter
● Possible Architecture
○ Master - Slave
○ Master - Master
○ Multi master ( Multi Source )
○ Intermediate Slave
○ Group Replication
● No parallelism by default ( Single threaded )
Introduction : MySQL Replication
10. ● Journal of the master writes.
● Contains the DDL and other writes.
● Records the statements in the order of transaction commit.
● Works independent of the engine.
● Formats : ROW and Statement
● Reproduced on the slaves as relay log
Basics of Binary log
11. Basics of Binary log
Execute Binlog Commit
Two Phase Commit (2PC)
1. Changes are collected in transaction cache ( per connection )
2. Transaction is committed to storage engine
3. Transaction cache is written to binary log (commit).
12. Sample binlog content ( MySQL 8.0 )
BEGIN
/*!*/;
# at 825
#180803 23:57:16 server id 101 end_log_pos 893 CRC32 0xbc8bc6b1 Table_map: `sbtest1`.`sbtest6` mapped to
number 82
# at 893
#180803 23:57:16 server id 101 end_log_pos 1118 CRC32 0xdfabee92 Write_rows: table id 82 flags: STMT_END_F
### INSERT INTO `sbtest1`.`sbtest6`
### SET
### @1=1000001 /* INT meta=0 nullable=0 is_null=0 */
### @2=501910 /* INT meta=0 nullable=0 is_null=0 */
###
@3='93213299669-86838228032-85626473166-33684960785-51919150459-30647403687-71837739046-18605717775-51951633177-01
652473758' /* STRING(480) meta=61152 nullable=0 is_null=0 */
### @4='10076769068-66969333322-72197014465-67237974816-92730387311' /* STRING(240) meta=65264 nullable=0
is_null=0 */
# at 1118
#180803 23:57:16 server id 101 end_log_pos 1149 CRC32 0x8a6136cc Xid = 7532
COMMIT/*!*/;
# at 1149
Basics of Binary log
14. Need for parallel replication.
● Effective usage of multi core machines ( avoid single core writes in slaves )
● Use the modern disk and storage efficiently
○ RAID 1 ( 2 disks 2 IOs parallel)
○ SSD ( write IOs in parallel )
● Faster replication ( minimal lag )
Slowness happens at SQL_thread ( SQL applier )
Parallel Replication
15. MySQL 5.6 MySQL 5.7 MySQL 8.0
Parallel Replication
WriteSet
Transaction writing different
tuples
Schema Based
Schema local Transactions
Logical Clock
Binary log group commits
17. MySQL 5.6 ( Schema based )
● Two transactions of different schema can be parallelised
● Transaction are distributed based on per database basis.
● The transaction ordering can be different master and slave.
○ Master A1, B1, A2, B2, A3,B3
○ Slave A1, B1, A2, A3, B2, B3
Parallel Replication
19. Schema based ( MySQL 5.6)
● How to Facilitate ?
○ slave_parallel_workers=N ( N > 1)
○ slave_parallel_type=”DATABASE” ( default )
● Impact
○ Gaps in transaction order
○ Replication Crash Recovery ( GTID can be a saviour )
○ Beware of backup used.
Parallel Replication
21. Logical clock ( MySQL 5.7)
● Based on binlog group commit
● Binlog_group_commit_sync_delay and binlog_group_commit_sync_no_delay_count.
● Parallelism interval is based on last_committed and sequence number in binary logs
● Tuning need binlog analysis ( no counters inbuilt )
● Slave_preserve_commit_order avoids gaps.
https://jfg-mysql.blogspot.com/2017/02/metric-for-tuning-parallel-replication-mysql-5-7.html
Parallel Replication
22. Logical clock ( MySQL 5.7)
Parallel Replication
Last_committed : Start with 0 and reset at end of binlog
Sequence_number : Start with 1 and reset at end of binlog
23. Schema based ( MySQL 5.7)
● How to Facilitate ?
○ slave_parallel_workers=N ( N > 1)
○ slave_parallel_type=”LOGICAL_CLOCK” ( default )
○ Tune the binlog group commit.
● Impact
○ Can slow down the master writes.
○ Gaps in transaction order ( Slave_preserve_commit_order can avoid it ).
○ slave_preserve_commit order needs log_slave_updates.
○ longer transactions can block or slow down
Parallel Replication
25. Write set ( MySQL 8.0 and 5.7.22)
● Transaction that affect different rows ( tuples ) can be parallelized.
● The dependency of each transaction is tracked ( history ).
● The sequence number of the last transaction which updates current row is tracked.
● Faster and better mode of parallel replication.
write set : Any transaction with different tuples can be parallelized.
write set session : Updates from same session can’t be reordered
Parallel Replication
29. Write set ( MySQL 8.0)
● How to Facilitate ?
○ slave_parallel_workers=N ( N > 1)
○ slave_parallel_type=”LOGICAL_CLOCK” ( default )
○ binlog_transaction_dependency_tracking= writeset/writeset_session
○ transaction_writeset_extraction= XXHASH64/MURMUR32
To Disable write set :
● binlog_transaction_dependency_tracking= COMMIT_ORDER
Parallel Replication
30. Limitations :
● Primary key is needed on all table.
● Do not work well with tables with foreign keys.
● Works only with the ROW based replication ( Default in 8.0).
Additional Info :
● Used in group replication
● 5.7.22 has writeset ( backported from MySQL 8.0)
Parallel Replication
32. Summary :
● Parallel replication minimize the lag.
● It’s not easy to setup ( tune ) but worth the efforts.
● Schema based can be used in multi tenant environments.
● Logical Clock (5.7) needs more tuning.
● Writeset (8.0) gives better performance.
Summary
33. General tips over parallel replication:
● Use only InnoDB tables.
● Enable GTID’s for crash safe replication.
● relay_log_recovery should be enabled.
● master_info and slave_info_repositorty should be in table.
● ROW based replication is faster and better for most cases.
● Ensure your tables have a primary key.
General Tips
34. ● https://jfg-mysql.blogspot.com Jean-Francois Slides and blogs on parallel
replication.
● https://mysqlhighavailability.com/improving-the-parallel-applier-with-writeset-ba
sed-dependency-tracking/ Writeset replication.
● http://mysqlmusings.blogspot.com/2012/06/binary-log-group-commit-in-mysql-5
6.html Binlog Group commit.
Resources