數(shù)據(jù)庫集群中間件CJDBC詳細介紹
本文我們主要介紹OPEN SOURCE數(shù)據(jù)庫集群中間件CJDBC,通過它,我們可以方便地實現(xiàn)RAIDb - Redundant Array of Inexpensive Database 廉價數(shù)據(jù)庫冗余陣列。 接下來就讓我們一起來了解一下這部分內(nèi)容。
由于CJDBC是一個JDBC的實現(xiàn),所以偶們原先的應(yīng)用不需要做任何的代碼改動,只需要更換配置文件即可。 CJDBC有幾種RAIDb的機制可以選擇(只說3種偶了解的):
1. RAIDb-0
數(shù)據(jù)庫中單個的table只分布在單個節(jié)點,沒有任何的冗余陣列,但是不同的table可以分散在不同的節(jié)點,這樣偶們可以把某些需要頻繁查詢的表分布在比較強勁的,loading比較輕的PC上。這種機制帶來了查詢性能的稍許提高,但是沒有提供容錯處理 (fault tolerance) 。
2. RAIDb-1
完全鏡像處理機制,每個節(jié)點上都有完整的數(shù)據(jù)庫結(jié)構(gòu),這種方式提供了***的容錯處理,并且通過設(shè)置合理的Loading Balance策略,可以帶來查詢性能相當(dāng)好的提高。但是由于對于任何的寫操作(create/update/delete),需要在各個節(jié)點上進行傳播復(fù)制,寫操作就會比原來慢一些了。
3. RAIDb-2
對于RAIDb-0和RAIDb-1的一個折中,看一下示意圖就明白它了:
為了避免CJDBC controller成為容錯處理中的single point of failure,CJDBC還提供了controller replication,它利用JGroups ( http://www.jgroups.org/ )做各個CJDBC controller節(jié)點的通訊(這個偶沒有試驗過,有興趣的可以試試看)偶們使用CJDBC的實際項目目前有3個mysql database的節(jié)點(都是普通的PC),讀/寫操作的比例很高,CJDBC非常合適這種項目,隨著并發(fā)用戶人數(shù)的增加,用戶只需要花個4000RMB左右的錢,購買一臺PC加入到集群中,就可以應(yīng)付了,確實是一個廉價的解決方案。
關(guān)于OPEN SOURCE數(shù)據(jù)庫集群中間件CJDBC的使用就介紹到這里了,希望本次的介紹能夠帶給您一些收獲!
【編輯推薦】






