- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 6 章 異動管理與並行控制 資料庫系統設計實務與管理,5e 學習目標 了解資料庫異動及其特性 如何管理資料庫異動 了解並行控制及其在維持資料庫完整性上所扮演的角色 了解鎖定方法及其運作方式 如何使用資料庫復原管理系統維持資料庫的完整性 何謂異動 (Transaction) ? 邏輯工作單位 執行時必須整體完成,否則便中止執行 不能存在這兩者之間的狀態 異動範例 檢查目前帳戶餘額 異動後需為一致性狀態 沒有更動資料庫的動作 異動範例 紀錄客戶 Y 購買 100 套產品 X 的總金額 $500 只有在這兩項異動均完成才能得到一致的狀態 DBMS 無法保證異動能夠真正呈現實際的事件 異動特性 單元性 所有異動操作必須都完成 未完成的異動必須中止 持久性 資料庫的一致狀態持久不變 序列性 異動會以某個順序連續執行 在多重使用者與分散式資料庫中相當重要 隔離性 異動執行完畢後它所使用的資料才能被其他異動使用 以 SQL 進行異動管理 支援異動的指令 COMMIT ROLLBACK 使用者起始異動程序之後必須持續執行直到下列情形: 執行到 COMMIT 敘述 執行到 ROLLBACK 敘述 程式執行結束 執行程式遇到異常結束 異動記錄 追蹤更新資料庫的所有異動 可以讓 ROLLBACK 指令使用 可以做為系統故障後還原系統時使用 記錄中將儲存 異動開始的記錄 每一個 SQL 敘述的 操作 物件名稱 更新欄位的更新前與更新後內容 指向前一個與後一個項目的指標 Commit 敘述 異動記錄範例 並行控制 在多元處理的資料庫系統中協調同時執行的異動 確保多重使用者資料庫環境中的各項異動具有序列性 多重使用者環境中的潛在問題 遺失更新 未提交資料 (Uncommitted data) 不一致的資料擷取 遺失更新 未提交資料 不一致的資料擷取 不一致的資料擷取 (續) 排程程式 建立並行異動的執行順序 讓資料庫的操作進行交互的執行,以確保序列性 根據並行控制演算法的動作 鎖定 時間戳記 確保有效使用電腦的 CPU 寫入/讀取產生衝突的情況:產生衝突的資料庫操作矩陣 以鎖定法做並行控制 鎖定可以讓目前的異動具有獨佔使用資料項目的權利 存取之前必須先取得鎖定 異動完成後必須釋放鎖定 DBMS 會自動起始與強化鎖定的程序 鎖定是由鎖定管理程式來管理 鎖定程度(Lock granularity)是指使用的鎖定等級 資料庫等級的鎖定順序 資料表等級的鎖定範例 分頁等級鎖定的鎖定範例 資料列等級的鎖定範例 二元鎖定 兩種狀態 鎖定 (1) 解除鎖定 (0) 已鎖定的物件無法讓其他物件使用 必須將該物件解除鎖定才能讓其他異動使用 異動執行完成後會解除它所用物件的鎖定 二元鎖定資料表的範例 共用/獨佔鎖定 共用 若並行異動中允許 Read 存取則可以使用共用鎖定 可讓唯讀異動不產生衝突情況 當異動中需要讀取某個資料項目,而該資料項目沒有受到獨佔鎖定時便可以發出共用鎖定 獨佔 若資料存取的權利只想保留給發出鎖定的異動時可以使用獨佔鎖定 用在可能產生讀寫衝突的動作上 若異動想要更新未鎖定的資料時必須使用獨佔鎖定 鎖定產生的問題 異動的排程可能無法序列化 透過兩段式鎖定來管理 排程可能會產生死結 使用死結偵測和預防技術來管理 兩段式鎖定 成長階段 縮減階段 管理規則 兩個異動不能有產生衝突的鎖定 同一個異動中鎖定動作之前不能有解除鎖定的動作 尚未取得所有鎖定之前資料不受影響 兩段式鎖定協定 死結 (Deadlock) 當兩個異動互相等待對方解除某個資料的鎖定時發生 也稱為死鎖(deadly embrace) 控制技術 死解預防 死結偵測 死結避免 死結情況發生情形 以時間戳計做並行控制 對每一個異動指派一個唯一的時間戳計 產生異動送出的順序 特性 唯一性 單調性 DBMS 會以時間戳計的先後順序執行衝突的操作 每一個值需要兩個額外的時間戳計欄位 該欄位最後一次讀取的時間 最後一次更新的時間 以樂觀法做並行控制 假設大部分的資料庫操作都不會產生衝突 在提交之前執行的異動都不會受到限制 階段: 讀取階段 驗證階段 寫入階段 資料庫復原管理 將資料庫還原到前一個一致的狀態 以單元性異動的特性為基礎 備份等級 完全備份 差異備份 異動記錄 資料庫發生故障的原因 軟體 硬體 程式的消除 異動 外在因素 異動復原 延遲寫入與延遲更新 將變更寫入異動記錄 異動執行到提交點時才實際更新資料庫 直接寫入 執行異動期間立即更新資料庫 異動未執行到提交點之前便進行更新 異動記錄也會一併被更新 異動失敗時,資料庫會使用記錄中的資訊執行 ROLLBACK 4 6 6 10 12 14 23 25 31 42 43 44 4
您可能关注的文档
最近下载
- 乌鲁木齐市第一中学2024届高一数学第一学期期末学业质量监测试题含解析.doc VIP
- ANSYS nCode DesignLife软件介绍 第八讲 Duty_Cycles.pdf VIP
- 新疆乌鲁木齐市第一中学20212022学年高一上学期期末数学试题(含答案解析).pdf VIP
- 李商隐《锦瑟》PPT课件.pptx VIP
- 《自然辩证法》期末复习思考题(附答案) .pdf VIP
- 松下Panasonic 【电烤箱】NU-HX200SXPE使用说明书.pdf
- 红色文化资源融入高校思想政治理论课路径探析.pdf VIP
- 矿业大阳坡井精细化管理实施细则.docx VIP
- 抑郁症团体际关系治疗册-WorldHealthOrganization.docx VIP
- 尚义矿业大阳坡井精细化管理实施方案.docx VIP
原创力文档


文档评论(0)