MySQL Proxy: merging resultsets

From time to time we get the question how to split a query into a several smaller queries and unifying the result-set before we send it back to the client.

As the client only expects to get one result-set, we have to merge the result-sets from the server into one ...

more ...


MySQL Proxy: replicating into memcache

If you use replication with MySQL and memcache at the same time you have the problem to make sure that the memcached and the slave are in sync. If you announce the memcached to mark a entry as dirty and let it update the value from the slave BEFORE it ...

more ...

MySQL Proxy: COMMIT obfuscator

This is an idea I came across at the MySQL UC last week: How many applications handle failing COMMITs correctly ? And how can we test it ?

COMMITs can fail. The most simple case are deadlocks. The sad side of deadlocks is that they only happen under real load when you ...

more ...

MySQL Proxy: rollbacked transactions

If you use a transactional storage engine in MySQL like InnoDB some of your transaction may be terminated by the storage engine because of deadlocks. Sadly it is a bit tricky to see what has led to the deadlock. SHOW ENGINE INNODB STATUS gives only a very minimal look into ...

more ...

MySQL Proxy: 0.6.1 released

After some delay we are proud to present MySQL Proxy 0.6.1.

This is a pure bug-fix release and fixes some assert()oins and the win32 support. It was branched off in December and it took a while to clean up the windows package until it passed the tests ...

more ...

MySQL Proxy: reusing connections

Some time ago I have shown that the proxy can do connection pooling and can keep server-side connections open to be reused by another client later. The keepalive tutorial shows how this can be implemented.

When it comes to reusing a server-connection for multiple client connections we have to face ...

more ...

MySQL Proxy: a chassis and a MySQL-server

At MySQL I'm writing several different command-line applications from the MEMo Agent to the MySQL Proxy. They all have a common set of requirement:

  • command-line options
  • config-files (mapping cmd-line options to config-files)
  • logfile handling (syslog, SIGHUP, ...)
  • a mainloop (SIGINT, CtrlHandler, ...)
  • daemonizing (daemonize, services, ...)
  • plugin handling

In the proxy svn ...

more ...

MySQL Proxy: Reducing Latency

Premature Optimization ... we all know it. The proxy is now in a state were we can start to optimize the code a bit. After getting some complaints about the performance with keepalive I took a deeper look into the problem and came up with:

  • a global script-cache with reload on ...
more ...