TDDL、Amoeba、Cobar、MyCAT架構比較

目錄(?)[+]

布式數據庫中間件TDDL、Amoeba、Cobar、MyCAT架構比較分

比較了業界流行的MySQL分佈式數據庫中間件,關於每個產品的介紹,網上的資料比較多,本文只是對幾款產品的架構進行比較,從中可以看出中間件發展和演進路線

框架比較

TDDL

分佈式數據庫中間層TDDL

Amoeba

分佈式數據庫中間件Amoeba

Cobar

分佈式數據庫中間件Cobar

MyCat

分佈式數據庫中間件MyCat

點評

  1. TDDL不同於其它幾款產品,並非獨立的中間件,只能算作中間層,是以Jar包方式提供給應用調用。屬於JDBC Shard的思想,網上也有很多其它類似產品。

  2. 另外,網上有關於TDDL的圖,如http://www.tuicool.com/articles/nmeuu2 中的圖 1-2 TDDL 所處領域模型定位,把TDDL畫在JDBC下層了,這個是不對的,正確的位置是TDDL夾在業務層和JDBC中間

  3. Amoeba是作爲一個真正的獨立中間件提供服務,即應用去連接Amoeba操作MySQL集羣,就像操作單個MySQL一樣。從架構中可以看來,Amoeba算中間件中的早期產品,後端還在使用JDBC Driver。

  4. Cobar是在Amoeba基礎上進化的版本,一個顯著變化是把後端JDBC Driver改爲原生的MySQL通信協議層。

  5. 後端去掉JDBC Driver後,意味着不再支持JDBC規範,不能支持Oracle、PostgreSQL等數據。但使用原生通信協議代替JDBC Driver,後端的功能增加了很多想象力,比如主備切換、讀寫分離、異步操作等。

  6. MyCat又是在Cobar基礎上發展的版本,兩個顯著點是:

    1. 後端由BIO改爲NIO,併發量有大幅提高

    2. 增加了對Order By、Group By、limit等聚合功能的支持(,雖然Cobar也可以支持Order By、Group By、limit語法,但是結果沒有進行聚合,只是簡單返回給前端,聚合功能還是需要業務系統自己完成)。

  7. 目前社區情況: 

    1. TDDL處於停滯狀態

    2. Amoeba處於停滯狀態

    3. Cobar處於停滯狀態

    4. MyCAT社區非常活躍

  8. 感想:拋開TDDL不說,Amoeba、Cobar、MyCAT這三者的淵源比較深,若Amoeba能繼續下去,Cobar就不會出來;若Cobar那批人不是都走光了的話,MyCAT也不會再另起爐竈。所以說,在中國開源的項目很多,但是能堅持下去的非常難,MyCAT社區現在非常活躍,也真是一件蠻難得的事。

其它資料

這個博客把幾款產品的資料彙總在一起,倒也省得大家在網上到處搜了。 
mysql中間件研究(Atlas,cobar,TDDL,mycat,heisenberg,Oceanus,vitess) 
http://songwie.com/articlelist/44

mysql中間件研究(Atlas,cobar,TDDL) 
http://www.guokr.com/blog/475765/


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章