Amoeba for mysql的優劣

germany006發表於2014-03-23
轉載地址:


概述
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:阿米巴原蟲

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28371090/viewspace-1127869/,如需轉載,請註明出處,否則將追究法律責任。

相關文章