2009-05-01 22 views
3

MySQL代理是否有其他選擇?我不想使用它,因爲它仍然是alpha。數據庫分片的MySQL代理替代

我將有10個MySQL服務器與table_1 table_2 table_3 table_4 ... table_10分佈在10個服務器上。每張表在結構上都是相同的,他們只有不同數據集的碎片。

是否有替代MySQL代理,我可以讓我的客戶端應用程序連接到單個SQL Server(代理),它查看查詢並代表它獲取數據。

例如,如果客戶端從代理連接到第5個存儲table_5的SQL Server並獲取數據的請求「SELECT * FROM table_5 WHERE user = 123」?

回答

4

Spock Proxy支持基於範圍的大型MySQL數據庫水平分區。代理攔截來自客戶端的SQL查詢,根據數據庫的分區方式將查詢發送到正確的數據庫,然後彙總每個數據庫的結果並將其作爲常規MySQL結果集返回給客戶端。

0

我可以看到,添加代理可以使您在應用程序中很少或根本不做任何改變,但值得考慮的是您添加了大的單點故障。

我建議您移動所需的邏輯來決定將哪個數據庫放入應用程序層。

+1

有多個應用程序組件訪問數據庫......這就是爲什麼我要將它移出應用程序層。 如果我需要更改多路分解器的配置,我需要更改幾個應用程序,這看起來並不現實。 客戶端應用程序 - > HA代理(選擇一個LB代理) - > LB代理(一個MySQL代理) - > SQL DB – 2009-05-01 14:25:57