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






