Slave prefetch is an increasingly popular technique for speeding
up native MySQL replication, with several tools already published
to enable it, such as mk-slave-prefetch and Replication Booster. Tungsten Replicator
is now joining the fray. This article explains how our
implementation works, how to install and tune it, and how well it
performs compared to unaided MySQL native replication as well as
Tungsten parallel replication.
Understanding Slave Prefetch
Slow reads from storage are the principle reason for lagging
MySQL replication. This seems paradoxical since at first
glance the lag is caused by delayed updates. The
explanation is due to the way DBMS engines …
Databases fail in interesting ways. About a week ago I was
called in on a support case for Tungsten Enterprise. We were getting
failures in which the master MySQL 5.1.50 server would run out of
connections, block applications for 5 to 10 minutes and
eventually trigger automated failover to a slave. Running
out of database connections is a classic symptom of blocking on a
shared resource inside the server. The blocked transactions
hold onto their connections, which are quickly exhausted if new
transactions constantly arrive from applications. So where
was the hold-up?
Our first clue was to notice that Tungsten Replicator was processing a huge
transaction at the time of one of the failovers. To find
out more I dug into the MySQL binlog using the …
Sergey Petrunia of the MariaDB project & Monty Program.
MySQL 5.5 GA at the end of 2010. MariaDB 5.3 RC towards the end of 2011 (beta in June 2011).
MySQL 5.5 is merged to Percona Server 5.5 which included semi-sync replication, slave fsync options, atuomatic relay log recovery, RBR slave type conversions (question if this is useful or not), individual log flushing (very useful, but not many using), replication heartbeat, SHOW RELAYLOG EVENTS. About 2/3rds of the audience use MySQL 5.5 in production, with only 2 people using semi-sync replication.
MariaDB 5.3 brings replication features brings group commit in the binary log, which is merged into Percona Server 5.5. Checksums for binlog events which is merged from MySQL 5.6. Sergey goes in-depth about the …
[Read more]MySQL replication is single threaded. Multi-master replication is complex with MySQL. Circular replication works but is very fragile. Once you’ve achieved the feat, how do you avoid conflicts? The lack of global transaction ID today also means you may have slaves that may not be synchronized fully. Finally, some people like to replicate to PostgreSQL, Oracle and MongoDB.
This is where Tungsten Replicator comes into place. Opensource. 100% GPLv2. You can do easy failover (no need to synchronize the slaves manually when a master dies), have multiple masters, multiple sources to a single slave, conflict prevention, parallel replication, and replicate to Oracle/PostgreSQL database (heterogeneous replication – …
[Read more]SkySQL™ today announced the immediate availability of SkySQL™ Enterprise HA, its leading 360° degrees High Availability solution for the MySQL® & MariaDB® databases.
High Availability is the #1 requested enhancement to the MySQL & MariaDB servers, even more popular than scalability and performance. And with SkySQL's expertise at hand, it is now easier than ever before for customers to achieve the level of High Availability that they want.
SkySQL™ Enterprise HA is SkySQL's 360° answer to …
[Read more]Starting with MySQL 5.5 it is possible to configure semi-synchronous replication. As you probably know, by default, MySQL replication is asynchronous. Asynchronous replication means that events/transactions applied on one server are not immediately applied on the other one. In the specific context of MySQL such behavior means that the MySQL Master writes transactions/events to the local binary logs, however it has no idea when the slave(s) will get and process them. Of course such configuration can lead, in case of failover, to some transaction loss since there is no guaranty that the transactions have been transmitted on the standby server(s).
The MySQL DevRoom at FOSDEM is ready. The schedule has been voted. Thanks to all who have participated. Now, let's make sure that the event is successful. The schedule is juicy, and not only because I have three talks in it!
Sunday 2012-02-05 | |||
Event | Speaker | Room | When |
---|---|---|---|
All you need to know about migrations and you never dared to ask | … |
It is my pleasure to announce that I will be presenting
on Tungsten Replicator next Wednesday, January
11th at the Los Angeles MySQL Meetup. The presentation title
is Fast, Flexible, and Fun--The Tungsten Replicator
Magical Mystery Tour. This talk is going to be fun for two
reasons.
First, it's a great opportunity to meet people in the LA MySQL
community and talk about my favorite replication software.
Tungsten is like a Swiss Army Knife for data replication.
It solves a wide range of problems involving HA, scaling,
and data movement. The presentation gives a quick intro to
the replicator, then surveys how to use the most interesting
features, including parallel slave apply, multi-master
replication, …
As promised, this is the final post in a series looking at
eventual consistency with MySQL Cluster asynchronous replication.
This time I'll describe the transaction dependency tracking used
with NDB$EPOCH_TRANS and review some of the implementation
properties.
Transaction based conflict handling with NDB$EPOCH_TRANS
NDB$EPOCH_TRANS is almost exactly the same as NDB$EPOCH, except
that when a conflict is detected on a row, the whole user
transaction which made the conflicting row change is marked as
conflicting, along with any dependent transactions. All of these
rejected row operations are then handled using inserts to an
exceptions table and realignment …
I am pleased to announce that the MySQL Database 5.6.4
development milestone release ("DMR") is now available for
download (select the Development Release
tab). MySQL 5.6.4 includes all 5.5 production-ready features and
provides an aggreation of all of the new features that have been
released in earlier 5.6 DMRs. 5.6.4 adds many bug fixes
and more new "early and often" enhancements that are development
and system QA complete and ready for Community evaluation and
feedback. You can get the complete rundown of all the new
5.6.4 specific features here.
For those following the progression of the 5.6 DMRs as the trains
leave the station, you should bookmark these MySQL …