Amoeba for mysql的優劣 2014-03-23 21:42:09 mysql
分類: MySQLsql
轉載地址:http://baike.baidu.com/link?url=RSqbHpbctiA2tDMU3UhWOH302J3- Td8eNdsCiDJSJmu2KXbHcluIDrspPUaVlJGGgI78ArIU2gIaxXTTT0gbvq
概述
Amoeba是一個以MySQL爲底層數據存儲,並對應用提供MySQL協議接口的proxy。它集中地響應應用的請求,依據用戶事先設置的規則,將 SQL請求發送到特定的數據庫上執行。基於此能夠實現負載均衡、讀寫分離、高可用性等需求。與MySQL官方的MySQL Proxy相比,做者強調的是amoeba配置的方便(基於XML的配置文件,用SQLJEP語法書寫規則,比基於lua腳本的MySQL Proxy簡單)。
Amoeba至關於一個SQL請求的路由器,目的是爲負載均衡、讀寫分離、高可用性提供機制,而不是徹底實現它們。用戶須要結合使用MySQL的 Replication等機制來實現副本同步等功能。amoeba對底層數據庫鏈接管理和路由實現也採用了可插撥的機制,第三方能夠開發更高級的策略類來 替代做者的實現。這個程序整體上比較符合KISS原則的思想。
優點
編輯
Amoeba主要解決如下問題:
a). 數據切分後複雜數據源整合
b). 提供數據切分規則並下降數據切分規則給數據庫帶來的影響
c). 下降數據庫與客戶端鏈接
d). 讀寫分離路由
不足
編輯
a)、目前還不支持事務b)、暫時不支持存儲過程(近期會支持)
c)、不適合從amoeba導數據的場景或者對大數據量查詢的query並不合適(好比一次請求返回10w以上甚至更多數據的場合)
d)、暫時不支持分庫分表,amoeba目前只作到分數據庫實例,每一個被切分的節點須要保持庫表結構一致:
Amoeba:阿米巴原蟲
數據庫