Amoeba for MySQL 基本介紹
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
相關文章
- Amoeba for mysqlMySql
- docker 基本介紹Docker
- ipfs基本介紹
- TypeScript基本介紹TypeScript
- Amoeba for mysql的優劣MySql
- LVM基本介紹LVM
- hazelcast的基本介紹AST
- 【NoSQL】redis基本介紹SQLRedis
- MySql介紹MySql
- MySQL Amoeba讀寫分離MySql
- Amoeba for mysql讀寫分離MySql
- Docker基本介紹及使用Docker
- 機器學習基本函式介紹機器學習函式
- layui 的基本使用介紹UI
- HTML5基本介紹HTML
- ddddocr基本使用和介紹
- MySQL MVCC介紹MySqlMVC
- mysql MVCC 介紹MySqlMVC
- MySQL索引介紹MySql索引
- MySQL MHA介紹MySql
- Amoeba for MySQL讀寫分離配置MySql
- LAMP架構介紹、MYSQL介紹、安裝LAMP架構MySql
- ip ssl證書基本介紹
- Nginx 教程:基本概念介紹Nginx
- 分散式賬本基本介紹分散式
- Oracle 的基本函式介紹Oracle函式
- OC-NSArray的基本介紹
- LAMP架構(LAMP介紹,mysql/mariaDB介紹,Mysql安裝)LAMP架構MySql
- MySQL檢視介紹MySql
- MySQL 安裝介紹MySql
- MySQL Binlog 介紹MySql
- MySQL分支版本介紹MySql
- MySQL group replication介紹MySql
- 【MySQL】mydumper工具介紹MySql
- 【Mysql】index extensions介紹MySqlIndex
- MySQL分割槽介紹MySql
- MySQL SQL模式介紹MySql模式
- MySQL 5.5 mysqlimport介紹MySqlImport