AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當前位置:首頁 > 科技  > 軟件

ARIES,數據恢復算法,萬變不離其宗...

來源: 責編: 時間:2024-07-05 09:07:16 1118觀看
導讀今天來聊兩個問題:如果緩沖池(buffer pool)滿了,哪些數據頁(page)要刷盤,哪些數據頁不刷盤?數據庫崩了,怎么利用檢查點(checkpoint)與預寫日志恢復數據?問題一:緩沖池滿時的刷盤策略首先來回顧一下《預寫日志WAL的核心思路...》中

今天來聊兩個問題:eOn28資訊網——每日最新資訊28at.com

  • 如果緩沖池(buffer pool)滿了,哪些數據頁(page)要刷盤,哪些數據頁不刷盤?
  • 數據庫崩了,怎么利用檢查點(checkpoint)與預寫日志恢復數據?

eOn28資訊網——每日最新資訊28at.com

eOn28資訊網——每日最新資訊28at.com

問題一:緩沖池滿時的刷盤策略

eOn28資訊網——每日最新資訊28at.com

首先來回顧一下《預寫日志WAL的核心思路...》中相關的一些知識點:eOn28資訊網——每日最新資訊28at.com

  • 檢查點記錄了某一個時刻,緩沖池中所有數據頁的狀態信息;
  • 預寫日志(write-ahead logging,WAL)中記錄了,事務在執行過程中,對數據庫進行的所有寫操作;
  • 日志序列號(log sequence number,LSN),可以標識所有操作序列時序的依據;

eOn28資訊網——每日最新資訊28at.com

再來介紹兩個新的知識點:eOn28資訊網——每日最新資訊28at.com

其一,在數據庫中,需要存儲一個信息:flushed-LSN:預寫日志已刷盤的最大LSN。eOn28資訊網——每日最新資訊28at.com

畫外音:這是日志刷盤。eOn28資訊網——每日最新資訊28at.com

eOn28資訊網——每日最新資訊28at.com

其二,每個數據頁X,還要包含兩個信息:eOn28資訊網——每日最新資訊28at.com

  • page-LSN:最近修改數據頁的LSN。畫外音:每一頁數據,都會存儲這個LSN。
  • rec-LSN:上次刷盤以來,最早修改數據頁的LSN。畫外音:每一頁數據,也會存儲這個LSN。

這是兩個邊界LSN。eOn28資訊網——每日最新資訊28at.com

eOn28資訊網——每日最新資訊28at.com

也就是說,在[rec-LSN, page-LSN]之間的所有操作,都將這一頁數據變成了臟數據。eOn28資訊網——每日最新資訊28at.com

畫外音:這是數據頁刷盤。eOn28資訊網——每日最新資訊28at.com

eOn28資訊網——每日最新資訊28at.com

如果flushed-LSN >= page-LSN(X)eOn28資訊網——每日最新資訊28at.com

說明:我們可以將頁面X刷到磁盤上,因為在那之前的所有日志,都已經刷到了磁盤上。eOn28資訊網——每日最新資訊28at.com

畫外音:這是WAL原則,先刷日志,才能刷數據。eOn28資訊網——每日最新資訊28at.com

eOn28資訊網——每日最新資訊28at.com

反之,如果flushed-LSN =< page-LSN(X)eOn28資訊網——每日最新資訊28at.com

說明:有些對數據頁X的操作,還沒有被刷到預寫日志磁盤上,此時我們不能將數據頁X刷到磁盤。eOn28資訊網——每日最新資訊28at.com

eOn28資訊網——每日最新資訊28at.com

如上圖例子所示,共有四個事務:eOn28資訊網——每日最新資訊28at.com

  • T1,將A由1改為2;
  • T2,將A由2改為3;
  • T3,將A由3改為4;
  • T4,將A由4改為9;

eOn28資訊網——每日最新資訊28at.com

對于預寫日志來說:eOn28資訊網——每日最新資訊28at.com

  • LSN 001-010都已經刷到磁盤上
  • LSN 011-013都還在WAL buffer里

eOn28資訊網——每日最新資訊28at.com

對于數據庫來說:eOn28資訊網——每日最新資訊28at.com

  • flushed-LSN=10
  • 這是預寫日志已刷盤的最大LSN。

eOn28資訊網——每日最新資訊28at.com

對于數據頁X來說:eOn28資訊網——每日最新資訊28at.com

  • page-LSN(X)=12
  • 數據buffer里,T4已經將A由4改為了9。

eOn28資訊網——每日最新資訊28at.com

此時,flushed-LSN =< page-LSN(X)eOn28資訊網——每日最新資訊28at.com

于是,我們不能將數據頁X刷到磁盤,因為預寫日志還沒有完成。我們只能刷盤其他數據頁,來騰出緩沖池的內存空間哈。eOn28資訊網——每日最新資訊28at.com

eOn28資訊網——每日最新資訊28at.com

問題二:數據庫崩潰時的數據恢復算法

eOn28資訊網——每日最新資訊28at.com

數據庫崩潰后,所有內存buffer(WAL buffer以及buffer pool)中的數據都會丟失,我們如何利用檢查點與預寫日志,對數據進行恢復呢?eOn28資訊網——每日最新資訊28at.com

eOn28資訊網——每日最新資訊28at.com

最常見故障恢復(crash recovery)算法是ARIES,Algorithms for Recovery and Isolation Exploiting Semantics,語義恢復與隔離算法。eOn28資訊網——每日最新資訊28at.com

eOn28資訊網——每日最新資訊28at.com

這個算法的核心包含三個階段:eOn28資訊網——每日最新資訊28at.com

eOn28資訊網——每日最新資訊28at.com

階段一,分析階段:分析預寫日志,對事務進行分類。eOn28資訊網——每日最新資訊28at.com

eOn28資訊網——每日最新資訊28at.com

分析哪些預寫日志?eOn28資訊網——每日最新資訊28at.com

假設刷新檢查點日志的時刻是LSN,需要分析所有檢查點LSN之后的預寫日志。eOn28資訊網——每日最新資訊28at.com

eOn28資訊網——每日最新資訊28at.com

如何對事務進行分類?eOn28資訊網——每日最新資訊28at.com

從檢查點LSN開始,從前往后掃描預寫日志:eOn28資訊網——每日最新資訊28at.com

  • 每條日志記錄對應事務Tx,將Tx加入undo-Tx集合;
  • 遇到<Ti, Commit>記錄,將Ti移出undo-Tx集合;

eOn28資訊網——每日最新資訊28at.com

階段二,Redo階段:重做檢查點LSN之后,預寫日志中的所有操作。eOn28資訊網——每日最新資訊28at.com

從檢查點LSN開始,從前往后掃描預寫日志:eOn28資訊網——每日最新資訊28at.com

遇到<Ti, update>記錄,修改檢查點中對應的數據頁X,將對應的數據進行修改,如此一來,就恢復到了數據庫崩潰前的緩沖池數據頁鏡像。eOn28資訊網——每日最新資訊28at.com

eOn28資訊網——每日最新資訊28at.com

這些數據頁能全部刷盤嗎?eOn28資訊網——每日最新資訊28at.com

不能,沒有提交的事務的操作,必須進行回滾。eOn28資訊網——每日最新資訊28at.com

eOn28資訊網——每日最新資訊28at.com

階段三,Undo階段:對于沒有提交的事務,恢復這些事務對數據頁的修改。eOn28資訊網——每日最新資訊28at.com

從flushed-LSN開始,從后往前逆向掃描預寫日志,直到檢查點LSN:eOn28資訊網——每日最新資訊28at.com

遇到<Ti, update>記錄,如果Ti在undo-Tx集合中,就將對應的數據頁進行回滾修改,如此一來,所有未提交事務的修改,就進行了回滾。eOn28資訊網——每日最新資訊28at.com

eOn28資訊網——每日最新資訊28at.com

ARIES算法是數據恢復的典型算法,很多消息系統,存儲系統,事務系統對算法進行過效率改良,但其內核,萬變不離其宗。思路,比結論更重要。eOn28資訊網——每日最新資訊28at.com

本文鏈接:http://www.tebozhan.com/showinfo-26-98869-0.htmlARIES,數據恢復算法,萬變不離其宗...

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 為金融數字化轉型保駕護航,Testin云測助力金融科技升級

下一篇: 你應該知道的主要軟件設計原則

標簽:
  • 熱門焦點
  • 小米官宣:2023年上半年出貨量中國第一!

    今日早間,小米電視官方微博帶來消息,稱2023年小米電視上半年出貨量達到了中國第一,同時還表示小米電視的巨屏風暴即將開始。“公布一個好消息2023年#小米電視上半年出貨量中國
  • JavaScript 混淆及反混淆代碼工具

    介紹在我們開始學習反混淆之前,我們首先要了解一下代碼混淆。如果不了解代碼是如何混淆的,我們可能無法成功對代碼進行反混淆,尤其是使用自定義混淆器對其進行混淆時。什么是混
  • 2023 年的 Node.js 生態系統

    隨著技術的不斷演進和創新,Node.js 在 2023 年達到了一個新的高度。Node.js 擁有一個龐大的生態系統,可以幫助開發人員更快地實現復雜的應用。本文就來看看 Node.js 最新的生
  • 讓我們一起聊聊文件的操作

    文件【1】文件是什么?文件是保存數據的地方,是數據源的一種,比如大家經常使用的word文檔、txt文件、excel文件、jpg文件...都是文件。文件最主要的作用就是保存數據,它既可以保
  • 重估百度丨大模型,能撐起百度的“今天”嗎?

    自象限原創 作者|程心 羅輯2023年之前,對于自己的&ldquo;今天&rdquo;,百度也很迷茫。&ldquo;新業務到 2022 年底還是 0,希望 2023 年出來一個 1。&rdquo;這是2022年底,李彥宏
  • 華為HarmonyOS 4.0將于8月4日發布 或搭載AI大模型技術

    華為宣布HarmonyOS4.0將于8月4日正式發布。此前,華為已經針對開發者公布了HarmonyOS4.0,以便于開發者提前進行適配,也因此被曝光出了一些新系統的特性
  • iQOO 11S評測:行業唯一的200W標準版旗艦

    【Techweb評測】去年底,iQOO推出了“電競旗艦”iQOO 11系列,作為一款性能強機,該機不僅全球首發2K 144Hz E6全感屏,搭載了第二代驍龍8平臺及144Hz電競
  • iQOO Neo8系列今日官宣:首發天璣9200+ 全球安卓最強芯!

    在昨日舉行的的聯發科新一代旗艦芯片天璣9200+的發布會上,iQOO官方也正式宣布,全新的iQOO Neo8系列新品將全球首發搭載這款當前性能最強大的移動平臺
  • 機構稱Q2全球智能手機出貨量同比下滑11% 蘋果份額依舊第2

    7月20日消息,據外媒報道,研究機構的報告顯示,由于需求下滑,今年二季度全球智能手機的出貨量,同比下滑了11%,三星、蘋果等主要廠商的銷量,較去年同期均有下
Top