Ulf Wendel

A mysqlnd replication plugin presentation

After a short sprint for PHP 5.4 beta, which is on its way with mysqlnd as a configuration default for all three PHP MySQL extensions, we continued working on the mysqlnd replication plugin (PECL/mysqlnd_ms). Please, find a high level overview presentation further below in this blog post. Because replication support is added at the mysqlnd library level, it is almost transparent from an applications point of view. If you are new to mysqlnd plugins, think of it as a proxy. A proxy that you can drop-in to any existing PHP MySQL application.

Significant progress has been made since the initial alpha release: new powerful configuration syntax, many limitations on lazy connections lifted, countless issues identified and fixed through many new tests . Also, Andrey has refactored the code base to prepare for client-side table partitioning (replication filter) support.

Time to share a presentation that has been given earlier this month at MunichPHP and offered as a session for PHP Unconference Hamburg (english report). The presentation takes a step back, gives an overview on MySQL scale-out solutions, explains what it means to an application to run on top of a database cluster and shows how the plugin helps you with the tasks.

If you want to give the plugin a test-drive, you may want to try the latest development version but not the released alpha version. If possible, try using it with PHP 5.4, because PHP 5.4 contains some enhancements the plugin profits from. Also, PHP 5.4 beta is your chance to identify issues in PHP 5.4 that otherwise may not be found and plague you the day you make the step… That day it may not be as easy to apply fixes as it is during beta period.

I’ll soon start telling you about the difference between PECL/mysqlnd_ms alpha and the upcoming beta. Happy hacking!

2 Comments

  1. Excellent summary of your work so far. I can already see how re-arranging some code I can also get load balancing for writes (MySQL Cluster, Galera).

  2. Multi-master (write load balancing) support is already prepared. However, getting a release out ASAP is our top priority. Release often… – it has already been too long since April.