Oracle has released a framework that allows multiple copies of the MySQL database to work in tandem, making it easier for organizations to easily run live backup databases and scale MySQL across multiple servers.
"The Fabric manages a farm of MySQL servers," said Tomas Ulin, Oracle vice president of MySQL engineering.
The open-source MySQL Fabric is part of the MySQL Utilities 1.4.3 package, released Tuesday.
MySQL is increasingly being used for high-traffic Web applications that many people now see as mission critical, which led Oracle to add MySQL Fabric to the package. "We're expecting the Web should always work, and this has implications of the back end," Ulin said.
In particular, the rise of NoSQL databases such as MongoDB and add-on MySQL products from companies such as Percona have heated up the competition in the Web database space, Ulin said. Work on MySQL Fabric came about, in part, to keep MySQL abreast of these developments.
MySQL Fabric can help solve two pressing problems within the enterprise: increasing the reliability of the database service, which Oracle calls high availability, and scaling a database beyond a single server, to improve performance of the database server.
For high availability, the user can elect to have one or more database servers act as a replicated backup to the main server. When the master database goes down, MySQL Fabric detects the outage and reroutes requests to the designated replicated database server, or servers. The application does not see the switch over.
MySQL Fabric can also stage the sharding of databases so they can be spread out across multiple database servers, a process Oracle calls scaling out. Sharding a database involves separating database tables into multiple parts, while keeping track of the data in all of these individual sections.
By sharding MySQL databases, an organization can manage databases that have grown too large for a single server to handle, either in terms of the amount of data being stored or the frequency in which such data is accessed. With MySQL Fabric, administrators can select the tables shard and specify the columns to be used as sharding keys.
Administrators can also move a shard from one server to another, which can be handy when the data grows beyond original hardware projections.
"All the way up to the connector, MySQL fabric will understand which shard the data is on, and make sure the queries actually get routed to the correct MySQL Server that has the shard you want to access," Ulin said.
Prior to the release of MySQL Fabric, administrators who needed these capabilities had to write the code by hand or buy third-party software to handle the aspects necessary to create a cluster of interlocking MySQL servers, Ulin said. MySQL Fabric offers a toolbox to make that job a lot easier.
"A lot more people can use Fabric. You don't have to be as knowledgeable about using these things," Ulin said.
Oracle also offers a slightly different version of MySQL, called MySQL Cluster, that was also built with high-availability and scaling-out capabilities. The syntax for using MySQL Cluster is not the same as MySQL itself.
MySQL Cluster still possesses a number of unique advantages over MySQL Fabric, Ulin said. Most notably, it offers much faster failover times, necessary for some of latency-sensitive industries, such as telecommunications. It also comes with a two-phased commit, which ensures that a transaction is fully recognized by all the database servers in a cluster or distributed system.