用于数据库分片的MySQL代理替代方案

时间:2009-05-01 03:38:52

标签: mysql proxy partitioning sharding load-balancing

MySQL Proxy有什么替代品吗?我不想使用它,因为它仍处于alpha状态。

我将有10台MySQL服务器,其中table_1 table_2 table_3 table_4 ... table_10分布在10台服务器上。每个表的结构都相同,它们只是具有不同数据集的分片。

是否有MySQL代理的替代方案,我可以让我的客户端应用程序连接到单个SQL Server(代理),它查看查询并代表它获取数据。

例如,如果客户端从Proxy请求“SELECT * FROM table_5 WHERE user = 123”,它连接到包含table_5的第5个SQL Server并获取数据?

2 个答案:

答案 0 :(得分:4)

Spock Proxy支持大型MySQL数据库的基于范围的水平分区。代理拦截来自客户端的SQL查询,根据数据库的分区方式将查询发送到正确的数据库,然后聚合来自每个数据库的结果,并将它们作为常规MySQL结果集返回给客户端。

答案 1 :(得分:0)

我可以看到添加一个代理可以让你在应用程序中改变很少或什么都没有,但值得考虑的是你要添加一个大的单点故障。

我建议你移动所需的逻辑来决定将哪个数据库放到应用程序层中。