溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

SQLServer 數(shù)據(jù)庫(kù)中怎么保持?jǐn)?shù)據(jù)一致性

發(fā)布時(shí)間:2021-07-24 16:14:03 來(lái)源:億速云 閱讀:155 作者:Leah 欄目:數(shù)據(jù)庫(kù)

本篇文章給大家分享的是有關(guān)SQLServer 數(shù)據(jù)庫(kù)中怎么保持?jǐn)?shù)據(jù)一致性,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。

一、數(shù)據(jù)更改比較少的系統(tǒng)中。   

快照復(fù)制與其他復(fù)制相比最主要的缺陷就是數(shù)據(jù)庫(kù)中的數(shù)據(jù)無(wú)法及時(shí)同發(fā)布服務(wù)器一致。為此如果發(fā)布服務(wù)器中的內(nèi)容很少更改的話,顯然此時(shí)采用快照復(fù)制是比較合理的。此時(shí)采用快照復(fù)制的話,不僅數(shù)據(jù)一致性延遲的負(fù)面效應(yīng)會(huì)越來(lái)越不明顯,同時(shí)可以提高發(fā)布服務(wù)器與訂閱服務(wù)器的性能。如在實(shí)際工作中,經(jīng)常會(huì)遇到這樣的客戶。如一家企業(yè)在各地都有辦事處或者銷售機(jī)構(gòu),就像肯德基一樣,各地的產(chǎn)品價(jià)格基本上都是相同的,不怎么會(huì)更改。即使更改的話,各地也是統(tǒng)一調(diào)整。由于此時(shí)產(chǎn)品價(jià)格表更改的比較少,那么在企業(yè)總部的數(shù)據(jù)庫(kù)服務(wù)與各地的訂閱服務(wù)器之間,采用快照復(fù)制的形式就會(huì)比較合適。其實(shí)類似的情況有很多。如不少的服裝企業(yè),像李寧、耐克等等,他們不僅自己生產(chǎn),而且在各地又有自己的銷售辦事處。在價(jià)格方面也是統(tǒng)一的。在這種情況下,采用快照復(fù)制往往能夠提高數(shù)據(jù)庫(kù)復(fù)制的性能,同時(shí)又不影響其使用。   

二、在某個(gè)時(shí)段內(nèi)會(huì)出現(xiàn)數(shù)據(jù)大量的更改。   

需要補(bǔ)充說(shuō)明的一點(diǎn)是,上面說(shuō)到的數(shù)據(jù)不怎么發(fā)生更改,指的是數(shù)據(jù)的延續(xù)性更改。如在一年中,每天或者每個(gè)小時(shí)更改的數(shù)據(jù)都比較平均。此時(shí)采用快照復(fù)制不怎么合適。但是如果數(shù)據(jù)的更改集中在一個(gè)時(shí)段內(nèi)。而其他時(shí)間中數(shù)據(jù)庫(kù)的內(nèi)容不會(huì)有多大的更改。此時(shí)采用快照復(fù)制是可行的。如一些決策性系統(tǒng),往往在起初導(dǎo)入數(shù)據(jù)的時(shí)候,需要進(jìn)行大量的更改。而等到數(shù)據(jù)導(dǎo)入完畢,在大家對(duì)數(shù)據(jù)進(jìn)行分析時(shí),則數(shù)據(jù)庫(kù)中的內(nèi)容基本上保持不變。在這種情況下,筆者認(rèn)為只要數(shù)據(jù)的更新集中在一個(gè)固定的時(shí)段,此時(shí)采用快照復(fù)制仍然是可行的。   再如上面這個(gè)KFC或者服裝企業(yè)的案例中,如果市場(chǎng)部門維護(hù)一個(gè)產(chǎn)品的價(jià)格,而且這些價(jià)格往往在一個(gè)固定的時(shí)間進(jìn)行幾次更新。如在換季的時(shí)候會(huì)進(jìn)行一些促銷。此時(shí)數(shù)據(jù)庫(kù)管理員可以在數(shù)據(jù)更新完畢后立即執(zhí)行復(fù)制完成的數(shù)據(jù)快照。所以,以數(shù)據(jù)更新來(lái)判斷是否適合采用快照復(fù)制,標(biāo)準(zhǔn)并不是數(shù)據(jù)的更新量。像上面提到的分析決策系統(tǒng),其起初的數(shù)據(jù)更新量可能比有些數(shù)據(jù)庫(kù)系統(tǒng)幾年的數(shù)據(jù)更新量都要大。筆者認(rèn)為,主要是根據(jù)數(shù)據(jù)更新的頻率來(lái)進(jìn)行判斷。如果數(shù)據(jù)更新的比較頻繁,那么即使數(shù)據(jù)更新的數(shù)據(jù)不多,像那種細(xì)水長(zhǎng)流似的更新,則不適合采用快照復(fù)制。而那些井噴似的數(shù)據(jù)更新,所有的更新都集中在一個(gè)固定的時(shí)刻,那么此時(shí)采用快照復(fù)制是比較合理的。   

三、在一段時(shí)間內(nèi)是否允許具有相對(duì)發(fā)布服務(wù)器已過(guò)時(shí)的數(shù)據(jù)副本?   

現(xiàn)在不少超市也已經(jīng)連鎖了,如世紀(jì)聯(lián)華等等。為了提高利潤(rùn),增加市場(chǎng)的份額,這些超市紛紛推出了沖值卡,即消費(fèi)者先將一定金額的人民幣打入到?jīng)_值卡中。然后每次消費(fèi)完成后從卡中扣費(fèi)。但前些天經(jīng)常有新聞報(bào)道,說(shuō)一個(gè)客戶的消費(fèi)卡在一家聯(lián)華超市掛失了。但是撿到這張卡的人仍然可以在其他的聯(lián)華超市中消費(fèi)。為此消費(fèi)者就想不明白了,為什么掛失了的消費(fèi)卡仍然可以在其他超市中消費(fèi)?掛失后的損失該由誰(shuí)來(lái)承擔(dān)呢?其實(shí)這就使超市在不適當(dāng)?shù)臅r(shí)候采用了快照復(fù)制所造成的。由于采用快照復(fù)制,在各個(gè)聯(lián)華超市的數(shù)據(jù)庫(kù)之間數(shù)據(jù)無(wú)法在短時(shí)間內(nèi)取得一致。如有些商戶說(shuō)掛失當(dāng)日之內(nèi)的損失他們不承擔(dān),這就說(shuō)明他們可能是每天下班后進(jìn)行一次快照復(fù)制。一般情況下這不會(huì)有問(wèn)題。但是像遇到消費(fèi)卡被偷了等情況,就會(huì)遇到類似的問(wèn)題了。   所以,在考慮是否適合采用快照復(fù)制的時(shí)候,還需要考慮在一段時(shí)間內(nèi)是否允許具有相對(duì)發(fā)布服務(wù)器來(lái)說(shuō)已過(guò)時(shí)的數(shù)據(jù)副本。如果不允許的話,那么就不允許采用這個(gè)快照復(fù)制。如果允許的話,那么數(shù)據(jù)庫(kù)管理員就需要評(píng)估這段時(shí)間最長(zhǎng)是多少。如果是24個(gè)小時(shí),那么就需要每隔24小時(shí)進(jìn)行一次快照復(fù)制。但是需要注意的是,如果時(shí)間的間隔比較短,如才允許十分鐘的數(shù)據(jù)延遲,那么采用快照復(fù)制就沒(méi)有必要了。此時(shí)采用事務(wù)復(fù)制或則和合并復(fù)制可能更加的合適。   

四、復(fù)制少量的數(shù)據(jù)。   

快照復(fù)制跟其他復(fù)制類型相比,還有一個(gè)比較顯著的特點(diǎn),即當(dāng)發(fā)生數(shù)據(jù)同步時(shí),將生成完整的快照并將其從發(fā)布服務(wù)器傳送到訂閱服務(wù)器。這是一個(gè)什么概念呢?如訂閱服務(wù)器中有10G的數(shù)據(jù),而在一個(gè)快照復(fù)制的周期內(nèi),只有1M的數(shù)據(jù)發(fā)生了更改。此時(shí)發(fā)生快照復(fù)制的話,數(shù)據(jù)庫(kù)系統(tǒng)會(huì)將10G的數(shù)據(jù)都傳送到訂閱服務(wù)器上。此時(shí)更改的數(shù)據(jù)只有1M,卻需要在網(wǎng)絡(luò)上傳送10G的數(shù)據(jù)流量,顯然會(huì)對(duì)企業(yè)的網(wǎng)絡(luò)產(chǎn)生比較大的壓力。由于在發(fā)布服務(wù)器上快照復(fù)制的連續(xù)開銷低于事務(wù)復(fù)制的開銷,一次數(shù)據(jù)庫(kù)系統(tǒng)不會(huì)啟用跟蹤增量更改。但是像這種情況,如果要復(fù)制的數(shù)據(jù)量非常的大,而平時(shí)的更新又不多。此時(shí)數(shù)據(jù)庫(kù)系統(tǒng)要生成和應(yīng)用快照,就將耗用大量的資源,包括網(wǎng)絡(luò)資源和服務(wù)器資源。所以說(shuō),當(dāng)發(fā)布服務(wù)器中的數(shù)據(jù)比較多時(shí),采用快照復(fù)制不怎么合適。因?yàn)榇藭r(shí)網(wǎng)絡(luò)傳輸反而會(huì)成為其最重大的瓶頸資源。相反若能夠采取細(xì)水長(zhǎng)流的事務(wù)復(fù)制策略,那么對(duì)于企業(yè)網(wǎng)絡(luò)性能的影響就會(huì)小的多,甚至可以忽略不計(jì)。   所以在采用快照復(fù)制的時(shí)候,數(shù)據(jù)庫(kù)管理員一定要明白,快照復(fù)制會(huì)傳送整個(gè)數(shù)據(jù)庫(kù)對(duì)象。從而在快照復(fù)制傳輸過(guò)程中會(huì)侵蝕大量的網(wǎng)絡(luò)帶寬,從而明顯的降低企業(yè)網(wǎng)絡(luò)的性能,甚至導(dǎo)致網(wǎng)絡(luò)擁塞。有時(shí)候?yàn)榱吮U峡煺漳軌驕?zhǔn)確、迅速的傳遞到其他的訂閱服務(wù)器,還不得不采用VPN等技術(shù)來(lái)保障傳輸?shù)臏?zhǔn)確性。為此,筆者認(rèn)為只有發(fā)布服務(wù)器的數(shù)據(jù)庫(kù)并不是很大的情況下,才適合采用快照復(fù)制。否則的話,采用快照復(fù)制是得不償失。   

以上就是SQLServer 數(shù)據(jù)庫(kù)中怎么保持?jǐn)?shù)據(jù)一致性,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI