Amoeba for MySQL 基本介紹

MinUnix發表於2014-01-15

Amoeba  for  MySQL 簡要介紹

 

 轉載請註明原文出處:http://www.minunix.com/2013/11/amoeba-introduction/                    作者:MinUnix

 文件地址:文件書寫中,稍後公佈。。謝謝您的光顧

 Amoeba簡介

Amoeba 是阿里巴巴的技術陳思儒開始的一個開源專案,它是分散式資料庫Proxy解決方案。Amoeba框架是基於Java SE 1.5開發的,在安裝Amoeba之前需要先安裝Java環境。經驗證,Amoeba在Java SE 1.5和Java SE 1.6上能正常執行。

Amoeba的產品:

Amoeba for MySQL

Amoeba for Aladdin

Amoeba for MongoDB

以下主要介紹Amoeba for mysql:

Amoeba for MySQL致力於MySQL的分散式資料庫前端代理層,它主要在應用層訪問MySQL的時候充當query 路由功能,專注 分散式資料庫 proxy 開發。座落與Client、DB Server(s)之間。對客戶端透明。具有負載均衡、高可用性、Query過濾、讀寫分離、可路由相關的query到目標資料庫、可併發請求多臺資料庫合併結果。 在Amoeba上面你能夠完成多資料來源的高可用、負載均衡、資料切片的功能。目前在很多企業的生產線上面使用。

那麼Amoeba for mysql 對客戶端程式來說是什麼呢? 我們就當它是mysql吧,它是一個虛擬的mysql,對外提供mysql協議。客戶端連線amoeba就象連線mysql一樣。在amoeba內部需要配置相關的認證屬性。

<a href="http://www.minunix.com/wp-content/uploads/2013/11/amoeba-mysql.png" class="cboxElement" rel="example4" 524"="" style="text-decoration: none; color: rgb(1, 150, 227);">

 

Amoeba for mysql與Mysql Proxy 的比較:

在MySQL proxy 6.0版本 上面如果想要讀寫分離並且 讀叢集、寫叢集 機器比較多情況下,用mysql proxy 需要相當大的工作量,目前mysql proxy沒有現成的 lua指令碼。mysql proxy根本沒有配置檔案, lua指令碼就是它的全部,當然lua是相當方便的。那麼同樣這種東西需要編寫大量的指令碼才能完成一 個複雜的配置。而Amoeba for Mysql只需要進行相關的配置就可以滿足需求。

Amoeba for MySQL的優點:

1. 降低資料切分帶來的複雜多資料庫結構

2. 提供切分規則並降低資料切分規則給應用帶來的影響

3. 降低db 與客戶端的連線數

4. 讀寫分離

轉載請註明原文出處:http://www.minunix.com/2013/11/amoeba-introduction/                    作者:MinUnix

Amoeba for MySQL的缺點:

1. Amoeba for MySQL不支援事務:其實,分散式事務的問題是所有資料庫中間層普遍面臨的問題,不是Amoeba獨有的問題;目前通常的解決辦法是,將事務拆分成幾個單資料庫內的小事務,由應用程式進行總控。

2. Amoeba for MySQL不支援跨節點JOIN:同樣,這個問題也不是Amoeba獨有的,通常的解決辦法是由應用程式先從一個節點取出資料,然後由應用程式去其他節點JOIN。

3. Amoeba for MySQL不支援跨節點排序:這個問題也不是Ameoba獨有的,通常的解決辦法是由應用程式從多個節點中取出資料,然後進行排序。

4. Amoeba for MySQL不適合返回大量(超過10萬)資料的查詢。

5. Amoeba for MySQL不支援分庫分表,只能做到分資料庫例項。

 

為何使用Amoeba :

隨著傳統的資料庫技術日趨成熟、計算機網路技術的飛速發展和應用範圍的擴充,資料庫應用已經普遍建立於計算機網路之上。這時集中式資料庫系統表現出它的不足:集中式處理,勢必造成效能瓶頸;應用程式集中在一臺計算機上執行,一旦該計算機發生故障,則整個系統受到影響,可靠性不高;集中式處理引起系統的規模和配置都不夠靈活,系統的可擴充性差。在這種形勢下,集中式資料庫將向分散式資料庫發展。而Amoeba的透明、簡易配置及多個優點使其成為分散式資料庫代理產品中的優秀選擇。

 

轉載請註明原文出處:http://www.minunix.com/2013/11/amoeba-introduction/                    作者:MinUnix

後續會介紹Amoeba for MySQL 讀寫分離的安裝配置,請繼續關注MinUnix


相關文章