News Feed
Sections




News Archive
Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

Ulf Wendel's Blog:
PECL/mysqlnd_ms compared to a classic
September 28, 2011 @ 08:43:57

Ulf Wendel has a new post that compares the performance of a classic method for using the mysqlnd plugin in MySQL replication to mysqlnd_ms, the replication and load balancing plugin for the mysqlnd driver (that works with the mysql and mysqli functionality and is, as of this beta of PHP, the default driver for MySQL connections).

Recently I was asked if PECL/mysqlnd_ms should be used to add MySQL replication support to a yet to be developed PHP application. The mysqlnd plugin, which supports all PHP MySQL extensions (PDO, mysqli, mysql), stood up against a classical, simple, proven and fast approach: one connection for reads, one connection for writes. Let's compare. This is a bit of an unfair challenge, because PECL/mysqlnd_ms was designed as a drop-in for existing applications, not optimized for those starting from scratch, *yell*... The plugin stands up quite well, anyway!

He starts with a look at the "classical pattern" of using a factory or singleton to make a database object instance that gives back different connections for reads versus writes (slave vs master). The mysqlnd_ms plugin allows you to define configuration settings to tell the queries to automatically go to certain places for different actions. For example, you could use "master_on_write" to tell it to use a master node if you're doing an INSERT or UPDATE versus a SELECT. He also shows a more complex example using a SQL hint and one issue that might come from the "human element" - not paying attention to database character sets.

0 comments voice your opinion now!
pecl mysqlnd mysqlndms mysql replication configuration automatic


blog comments powered by Disqus

Similar Posts

Solar Blog: Adapter for Master/Slave MySQL Setups

NETTUTS.com: 7AMP - Creating a Development Environment

Vid Luther's Blog: Changing MySQL storage engine for one table in your Propel/Symfony project

Lorna Mitchell's Blog: Script for Database Patching at Deploy Time

Pierre-Alain Joye's Blog: zip 1.8.0 can add empty dir, php6 zip initial unicode support


Community Events





Don't see your event here?
Let us know!


artisanfiles version library release podcast community series voicesoftheelephpant introduction opinion security laravel composer list interview tool conference language symfony framework

All content copyright, 2014 PHPDeveloper.org :: info@phpdeveloper.org - Powered by the Solar PHP Framework