補充 資料庫伺服器的運作.

Slides:



Advertisements
Similar presentations
正規化範例 第 1 、 2 階正規化. 正規化範例 ( 水果供應商 ) 編號姓名電話地址 郵遞區 號 品名價格 001 林國鐘 高雄市 100 頻果 100 香蕉 60 鳳梨 葉連芳 台北市 400 葡萄 60 頻果 郭明正
Advertisements

第 8 章 還原資料庫.
第15章 备份与恢复数据库 日志文件 基本概念 恢复数据库的基本原理 数据库故障的种类 备份数据库 备份的内容和时间 备份的一般方法
MATLAB 程式設計 時間量測 清大資工系 多媒體資訊檢索實驗室.
LED CUBE 預期規劃.
課程名稱:資料庫系統 授課老師:李春雄 博士
行銷研究 單元三 次級資料的蒐集.
第7章 事务管理 事务管理(transaction management): 恢复——保证事务在并发执行时满足ACID准则的技术。
主題五 CPU Learning Lab.
Chapter 5 迴圈.
TCP協定 (傳輸層).
第 7 章 備份資料庫.
Q101 在701 SDX Linux上的標準安裝與使用程序v2
第一篇 Unix/Linux 操作介面 第 1 章 Unix/Linux 系統概論 第 2 章 開始使用 Unix/Linux
資料庫管理 操作DBMS 指導教授:楊維邦  助教:廖皓翔.
電腦硬體裝修乙級 第二站-伺服器端系統安裝與環境設定
在NS-2上模擬多個FTP連線,觀察頻寬的變化
CHT IPv6測試 D-Link Taiwan 友訊科技台灣分公司 TTSS 電信技術支援課 Name:
刘红岩 清华大学 管理科学与工程系 第17章 事务管理 刘红岩 清华大学 管理科学与工程系
連結資料庫管理系統.
App Inventor2呼叫PHP存取MySQL
國際資訊安全標準ISO 27001之網路架構設計 –以國網中心為例探討風險管理
雲端運算的基石(2) 虛擬化技術實作(XP篇─上)
檔案與磁碟的基本介紹.
第二章 SPSS的使用 2.1 啟動SPSS系統 2.2 結束SPSS系統 2.3 資料分析之相關檔案 2.4 如何使用SPSS軟體.
交易管理 導論 交易的執行 交易和系統的概念 正確的交易排程 利用鎖定來產生正確的交易排程 SQL對交易的支援 並行處理的問題
雲端計算.
私立南山高中 信息組 電腦研習 電腦資料的備份 中華民國 99年4月20日 星期二.
分布式数据库系统及其应用.
Chap3 Linked List 鏈結串列.
使用者經驗設計 User Experience Design
大數據與我 4A 陳駿榜.
網路安全技術 OSI七層 學生:A 郭瀝婷 指導教授:梁明章.
人事差勤系統 網路簽到退 資訊室 黃怡智.
虛擬機器 下載QEMU Windows版 (0.9.1) 下載Kqemu Windows版 安裝QEMU 安裝Kqumu
Topic Introduction—RMI
PLC-GPPW軟體使用教學 授課教師:張祖烈
Linux作業系統 電腦教室Linux使用說明.
第 19 章 XML記憶體執行模式.
Working Model 2D 朝陽科技大學 工業設計系 邱相文.
網頁程式概論 建國科技大學資管系 饒瑞佶 2015/9 V1 2016/4 V2 2016/9 V3.
資料來源 2 網路過濾軟體之安裝說明 資料來源 2.
WinPXE 無硬碟系統 6.0 安裝說明 憶傑科技股份有限公司
安裝 / 操作 flashget SOP (以Win 7 作業系統為範例)
IIS Internet Information Services
如何利用範本來製作網頁.
緩衝區溢位攻擊 學生:A 羅以豪 教授:梁明章
An Introduction to Database System
電子量角器 撰寫人:董瑩蟬.
Chapter 16 交易 Transaction
賽門鐵克安全系統進化史-正確選用賽門鐵克防護系統
Class & Object 靜宜大學資工系 蔡奇偉副教授 ©2011.
Visible Body- Human Anatomy Atlas 2017
MicroSim pspice.
資訊安全和資訊倫理宣導 永康區復興國小教務處.
取得與安裝TIDE 從TIBBO網站取得TIDE
MiRanda Java Interface v1.0的使用方法
程式移植.
黃影雯副教授講授 E_Mail Address:
Cloud Operating System - Unit 03: 雲端平台建構實驗
晶片讀卡機驅動程式安裝說明.
資料表示方法 資料儲存單位.
MultiThread Introduction
多站台網路預約系統之 AJAX即時資料更新機制
SQLite資料庫 靜宜大學資管系 楊子青.
Chapter 4 Multi-Threads (多執行緒).
Visible Body Human Anatomy Atlas
Unix指令4-文字編輯與程式撰寫.
CHT IPv6測試 D-Link Taiwan 友訊科技台灣分公司 TTSS 電信技術支援課 Name:
InputStreamReader Console Scanner
Presentation transcript:

補充 資料庫伺服器的運作

資料庫可能遭遇的故障 資料庫管理系統所造成的故障 『非毀壞性』故障 『毀壞性』故障 天災或人禍所造成資料庫管理系統的暫時性或永久性故障都必須要有良好的回復機制,方能保證資料庫的資料能保持單元性、一致性和永久性等特性。 德明財經科技大學 資訊科技系

非毀壞性故障 系統在短暫時間之內不能使用,經過一段時間之後,資料庫管理系統可以依據回復技術自動恢復所有交易的一種故障 例如電源中斷,造成系統不正常的停止運作,就是一種非毀壞性的故障 資料庫管理系統如果正在處理數個並行交易,而這些進行中的交易有些尚未成功完成,便意外發生停電狀況,資料庫管理系統應該負責將此些交易真正寫入資料庫内 那些交易正進行到一半,尚未發出提交(Commit)命令,資料庫管理系統必須將這些交易取消所有操作 維持交易的單元性、一致性的轉移以及永久性。此類的故障,可以依賴資料庫管理系統本身的回復技術來達到回復的功能 德明財經科技大學 資訊科技系

非毀壞性故障 電腦系統損毀(computer failure) 交易或資料庫系統錯誤(transaction or DBMS error) 電腦系統可能發生硬體或軟體的故障,網路斷線或是電源突然中斷等等的問題。 交易或資料庫系統錯誤(transaction or DBMS error) 錯誤發生有可能來自交易本身問題,或是被使用者強制性中斷 例外情形發生(exception conditions) 因為在設計資料庫當初,未求資料的完整性(Integrity)所設定的條件限制(constraint),而交易在進行之中,卻發生與資料庫條件限制抵觸,而造成此交易必須回復到原始點 並行控制強制回復(concurrency control enforcement) 當數個交易在進行中,可能發生並行處理時違反『可序列性』(serializability),資料庫管理系統為保持資料的完整性和一致性,必須將該交易回復 簡單說繼續執行下去資料可能不一致 德明財經科技大學 資訊科技系

毀壞性故障 毀壞性的故障有可能起因設備本身(硬體),或是軟體的部份,諸如電源供應的不穩定或是天災所造成的作業系統損壞或是因為電腦病毒的入侵,導致資料庫管理系統無法再正常啟動 或是資料庫管理系統本身的損壞,造成資料庫內的所有資料全部損壞不能再存取,如此的故障稱之為『毀壞性』的故障 毀壞性的故障 在軟體的部份可以透過資料的備份(Backup)方式,或是複寫(Replicate)至另一個資料庫,此資料庫則稱為複製品(Replica) 在硬體的部份,有可能發生在主機本身或是資料的儲存設備,這些硬體的部份,可以透過『容錯系統』(Fault Tolerant System) 的方式來避免錯誤發生 德明財經科技大學 資訊科技系

資料庫的系統日誌 資料庫管理系統在運作時,必須要將所有交易進行的詳細資料記錄下來,做為系統在不正常的非毀壞性故障後,能藉以回復的資訊,此資訊稱之為『系統日誌』( System Log ) 『系統日誌』的主要目的在於紀錄每一筆交易的所有操作,包括讀取和寫入資料項目的詳細動作,以便能達到『資料庫回復』(Database Recovery)功能 德明財經科技大學 資訊科技系

系統日誌 (LOG) 在系統日誌中的每一筆紀錄則稱之為『日誌紀錄』(log records) 日誌紀錄必須包括以下五種不同操作過程 T代表每一個交易的唯一代號transaction-id,提供系統在回復時可以很清楚地區分出不同的交易 X是被寫入或讀取的資料項目 read / write代表該筆的日誌紀錄是讀取或是寫入的操作 續下頁 德明財經科技大學 資訊科技系

[start_transaction, T]:用以表示一個交易的開始。 [write, T, X, old_value, new_value]:write代表寫入操作 [read, T, X]:表示此項操作是讀取資料項目X [commit, T]:表示該交易已經完成交易成功 [abort, T]:表示該交易執行到此時,將放棄所有的操作 德明財經科技大學 資訊科技系

交易與系統日誌 德明財經科技大學 資訊科技系

練習 請問下面的交易,執行後會產生系統日誌內容? 假設第一次讀進X與Y分別是20與30 德明財經科技大學 資訊科技系

基本回復技術 資料庫管理系統所使用的『系統日誌』演算法,皆是使用『優先寫入日誌檔』(Write-Ahead Logging)的基本方法,再依據以下兩個UNDO和REDO的基本操作 UNDO(取消):就是當系統發生非毀壞性的故障時,在重新啟動資料庫管理系統之後,系統會依據系統日誌內,記錄尚未完成或是未被提交(Commit)的交易,針對這些交易所異動的資料項目執行UNDO指令,也就是已寫入系統日誌和資料庫的資料項目,將這些資料項目回復到交易進行之前的原始值,此動作稱之為UNDO。 REDO(重做一次):就是當系統發生非毀壞性的故障時,在重新啟動資料庫管理系統之後,系統會依據系統日誌內,記錄已經完成或是已被提交(Commit)的交易,針對這些交易所異動的資料項目執行REDO指令,也就是已寫入系統日誌但尚未實際寫入資料庫的資料項目,依據系統日誌的異動操作再執行一次,以便將這些被完成異動的資料項目實際寫入資料庫內。 德明財經科技大學 資訊科技系

系統檢查點 資料庫管理系統會週期性地在系統日誌中插入『檢查點』(checkpoint) 在系統日誌的項目(entry)中,會多一個項目為[checkpoint] 德明財經科技大學 資訊科技系

回復管理員 在資料庫管理系統中會有一個『回復管理員』(recovery manager)模組,專門負責資料庫中所有交易的回復工作,它可以選擇在系統日誌中插入檢查點的週期方式 在插入一個檢查點時,會執行以下四個相關的動作 暫時中止(suspend)所有執行中的交易。 將暫時儲存於主記憶體(main memory)的緩衝區(buffer)內的資料項目,且已被更改過的資料項目,強制寫入(force-write)磁碟。 在系統日誌中,新增一個[checkpoint]項目(entry),並將系統日誌之資料強制寫入磁碟。 恢復(resume)在第一項目中被暫停(suspend)的所有交易得以繼續執行。 德明財經科技大學 資訊科技系

檢查點範例 圖11-4有五個交易T1、T2、T3、T4和T5 『回復管理員』(recovery manager)模組在 時間點t1於系統日誌中插入一個檢查點[checkpoint],此時會將T1交易完整地強制寫(force-write)入資料庫 時間點t2發生系統故障,則『回復管理員』模組並不需要再針對交易T1執行REDO指令 交易T2與T3,系統發生故障之前結束交易,並送出提交(commit)命令,所以『回復管理員』(recovery manager)模組在執行回復動作時,會對這兩個交易執行REDO指令,讓所有被異動的資料項目全部強制寫入(force-write)資料庫和磁碟內。 續下頁 德明財經科技大學 資訊科技系

檢查點範例 T5 T4 T3 T2 T1 t1 t2 時間 crash [checkpoint] 德明財經科技大學 資訊科技系

資料庫備份與還原 資料庫管理系統內『回復管理員』(recovery manager)模組只能處理非毀壞性的故障 毀壞性的故障,例如硬碟毀壞,或是因為天災人禍所造成無法挽回的情形下,資料庫的備份將會是一項重要且不可或缺的工作 德明財經科技大學 資訊科技系

資料庫備份與還原 資料庫的備份可以分類為 『分享模式』 『資料內容』 『時間頻率』 『備份地點』 『線上備份』(On-Line Backup) 『離線備份』(Off-Line Backup) 『資料內容』 『時間頻率』 『備份地點』 德明財經科技大學 資訊科技系

線上備份 『線上備份』 設定為『共享模式』(Share Mode) 資料庫管理者在進行資料庫備份的同時,使用者也在進行不同交易的進行 所備份的資料,無法明確的標記出備份的時間 一邊進行備份一邊又進行交易,難以掌控資料的正確情形 例如下圖所示 續下頁 德明財經科技大學 資訊科技系

共享模式下的備份 線上備份的運作 T2 寫入 T1 寫入 資料庫 備份 備份 備份資料 t2 t3 t4 t5 t6 t1 Time X=30 Y=80 備份 備份 備份資料 X=10 Y=80 Time t2 t3 t4 t5 t6 t1 線上備份的運作 德明財經科技大學 資訊科技系

離線備份 『離線備份』 設定為『獨佔模式』 (Exclusive Mode) 獨佔模式將會造成使用者在資料庫管理者進行備份的期間無法使用資料庫的情形,也就是要讓資料庫的運作暫停 『7-24』(每一週有七天、每一天有二十四小時)不中斷的要求下,此種模式是不適合 所備份的資料在未來回復計劃中,會較好掌握備份資料的內容 例如在下圖所示 續下頁 德明財經科技大學 資訊科技系

獨占模式下的備份 離線備份的運作 T2 寫入 T1 寫入 資料庫 備份 備份 備份資料 t2 t3 t4 t5 t6 t1 獨佔期間 X=30 Y=80 備份 備份 備份資料 X=30 Y=70 Time t2 t3 t4 t5 t6 t1 獨佔期間 離線備份的運作 德明財經科技大學 資訊科技系

以備份內容分類 具有龐大資料的資料庫而言,備份該資料庫所花的時間很多 如果再配合上述的『離線備份』,則此資料庫幾乎是無法正確運作,更難達到『7-24』的要求 在資料備份的內容,基本上可以區分為 『完整備份』(Full Backup) 整個資料庫的內容一次備份 『增量式備份』(Increment Backup) 依據上次增量備份後的異動量再行備份,如此所備份的資料量將會大大減少。 續下頁 德明財經科技大學 資訊科技系

F1 F2 F3 I1 I2 I3 I4 I5 I6 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 Time crash crash I1 I2 I3 I4 I5 I6 Time t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 德明財經科技大學 資訊科技系

資料庫備份的時間距離,或是備份頻率 資料備份的地點 影響到資料庫復原時的完整度, 與所能承受的風險程度有關 例如資料庫的資料量並非很大時,可能每週六做一次的完整備份,而每天的下班後時間進行增量式備份,如此最大的風險是損失一整天的資料量 備份的策略和回復計劃都會與企業所能承受的風險程度有關。 資料備份的地點 備份的資料媒體都儲放於和該資料庫管理系統同一個地點或同一棟大樓,如此的風險有如將所有的雞蛋放置於同一個籃子之中 例如台灣地區發生於民國八十八年的九二一大地震事件,造成很多企業的資訊庫系統全毀,原因來自於當時很多人對『異地備援』的觀念不足所造成 德明財經科技大學 資訊科技系