鏈接:https://www.zhihu.com/question/20120283/answer/35490381
share nothing和share disk是兩種常見的分布式數(shù)據(jù)庫模型。
share nothing架構(gòu)下,每個(gè)結(jié)點(diǎn)都有自己的CPU、內(nèi)存、存儲(chǔ)??缃Y(jié)點(diǎn)的數(shù)據(jù)訪問通過結(jié)點(diǎn)之間的網(wǎng)絡(luò)通訊來完成。
share disk架構(gòu)下,每個(gè)結(jié)點(diǎn)有自己的CPU和內(nèi)存,但是共享同一個(gè)存儲(chǔ)。也就是說,存儲(chǔ)只有一份,放在單獨(dú)的分布式文件系統(tǒng)上,由文件系統(tǒng)本身來保證其可用性,一般由高端的專門存儲(chǔ)設(shè)備來完成。
大多數(shù)分布式數(shù)據(jù)庫都是share nothing的。比較典型的share disk數(shù)據(jù)庫有oracle RAC和DB2 PureScale。mysql cluster的結(jié)點(diǎn)之間不共享存儲(chǔ)(每個(gè)結(jié)點(diǎn)有自己的存儲(chǔ)),所以屬于share nothing。
share nothing和share disk各有利弊,無法簡單地認(rèn)為誰優(yōu)誰劣,也不存在誰才是“真正的”分布式數(shù)據(jù)庫的問題。二者當(dāng)然都可以實(shí)現(xiàn)事務(wù)。一般來說,share disk的實(shí)現(xiàn)更復(fù)雜,價(jià)格也更昂貴。
wiki有個(gè)關(guān)于share nothing的條目可供參考:
這里有share nothing和share disk的比較:
Shared-Disk vs. Shared-Nothing_百度文庫
主從架構(gòu)是一種高可用性的解決方案,不屬于分布式數(shù)據(jù)庫的范疇。