Question

Are there any alternatives for MySQL Proxy. I don't want to use it since it's still in alpha.

I will have 10 MySQL servers with table_1 table_2 table_3 table_4 ... table_10 spread across the 10 servers. Each table is identical in their structure, their just shards with different data sets.

Is there a alternative to MySQL Proxy, where I can have my client application connect to a single SQL Server (A proxy), which looks at the query and fetches the data on behalf of it.

For example, if the client requests "SELECT * FROM table_5 WHERE user=123" from the Proxy, which connects to the 5th SQL Server that houses table_5 and gets the data?

Was it helpful?

Solution

Spock Proxy supports range-based horizontal paritioning of a large MySQL database. The proxy intercepts SQL queries from the client, sends queries to the correct databases based on how the database is partitioned, then aggregates the results from each database and returns them to the client as a regular MySQL result set.

OTHER TIPS

I can see that adding a proxy could enable you to change little or nothing in the app but it's worth considering that you're adding a big single point of failure.

I would suggest that you move the logic required to decide which database to go looking in up into the application layer.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top