1.程序移植,數(shù)據(jù)庫仍統(tǒng)一管理。
這種方式最易實現(xiàn),但存在的問題數(shù)據(jù)庫必須開放internet通道,如何保證安全,是個問題。而且,訪問速度是否能達到要求同樣是個問題。采用vpn通道?速度上又不能滿足。
2.程序和數(shù)據(jù)庫都移植。
這種方式能實現(xiàn)的鏡像效果最好,但實施難度較大,在國內(nèi)網(wǎng)站中實現(xiàn)這種鏡像的還不多。這方案還有2種不同實現(xiàn)方式:
3. 程序不改,數(shù)據(jù)庫同步
這種方式相對簡單些,程序部分基本不用改動,依靠sqlserver2000的同步功能來實現(xiàn)數(shù)據(jù)同步。
但從我在erp項目實施中獲得的經(jīng)驗看,這種方式看似簡單,但其實問題可能最多。首先,sqlserver同樣繼承了microsoft的老毛。盒什桓。同步復(fù)制3G的數(shù)據(jù)這個速度我實在不樂觀。其次需直接開放internet訪問,如何避免安全問題,還沒想好,還需要找安全專家咨詢。最后,同步復(fù)制過程中如果發(fā)生網(wǎng)絡(luò)故障,如何保證多數(shù)據(jù)源的數(shù)據(jù)完整性和一致性又是個極大的挑戰(zhàn)。
4.平臺程序改動,數(shù)據(jù)庫異步復(fù)制
這種方式對程序的要求較高,網(wǎng)站平臺架構(gòu)的調(diào)整較大。等于是把網(wǎng)站由單站點程序轉(zhuǎn)為多站點平臺。這樣在業(yè)務(wù)和數(shù)據(jù)一致性上都有較高要求。這種方式工作最大,難度看似也最大,但我認為這種方式最可行。首先,把程序結(jié)構(gòu)按照事務(wù)劃分,借助mts可實現(xiàn)多站點統(tǒng)一事務(wù),保證數(shù)據(jù)的一致性;其次,數(shù)據(jù)采用異步復(fù)制,能避免網(wǎng)絡(luò)中斷造成的數(shù)據(jù)不完整,防止引起某些邏輯錯誤;最后,這種方式要求我們盡量少的訪問數(shù)據(jù)庫,由于負載的分擔(dān),可考慮大量的使用內(nèi)存替代數(shù)據(jù)庫,提高整體的訪問效率。