MySQL DataController

The MySQL Datacontroller storage engine for the MySQL relational database management system is a storage engine which allows a user to create a table that is a local representation of a foreign (remote) table. The foreign table can be located into another storage engine like Oracle or Microsoft SQL Server (MSSQL).

It utilizes the MySQL client library API, Free-TDS and OCILIB as a data transport, treating the remote data source the same way other storage engines treat local data sources. Each Federated table that is defined there is one .frm (data definition file containing information such as the URL of the data source). The actual data can exist on a local or remote Oracle, Microsoft SQL Server (MSSQL), or MySQL instance.

To create a Federated table, one has to specify a URL in the "CONNECTION" string:

The connection URL is in the format of:

scheme://user:pass@host:port/schema/tablename and for MSSQL where schema is dbo scheme://user:pass@host:port/DB/schema/tablename

Upon creation of a DataController table, the user must ensure that the remote data source does indeed exist or an error will be issued.

The DataController Storage engine was first based on the MySQL Federated Storage Engine was authored by Patrick Galbraith and Brian Aker and is currently being maintained by Patrick Galbraith and Antony Curtis. It was introduced in 2005 with MySQL 5.0.

The DataController Storage engine was introduced in 2010 by Francis Lavalliere working with MySQL 5.1, in order to facilitate the access to other database engines. This plugin can also help in case of data migration, or migrating data to another database engine.