MySQL 5.7.2 features enhanced Multi-threaded slave which
can be used to apply transactions in parallel even within a
single database. Internal details of its working can be found in
an earlier post. In this post we will
see how we can configure our replication slave to use this
enhancement.
MySQL 5.7.2 has a new system variable
--slave-parallel-type which is dynamic. It can
be set to the following values:
1. DATABASE : (Default) Use the db partitioned MTS
(1 worker per database)
2. LOGICAL_CLOCK: Use logical clock based
parallelization mode.
Apart from this the original option of
--slave-parallel-workers=N is still valid and it sets that
number of workers that we need to spawn. Also since the slave
leverages the group of transactions that have …
IntroductionRe-applying binary logs generated from highly
concurrent master on the slave has always been an area of focus.
It is important for various reasons. First, in real-time systems,
it becomes extremely important for the slave to keep up with the
master. This can only be guaranteed if the slaves’ performance in
reapplying the transactions from the binary log is similar (or
at-least comparable) to that of master, which is accepting
queries directly from multiple clients. Second, in synchronous
replication scenarios, having a fast slaves, aids in reducing the
response times as seen by the clients to the master. This can be
made possible by applying transactions from the binary log in
parallel. However if left uncontrolled, a simple round-robin
multi-threaded applying will lead to inconsistency and the slave
will no longer be the exact replica of the leader.
The infamous out of order commit problemThe Out of order
execution of transaction …
Learn how Modernizing Medicine, an electronic medical records company, serves thousands of customers and leverages Continuent Tungsten to manage databases on Amazon AWS. Modernizing Medicine is as fast growing SaaS company, offering electronic medical records management solution for thousands of small and medium-sizes dermatology, ophthalmology, optometry, plastic surgery, cosmetic and
I was rooting through past blog entries and I stumbled accross a draft post on setting up multi-master (update anywhere) asynchronous replication for MySQL Cluster. The post never quite got finished and published and while the material is now 4 years old it may still be helpfull to some and so I’m posting it now. Note that a lot has happened with MySQL Cluster in the last 4 years and in this area, the most notable change has been the Enhanced conflict resolution with MySQL Cluster active-active replication feature introduced in MySQL Cluster 7.2 and if you’re only dealing with a pair of Clusters, that’s your best option as it removed the need for you to maintain the timestamp columns and backs out entire transactions rather than just the conflicting rows. So when would you use this “legacy” method? The main use case is when you want conflict detection/resolution among a ring of more than …
[Read more]On 17th October I’ll be running a hands-on workshop on the various technologies available to provide High Availability using MySQL. The workshop is being held on 17th October (the day before the All Your Base conference) in Oxford (UK). The cost is £250 + VAT and you can register here.
This workshop provides an introduction to what High Availability (HA) is; what technology options are available to achieve it with MySQL and how to actually implement your own HA solutions. The session will be a mixture of presentations, demonstrations and (most importantly) hands-on tutorials.
We’ll start with an overview of High Availability – in general and in the context of MySQL and then a survey of the technologies to choose from:
- MySQL …
With the General Availability of the standalone MySQL Utilities it now makes sense to use these to simplify (and optionally automate) your MySQL Replication and High Availability solutions. In light of that, 4 of our MySQL white papers have been updated to reflect the new opportunities:
MySQL Guide to High Availability Solutions. Data is the currency of today’s web, mobile, social, enterprise and cloud applications. Ensuring data is always available is a top priority for any organization – minutes of downtime will result in significant loss of …
[Read more]Two of the more popular solutions are MySQL Master HA and Percona Replication Manager.
MySQL Master HA
MHA is based on a set of Perl scripts that monitors for replication and server health. When a failover scenario will happen, it can do automatic failover to a slave OR from a selection of slaves you have configured to make as the new master. The good thing about this is, after the initial failover, there will be no succeeding attempts to fail back, this is to protect your data and consistency of the cluster. You can also configure to only have manual failover for scheduled maintenance and the like. Between PRM and MHA, MHA is really easier to manage.
http://code.google.com/p/mysql-master-ha/
Percona Replication Manager
PRM is based on …
[Read more]With the release of MySQL Utilities 1.3.4, the standalone (not bundled with the MySQL WorkBench GUI) package is now Generally Available and fully supported. This post will focus on a very important change (the ability to run as a daemon rather than in a terminal) to the mysqlfailover utility which allows you to build a light-weight HA database solution using MySQL Replication.
For a general overview of MySQL Utilities, take a look at this recent webinar or for a deeper dive into using them to setup replication and adding auto-failover of the master function to slaves watch this video and worked example. …
[Read more]As a developer of an application there really isn't a problem better than finding that you have to scale up the application and the database that supports it to handle the increased load. The main bottleneck to most expansion is the database server and in many modern environments that replication is based around MySQL.
Application servers are easy to add on to the front-end of your environment.
In this webinar, recorded 7/31/13, Wiqar Chaudry (Tech Evangelist at NuoDB) demonstrates how to easily replicate from MySQL to NuoDB with Tungsten Replicator.
In addition, see Philip Stoev's blog describing how to configure replication between MySQL and NuoDB using Tungsten Replicator.