1.影" />
時間:2022-11-04 20:30:01 | 來源:信息時代
時間:2022-11-04 20:30:01 來源:信息時代
內(nèi)存數(shù)據(jù)庫裝入 : 數(shù)據(jù)庫的內(nèi)存版本(M-DB)或工作版本的數(shù)據(jù)裝入,其中主要是工作版本O-DB的裝入,包括初裝與重裝。由于MMDB比DRDB更容易受到傷害,因此M-DB的裝入更頻繁、更為關(guān)鍵。
1.影響數(shù)據(jù)裝入與交換的主要因素
(1)數(shù)據(jù)易變性: 指數(shù)據(jù)的變更速率。
(2)數(shù)據(jù)活躍性: 指數(shù)據(jù)被存取的頻率。
(3)數(shù)據(jù)流行性:指數(shù)據(jù)庫所反映的現(xiàn)實世界的狀態(tài)與現(xiàn)實世界當(dāng)前的真實狀態(tài)的一致性程度,它表示現(xiàn)實發(fā)生的事件與描繪該事件的數(shù)據(jù)被記錄到數(shù)據(jù)庫中兩者之間可允許的時間延遲。要求這種延遲很短的數(shù)據(jù)稱為“立即流行”,否則稱為“遲緩流行”,所有流行數(shù)據(jù)的值必須在第一個用戶或處理請求以前進入內(nèi)存。超過流行期限的數(shù)據(jù)就是“陳舊”數(shù)據(jù)。
(4)數(shù)據(jù)相關(guān)性:指多個數(shù)據(jù)經(jīng)常一塊被使用的程度。當(dāng)裝入或交換數(shù)據(jù)時,相關(guān)性強的數(shù)據(jù)應(yīng)同時裝入或交換。
(5)事務(wù)的特征:當(dāng)前活躍事務(wù)的共享數(shù)據(jù)盡可能一塊裝入或交換。
2.初始裝入
內(nèi)存數(shù)據(jù)庫初裝時,首先考慮的是事務(wù)的優(yōu)先級,優(yōu)先級高的事務(wù)或者不分優(yōu)先級而按調(diào)度策略先執(zhí)行的事務(wù)的數(shù)據(jù)先裝入內(nèi)存; 其次是數(shù)據(jù)的流行性,流行數(shù)據(jù)對應(yīng)的事務(wù)往往也是高優(yōu)先(按優(yōu)先級分派策略)事務(wù); 再其次就是活躍性,存取頻率高的數(shù)據(jù)往往也是先要被存取的數(shù)據(jù); 緊密相關(guān)的數(shù)據(jù)則在要使用時隨時考慮,盡可能一同裝入。為此引入“屬性相親度”,并選擇屬性級數(shù)據(jù)作為考察相親度的單位,因為它是基本數(shù)據(jù),其他數(shù)據(jù)都由它構(gòu)造而成,同一構(gòu)造中的屬性的相親度較高。
3.重裝
重裝就是由S-DB和日志恢復(fù)M-DB的過程。有兩種類型的重裝,完全重裝和部分重裝。完全重裝是針對掉電等系統(tǒng)故障或重新開機的,由這種故障或關(guān)機引起的M-DB丟失后的重裝實際與初裝沒有什么不同。部分重裝是針對內(nèi)存介質(zhì)(部分)故障或內(nèi)存不能存儲整個數(shù)據(jù)庫的情況的,這主要是數(shù)據(jù)交換,它關(guān)心如何選擇內(nèi)存要換出的數(shù)據(jù)及如何選擇要換入的數(shù)據(jù)。
不管是何種原因引起的重裝都無需M-DB的完全重裝,因為一方面不是所有的事務(wù)都同時處于活動狀態(tài),也不是每一個事務(wù)都同時需要所有的數(shù)據(jù);另一方面有80-20規(guī)律,換句話說,事務(wù)往往只存取數(shù)據(jù)的某一小部分,基于這兩點,下面介紹幾種重裝算法。
(1)順序重裝:基本思想就是按在S-DB中的存儲順序?qū)?shù)據(jù)裝入M-DB。它簡單省時,但不考慮事務(wù)執(zhí)行的優(yōu)先級/先后、數(shù)據(jù)存取頻率等因素。最壞的情況是當(dāng)系統(tǒng)重啟動時,不能保證第一個事務(wù)所需數(shù)據(jù)就在M-DB中,除非能將整個數(shù)據(jù)庫裝入M-DB,這不符合MMDB定義的假設(shè)。故這種策略不太實用
(2)帶優(yōu)先級的順序重裝:考慮了事務(wù)優(yōu)先級和搶占,但不考慮數(shù)據(jù)存取頻率等因素,其目標(biāo)是先裝立即所需數(shù)據(jù),使系統(tǒng)盡快地重啟運行,然后按需要逐步裝入數(shù)據(jù)。其步驟為:
步驟1: 標(biāo)識“等待”事務(wù)(包括故障時處于活動和等待狀態(tài)的事務(wù))及其所需數(shù)據(jù)庫片,根據(jù)S-DB目錄提供的信息,將這些數(shù)據(jù)庫片按柱面組合在一起。
步驟2:按下列優(yōu)先級裝入數(shù)據(jù)直到事先設(shè)置的“重裝閾值”①以柱面為基礎(chǔ),按“等待”事務(wù)的優(yōu)先級(或按調(diào)度策略),由高到低裝入其數(shù)據(jù);②按S-DB的存儲順序裝入其他柱面數(shù)據(jù)。
步驟3:將日志中已提交事務(wù)的“后映像”復(fù)制到各“影子內(nèi)存”。
步驟4: 重裝M-DB到達閥值,則起動系統(tǒng)運行(處理事務(wù))。
步驟5:按下列優(yōu)先級裝入其余數(shù)據(jù):①按請求裝入新到達在執(zhí)行事務(wù)所要求的數(shù)據(jù)庫片;②以柱面為基礎(chǔ)裝入“等待”事務(wù)所需其余的數(shù)據(jù)庫片;③按S-DB存儲順序裝入其他柱面數(shù)據(jù)。
(3)考慮存取頻率的帶優(yōu)先級順序重裝:是在上一方法的基礎(chǔ)之上再考慮數(shù)據(jù)的存取頻率,因而其步驟與上面的一樣,所不同是在步驟2的①中,將“以柱面為基礎(chǔ)”改為“依存取頻率的降序”,在步驟②中改為“按存取頻率裝入其余數(shù)據(jù)”,再在步驟5的②、③中也做相應(yīng)變更即可。
微信公眾號
版權(quán)所有? 億企邦 1997-2022 保留一切法律許可權(quán)利。