freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

系統(tǒng)實現(xiàn)技術(shù)ppt課件(編輯修改稿)

2025-05-30 01:31 本頁面
 

【文章內(nèi)容簡介】 系統(tǒng)故障造成數(shù)據(jù)庫不一致狀態(tài)的原因: ?未完成事務(wù)對數(shù)據(jù)庫的更新可能已寫入數(shù)據(jù)庫 ?已提交事務(wù)對數(shù)據(jù)庫的更新可能還留在緩沖區(qū)沒來得及寫入數(shù)據(jù)庫。 3. 系統(tǒng)故障恢復(fù)策略 ?系統(tǒng)的恢復(fù)步驟是: 1. 對未完成事務(wù)進行 (UNDO)處理,即將日志記錄中“更新前的值”寫入數(shù)據(jù)庫。 2. 對重做隊列中的各個事務(wù)進行重做 (REDO)處理。即將日志記錄中“更新后的值”寫入數(shù)據(jù)庫 ?系統(tǒng)故障的恢復(fù)是由系統(tǒng)在重新啟動時自動完成的,不需要用戶干預(yù)。 ?事務(wù)故障的恢復(fù) 事務(wù)故障的恢復(fù)由系統(tǒng)自動完成,對用戶透明。恢復(fù)過程如下 : 1. 反向掃描文件日志(即從最后向前掃描日志文件),查找該事務(wù)的更新操作。 2. 對該事務(wù)的更新操作執(zhí)行逆操作。即將日志記錄中“更新前的值”寫入數(shù)據(jù)庫 : 1) 若日志記錄中是插入操作,則相當(dāng)于做刪除操作 (此時“更新前的值”為空) 2) 若是刪除操作,則做插入操作 3) 若是修改操作,則用修改前值代替修改后值。 3. 繼續(xù)反向掃描日志文件,查找該事務(wù)的其他更新操作,并做同樣處理。 4. 如此處理下去,直至讀到此事務(wù)的開始標(biāo)記,事務(wù)故障恢復(fù)完成。 3. 介質(zhì)故障的恢復(fù) ?介質(zhì)故障會導(dǎo)致磁盤上的物理數(shù)據(jù)和日志文件被破壞,這是最嚴(yán)重的一種故障。 ?恢復(fù)方法是重裝數(shù)據(jù)庫,然后重做已完成的事務(wù)。 具體操作: 1. 裝入最新的數(shù)據(jù)庫后備副本(離故障發(fā)生時刻最近的轉(zhuǎn)儲副本),使數(shù)據(jù)庫恢復(fù)到最近一次轉(zhuǎn)儲時的一致性狀態(tài)。 2. 裝入相應(yīng)的日志文件副本(轉(zhuǎn)儲結(jié)束時刻的日志文件副本),重做已完成的事務(wù)。 4. 具有檢查點的恢復(fù)技術(shù) 4. 具有檢查點的恢復(fù)技術(shù) ?利用日志技術(shù)進行數(shù)據(jù)庫恢復(fù)時,恢復(fù)子系統(tǒng)必須搜索日志,確定哪些事務(wù)需要 REDO, 哪些事務(wù)需要 UNDO。 一般需要檢查所有日志記錄。這樣做有兩個問題: ? 搜索整個日志將耗費大量的時間 ? 很多需要 REDO處理的事務(wù)實際上已經(jīng)將它們的更新操作結(jié)果寫到數(shù)據(jù)庫中了,然而恢復(fù)子系統(tǒng)又重新執(zhí)行了這些操作,浪費時間。 ?為了解決這些問題,又發(fā)展了具有檢查點的恢復(fù)技術(shù)。這種技術(shù)在日志文件中增加一類新的記錄 檢查點記錄( checkpoint), 增加一個 重新開始文件 ,并讓恢復(fù)子系統(tǒng)在登錄日志文件期間 動態(tài)地維護日志 。 4. 具有檢查點的恢復(fù)技術(shù) 動態(tài)維護日志文件的方法是: 建立檢查點,保存數(shù)據(jù)庫狀態(tài) ,這個操作反復(fù)執(zhí)行。具體步驟是: ? 將當(dāng)前日志緩沖中的所有日志記錄寫入磁盤的日志文件上。 ? 在日志文件中寫入一個檢查點記錄。 ? 將當(dāng)前數(shù)據(jù)緩沖的所有數(shù)據(jù)記錄寫入磁盤的數(shù)據(jù)庫中。 ? 把檢查點記錄在日志文件中的地址寫入一個重新開始文件。 4. 具有檢查點的恢復(fù)技術(shù) ?恢復(fù)子系統(tǒng)可以定期或不定期地建立檢查點保存數(shù)據(jù)庫狀態(tài): ? 按照預(yù)定的一個時間間隔建立檢查點,如每隔一小時建立一個檢查點; ? 按照某種規(guī)則建立檢查點,如日志文件已寫滿一半建立一個檢查點。 ?使用檢查點可以改善恢復(fù)效率。當(dāng)事務(wù) T在一個檢查點之前提交, T對數(shù)據(jù)庫所做的修改一定都已寫入數(shù)據(jù)庫,寫入時間是在這個檢查點建立之前或在這個檢查點建立之時。這樣,在進行恢復(fù)處理時,沒有必要對事務(wù) T執(zhí)行 REDO操作。 ?系統(tǒng)出現(xiàn)故障時恢復(fù)子系統(tǒng)將根據(jù)事務(wù)的不同狀態(tài)采取不同的恢復(fù)策略。如圖 : ? T1 : 在檢查點之前提交,不必執(zhí)行 REDO操作。 ? T2: 在檢查點前開始執(zhí)行,檢查點之后故障點之前提交。 ? T4: 在檢查點之后開始執(zhí)行,在故障點之前提交。 ? T3: 在檢查點之前開始執(zhí)行,在故障點時還未完成。 ? T5: 在檢查點之后開始執(zhí)行,在故障點時還未完成。 檢查點后提交,對數(shù)據(jù) 庫的修改可能還在緩沖 區(qū)中,尚未寫入數(shù)據(jù)庫, 需 REDO; 故障發(fā)生時還未完成, 需撤消 (UNDO ) 數(shù)據(jù)庫的并發(fā)控制 并發(fā)現(xiàn)象 – 多用戶數(shù)據(jù)庫系統(tǒng) ? 允許多個用戶同時使用數(shù)據(jù)庫系統(tǒng)稱多用戶數(shù)據(jù)庫系統(tǒng) ,如銀行數(shù)據(jù)庫系統(tǒng) ,飛機訂票系統(tǒng)。在多用戶系統(tǒng)中,同一時刻并行運行的事務(wù)數(shù)可達數(shù)百個。 并發(fā)目的 – 串行執(zhí)行事務(wù) ? 事務(wù)可以串行執(zhí)行,即每一時刻只有一個事務(wù)運行,其它事務(wù)必須等到該事務(wù)結(jié)束后才能運行。事務(wù)執(zhí)行過程中可能用到的資源有: CPU、 存取物理數(shù)據(jù)庫、 I/O、 通信道。如事務(wù)串行執(zhí)行,會使許多系統(tǒng)資源處于空閑狀態(tài)。因此為了充分利用系統(tǒng)資源,發(fā)揮數(shù)據(jù)庫共享的特點,應(yīng)允許多個事務(wù)并行的執(zhí)行。 – 單處理機系統(tǒng)的事務(wù)并行執(zhí)行 ? 在單處理機中,事務(wù)的并行執(zhí)行實際是這些并行事務(wù)的并行操作輪流交叉運行(稱為 交叉并發(fā) 方式 ),實際并沒有真正地并行運行,但 減少了處理機的空閑時間,提高了系統(tǒng)效率 。 – 多處理機系統(tǒng)的事務(wù)并行執(zhí)行 ? 在多處理機中,每個處理機可以運行一個事務(wù),多個處理機可以同時運行多個事務(wù),實現(xiàn)多個事務(wù)真正的并發(fā)運行(稱為 同時并發(fā) 方式 ) 當(dāng)多個用戶并發(fā)存取數(shù)據(jù)庫即會產(chǎn)生多個事務(wù)同時存取同一數(shù)據(jù)庫的情況。若對并發(fā)操作不加控制可能會存取和存儲不正確數(shù)據(jù),破壞數(shù)據(jù)庫的一致性。所以 DBMS必須提供并發(fā)控制機制。并發(fā)控制機制是衡量一個 DBMS的主要標(biāo)志之一。 并發(fā)控制概述 – 事務(wù)是并發(fā)控制的基本單位,保證事務(wù) ACID的特性是事務(wù)處理的重要任務(wù),而并發(fā)操作有可能會破壞其 ACID特性。 – DBMS并發(fā)控制機制的責(zé)任: ? 對并發(fā)操作進行正確調(diào)度,保證事務(wù)的隔離性更一般,確保數(shù)據(jù)庫的一致性。 – 以下的實例說明并發(fā)操作帶來的數(shù)據(jù)不一致的問題。 – 考慮飛機訂票系統(tǒng)中的一個活動序列 (同一時刻讀?。? ? 甲售票點(甲事務(wù))讀取某航班的機票余額 A,A=16 ? 乙售票點(乙事務(wù))讀取同一航班機票余額 A,A=16 ? 甲售票點賣出一張機票,修改 A=A1, 即 A=15, 寫入數(shù)據(jù)庫 ? 乙售票點也賣出一張機票,修改 A=A1, 即 A=15,入加數(shù)據(jù)庫 – 結(jié)果 :賣出兩張票,數(shù)據(jù)庫中機票余額只減少 1。 – 造成數(shù)據(jù)庫的 不一致性是由并發(fā)操作引起的 。在并發(fā)操作情況下,對甲、乙事務(wù)的操作序列是隨機的。若按上面的調(diào)度序列執(zhí)行,甲事務(wù)的修改被丟失,因為第 4步中乙事務(wù)修改 A并寫回后覆蓋了甲事務(wù)的修改。 ? 如果沒有鎖定且多個用戶同時訪問一個數(shù)據(jù)庫,則當(dāng)他們的事務(wù)同時使用相同的數(shù)據(jù)時可能會發(fā)生問題。由于并發(fā)操作帶來的數(shù)據(jù)不一致性包括: ? 當(dāng)兩個或多個事務(wù)選擇同一行,然后基于最初選定的值更新該行時,會發(fā)生丟失更新問題。每個事務(wù)都不知道其它事務(wù)的存在。最后的更新將重寫由其它事務(wù)所做的更新,這將導(dǎo)致數(shù)據(jù)丟失。 ? 如上例。 ? 再例如,兩個編輯人員制作了同一文檔的電子復(fù)本。每個編輯人員獨立地更改其復(fù)本,然后保存更改后的復(fù)本,這樣就覆蓋了原始文檔。最后保存其更改復(fù)本的編輯人員覆蓋了第一個編輯人員所做的更改。如果在第一個編輯人員完成之后第二個編輯人員才能進行更改,則可以避免該問題。 ? 指事務(wù) T1讀取數(shù)據(jù)后,事務(wù) T2執(zhí)行更新操作,使 T1無法讀取前一次結(jié)果。不可重復(fù)讀包括三種情況: o 事務(wù) T1讀取某一數(shù)據(jù)后, T2對其做了修改,當(dāng) T1再次讀該數(shù)據(jù)后,得到與前一不同的值。 o T1按一定條件從數(shù)據(jù)庫中讀取了某些記錄后, T2刪除了其中部分記錄,當(dāng) T1再次按相同條件讀取數(shù)據(jù)時,發(fā)現(xiàn)某些記錄消失 o T1按一定條件從數(shù)據(jù)庫中讀取某些數(shù)據(jù)記錄后, T2插入了一些記錄,當(dāng) T1再次按相同條件讀取數(shù)據(jù)時,發(fā)現(xiàn)多了一些記錄。 – 例如,一個編輯人員兩次讀取同一文檔,但在兩次讀取之間,作者重寫了該文檔。當(dāng)編輯人員第二次讀取文檔時,文檔已更改。原始讀取不可重復(fù)。如果只有在作者全部完成編寫后編輯人員才可以讀取文檔,則可以避免該問題。 幻像讀 3. 讀“臟”數(shù)據(jù)(臟讀) ? 讀“臟”數(shù)據(jù)是指事務(wù) T1修改某一數(shù)據(jù),并將其寫回磁盤,事務(wù) T2讀取同一數(shù)據(jù)后, T1由于某種原因被撤消,而此時 T1把已修改過的數(shù)據(jù)又恢復(fù)原值, T2讀到的數(shù)據(jù)與數(shù)據(jù)庫的數(shù)據(jù)不一致,則T2讀到的數(shù)據(jù)就為“臟”數(shù)據(jù),即不正確的數(shù)據(jù)。 ? 例如,一個編輯人員正在更改電子文檔。在更改過程中,另一個編輯人員復(fù)制了該文檔(該復(fù)本包含到目前為止所做的全部更改)并將其分發(fā)給預(yù)期的用戶。此后,第一個編輯人員認(rèn)為目前所做的更改是錯誤的,于是刪除了所做的編輯并保存了文檔。分發(fā)給用戶的文檔包含不再存在的編輯內(nèi)容,并且這些編輯內(nèi)容應(yīng)認(rèn)為從未存在過。如果在第一個編輯人員確定最終更改前任何人都不能讀取更改的文檔,則可以避免該問題。 產(chǎn)生這些數(shù)據(jù)的不一致性的主要原因是并發(fā)操作破壞了事務(wù)的隔離性 。
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1