Future of FEDERATED storage engine

Hi there

I wonder what are the future plans regarding FEDERATED storage engine.

As Oracle stated, it’s not supported anymore (see https://bugs.mysql.com/bug.php?id=111477):

However, federated SE is not supported any more. It will be removed in the next version, id est 8.1.

Will Percona abandon it, too? Will it be replaces with something similar, like FederatedX in MariaDB for example?

Cheers

Hey @bitone,
Yes, if upstream removes FEDERATED, most likely so will Percona; unless there is significant community interest, or a company willing to sponsor its continued support. Looking at our 2024 MySQL Roadmap, I do not see anything related to the FEDERATED engine.

So what will be the alternative? Will we have to migrate to MariaDB so we can use FederatedX?

The modern/best-practices solution is to have your application connect directly to MySQL#2 and query the table locally rather than via FEDERATED. Queries against FEDERATED tables are always full-table scans and are thusly the worst performing queries.

Maria’s documentation for FederatedX explains that it just a wrapper around libmysqlclient which is no different than your application connecting to the database directly.

Another solution is to use replication, where mysql#1 connects to mysql#2 and only replicates the tables you need in mysql#1.

Thanks again for your reply.

Connecting directly is not an option in our case. We’re using a CMS which shares some resources with a remote DB. It’s not possible to have more than one DB configuration. Hence we need this kind of wrapper.

I will check the solution with replications. Thanks for the hint.

@bitone You could also introduce ProxySQL, which can route specific queries to different MySQL servers. You are not the first person to say “we can’t because of the application.” Every application simply executes queries. ProxySQL allows you to pattern match against queries, and route them accordingly.

Thanks for the hint! That seems a possible solution.

I wonder how this would affect speed / latency.
For the remote DB this wouldn’t matter much of course. But I don’t particularly like the idea that also the local DB would be proxied.

I have to test this setup.