We have been busy, at Continuent. In addition to our usual work
with high performance replication, we have addressed
usability issues, since we know that a hard-to-use problem,
no matter how powerful, has low adoption. Thus, is with some
personal satisfaction that I can announce the release of
Tungsten Replicator 2.0.3, which comes with
several huge improvements in matter of user friendliness. The
new installation procedure is so user friendly, in fact, that
I was able to build a sophisticated tungsten-sandbox with a 150-line shell
script. (The corresponding features …

In a few weeks, I will be on the road, for an intense set of
presentations in the USA.

San Francisco, April 7thI will start the tour at the San
Francisco MySQL User Group. On April 7, at 6pm I will talk about
Advanced MySQL replication for the masses. This
talk will explore topics such as bi-directional replication,
multiple sources, parallel replication, seamless failover, with
the help of Tungsten replicator.

Santa Clara, April 11, 12The MySQL conference starts on Monday,
April 11th, with several three-hour tutorials.

If you like fresh features, you should not miss this one.
MySQL 5.6.2 includes, among other improvements, the
implementation of Time delayed replication, a feature that lets
you tell the slave not to apply changes from the master
immediately, but to wait N seconds.

The feature is documented in WL#344. (There was a manual online as well
together with the binaries for MySQL 5.6.0, but they were removed
after a few days for a good reason. I am confident that both the
manual and some binaries will eventually show up soon).
Since as of today there are no binaries for MySQL 5.6.x, you need
to get the code and …

A few days ago, a friend of mine asked me if I knew of a way of
filtering a bunch of binary logs, to extract only statements
related to a single table. The task was about filtering a few
hundred binary log files.

It's a tricky problem. Even with my experience with regular
expressions, I knew that using a script to extract statements
related to a single table was going to be a nasty business.
However, I know of an entity that can filter by table name
efficiently, and that's the MySQL replication system. So I
suggested using replication to a sandbox with a
replicate-wild-do-table statement to get the job done.
My friend was skeptical and did not want to go that way. I was
busy writing an article for an Italian magazine and did not
follow up immediately. But today, with the article safely in the
editor's hands, I did a quick test, and guess what? It
works!

A few days ago I saw an article about Semi-Synchronous Replication in MySQL 5.5. It
asks questions, and doesn't give answers beyond gut feeling. So I
thought that I would do some practical testing of this new
feature.
Before we go that way, though, let's revisit the theory.
How semi-synchronous replication worksFigure 1. A transaction with regular replication
With regular replication, you send a transaction to the master
(1). When the COMMIT is received, the master
executes it (2), and if successful it logs the transaction to the
binary log (3). The the master answers the client request (4)
with a successful result. In the meantime, the slaves replicate
the record (5).
What happens if the master crashes after point #4 and before a
slave has had a chance of getting the data in point #5? …

If you have tried Quick start guides: MySQL cluster in 10
minutes, you may have realized that it is really quick
and easy.
However, it leaves some typing to be done.
Users of MySQL Sandbox have a horror of repetitive typing,
and this got me thinking. "Could I integrate MySQL Sandbox
and Cluster?"
The answer was: "Sure."
But then I started thinking of all the minor and major
changes that I wanted to do to the Sandbox and have delayed
for too long. What I need, is a radical refactoring.
And then I remembered that it has been almost two years since
I learned a new programming language and that perhaps I could
expand my horizons …

The latest release of MySQL Sandbox, 3.0.12, has integrated plugin
installation features, as mentioned in my previous post.
Not only that. This version has also more tests, fixes a
couple of bugs, and introduces basic instrumentation. Now
each script released with MySQL Sandbox, and every one that
the Sandbox itself installs, can leave a trail in a
file.

Let's start with the plugin. The documentation has been updated to cover this
new feature. And 27 new tests give me some confidence that it …

I saw it coming.
In the past year I have been working more and more with
plugins. The InnoDB plugins, the semi-synchronous replication
plugins, the Gearman UDFs, the Spider plugins, and every time
I found myself doing a long installation process, with
inevitable mistakes.

So I told myself "I wish I had a tool that installed plugins
instantly and painlessly, the way MySQL Sandbox installs a
server.
There you go. So yesterday I had enough of suffering and have put
together an installation script that does a good job of
installing several plugins with little or no effort.
OverviewHow does it work? For now, it's a separate script, but it
will soon end into SBtool, the Sandbox tool.
Plugins need different operations, and the difficult part is
finding a clear way of …

On January 15th I will be in Sydney, Au, on my way to
Wellington, New Zealand.
I will be at the MySQL User Group, hosted at the Sydney Mechanics’ School of Arts at
5.30pm.
I will talk about testing complex database systems with MySQL
Sandbox.
The meeting is open to all. If you want to attend, please
register at the Sydney MySQL User Group meetup page.

Content reproduced on this site is the property of the respective copyright holders.
It is not reviewed in advance by Oracle and does not necessarily represent the opinion
of Oracle or any other party.