MySQL database clustering needs some help, and Schooner Information Technology thinks it has cooked up the code to help companies that rely on MySQL do a better job scaling out their databases.
"There's a widespread concern that MySQL clustering is a little kludgey, doesn't have great performance, and can sometimes lose transactions," Jerry Rudisin, Schooner's CEO, tells El Reg. Which is why Schooner has created Active Cluster, an extension to its own Appliance for MySQL 3.0, a software appliance that the company announced back in February, that as the name suggests provides active-active clustering for server nodes running a tuned-up version of the MySQL Enterprise Edition database.
Schooner burst onto the scene in April 2009 with appliances for accelerating the performance of MySQL databases and memcached Web application caches. These appliances were originally based on IBM's System x3650 M2 Xeon-based servers, outfitted with big chunks of main memory and flash drives to boost the I/O performance of the server and tweaks to the InnoDB database engine and memcached caching engine that not only took better advantage of the bandwidth in the memory and cache, but also made better use of multiple cores and processor threads than the open source variants of MySQL and memcached offered. Depending on the workload, Schooner claimed that one of its hardware appliances could replace anywhere from 10 to 20 physical servers running the open source MySQL or memcached code.
Flash-based solid state drives have gone mainstream in general-purpose servers, so in February Schooner ditched IBM's hardware, packaged up its goodies as two RPMs for Linux distros, and announced the Appliance for MySQL 3.0 and Appliance for Membrain 3.0. These software appliances – which are not virtualized for performance reasons – run on Red Hat Enterprise Linux 5.4 and 5.5 and their CentOS clones; flash drives from Fusion-io, LSI, Unigen, Intel, OCZ, and Pliant are supported inside of x64 servers from Hewlett-Packard, Dell, or IBM.
The Appliance for MySQL 3.0 software appliance does the scale up, and now the Active Cluster for MySQL Enterprise Edition is helping databases scale out using synchronous replication. Oracle, which took control of the MySQL database through its $5.6bn acquisition of Sun Microsystems in January 2010, offers a number of different clustering technologies. The replication feature inside of MySQL Enterprise does asynchronous replication, which means database changes are passed from a master database to one or more slave databases and queued up to be applied to the slave databases after the master files are changed. The time lag in asynchronous replication is useful if you are replicating over long distances or slow network connections, but it means that a master and its slaves can get out of synch.
"The slaves can get way behind, anywhere from minutes to hours," explains Rudisin. "And sometimes you have to slow down the master node to let the slaves catch up." This is obviously not a desirable situation.
MySQL Cluster, another Oracle add-on to the relational database, does synchronous replication across a cluster of database nodes and provides high availability failover, too. But MySQL Cluster does not support the InnoDB database engine that many MySQL shops prefer because of its high performance on transaction processing.
With the Active Cluster feature that Schooner has delivered for its software appliance, the company is providing synchronous replication between a master and up to seven slave database nodes while also supporting the InnoDB engine. (Schooner has licensed InnoDB from Oracle, which took control of that database engine before it acquired Sun.) Because the master and slave nodes are kept in lockstep, if a master fails, any one of the slaves can take over and be designated the new master in a cluster. You can also take down a master or slave node to apply updates or fix hardware without having to take the application that is smacking into the MySQL databases offline.
The Active Cluster appliance, which has been in beta testing since last November, is a superset of the MySQL appliance that Schooner already sells. The master and slave nodes are using the goosed version of the MySQL Enterprise Edition and InnoDB engine (which is not available in the open source version of the database) as well as the new synchronous clustering feature. A subscription to it costs $9,500 per server per year, the same price that Schooner is charging for the standalone MySQL database appliance. (The Membrain 3.0 Web caching appliance costs $8,500 per server per year for a subscription.) Schooner will be offering free trial downloads of Active Cluster at the end of April when the software begins to ship. ®