As the Product Manager for the MySQL database it is always great
to announce when the MySQL Engineering team delivers another
great product release. As a field DBA and developer it is
even better when that release contains improvements and
innovation that I know will help those currently using MySQL for
apps that range from modest intranet sites to the most highly
trafficked web sites on the web. That said, it is my
pleasure to take my hat off to MySQL Engineering for today's
release of the MySQL 5.6.5 Development Milestone Release ("DMR").
The new highlighted features in MySQL 5.6.5 are discussed
here:
New Self-Healing Replication Clusters
The 5.6.5 DMR improves MySQL Replication by adding Global
Transaction Ids and automated utilities for self-healing
Replication clusters. Prior to 5.6.5 this has been somewhat
of a pain point for MySQL users with most developing custom
solutions or looking to costly, …
The objective of this benchmark is to measure the performance improvement achieved when enabling the Multi-Threaded Slave enhancement delivered as a part MySQL 5.6.
As the results demonstrate, Multi-Threaded Slaves delivers 5x higher replication performance based on a configuration with 10 databases/schemas. For real-world deployments, higher replication performance directly translates to:
· Improved consistency of reads from slaves (i.e. reduced risk of reading "stale" data)
· Reduced risk of data loss should the master fail before replicating all events in its binary log (binlog)
The multi-threaded slave splits processing between worker threads based on schema, allowing updates to be applied in parallel, rather than sequentially. This delivers benefits to those workloads that isolate application …
[Read more]We are excited to announce TokuDB® v6.0, the latest version of Tokutek’s flagship storage engine for MySQL and MariaDB.
This version offers feature and performance enhancements over previous releases, support for XA (two-phase transactional commits), better compression, and reduced performance variability associated with checkpointing. This release also brings TokuDB support up to date on MySQL v5.1, MySQL v5.5 and MariaDB v5.2. There’s a lot of great technical stuff under the hood in this release and I’ll be reviewing the improvements one-by-one over the course of this week.
I’ll be posting more details about the new features and performance, so here’s an overview of what’s in store.
- Replication Slave Lag
- One of the things TokuDB does well is single-threaded insertions, which translates directly into less slave lag. With TokuDB v6.0, we introduce support for XA, which insures for …
MySQL community conferences are alive and well in 2012.
Percona has taken the initiative to host the yearly MySQL event
at the Santa Clara Hyatt; it's now called Percona Live MySQL Conference and Expo.
It runs from 10 through 12 April. But don't plan on
going home Thursday night. On Friday 13 April you can also
attend the SkySQL and MariaDB MySQL Solutions Day in
the same location. And wait, that's not all! Drizzle Day is also on 13 April and
also at the Hyatt, so you can catch up on what the Drizzle folks
have been up to for the last 12 months.
Now for some specifics on the conferences where Continuent will
be appearing. …
tldr; A single MySQL Cluster prioritises Consistency in Network
partition events. Asynchronously replicating MySQL Clusters
prioritise Availability in Network partition events.
I was recently asked about the relationship between MySQL Cluster
and the CAP theorem. The CAP theorem is often described as
a pick two out of three problem, such as choosing from good,
cheap, fast. You can have any two, but you can't have all three.
For CAP the three qualities are 'Consistency', 'Availability' and
'Partition tolerance'. CAP states that in a system with data
replicated over a network only two of these three qualities can
be maintained at once, so which two does MySQL Cluster
provide?
Standard 'my interpretation of CAP' section
Everyone who discusses CAP like to rehash it, and I'm no
exception. …
When I joined Continuent, at the end of 2010, I was fascinated by the technology of its core products. Readers of this blog know that I have had my hands full with Tungsten Replicator, but what really turned me on was the flagship management suite, Tungsten Enterprise. After hammering at it for several months, and always marveling at the beauty of its technology, let me give a tour of the suite, so that you'll understand what's so exciting about it. First off, Tungsten Enterprise is not simply a replication tool. It is based on replication, but it is mostly a data management suite. Its aim is to reduce complexity for the user and to show a database cluster to the user as if it were a single server, always on, no matter what happens. The most amazing things that you will see in Tungsten Enterprise are
- Automatic failover
- Cluster console, and …
Tungsten Replicator 2.0.5 was released this week-end. The release notes have quite a long list of bug fixes. Thanks to all the ones who have submitted bug reports, and fixes! There are a couple of new features as well. The replicator includes now a slave prefetch service. Unlike parallel replication, this feature works fine with a single database, and provides performance improvements that in many cases solve the slave lagging problems. This was a bitch of a feature to get right. Many have tried it, many have experienced various degrees of success, and several failures. We started with the bold assertiveness of the brave after an exciting talk at Percona Live in October, and I was …
[Read more]
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]