在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

聊聊日志即數(shù)據(jù)庫(kù)

數(shù)據(jù)庫(kù)和存儲(chǔ) ? 來源: MySQL內(nèi)核剖析 ? 2023-12-06 09:30 ? 次閱讀

《數(shù)據(jù)庫(kù)故障恢復(fù)機(jī)制的前世今生》[1]一文中介紹過,由于磁盤的的順序訪問性能遠(yuǎn)好于隨機(jī)訪問,數(shù)據(jù)庫(kù)設(shè)計(jì)中通常都會(huì)采用WAL的方式,將隨機(jī)訪問的數(shù)據(jù)庫(kù)請(qǐng)求轉(zhuǎn)換為順序的日志IO,并通過Buffer Pool盡量的合并并推遲真正的數(shù)據(jù)修改落盤。如果發(fā)生故障,可以通過日志的重放恢復(fù)故障發(fā)生前未刷盤的修改信息。也就是說Log中包含數(shù)據(jù)庫(kù)恢復(fù)所需要的全部信息

現(xiàn)代數(shù)據(jù)庫(kù)為了追求更高的事務(wù)并發(fā)度,會(huì)顯式地區(qū)分用戶可見的邏輯內(nèi)容和維護(hù)內(nèi)部的物理結(jié)構(gòu),在并發(fā)控制上支持了Lock和Latch的分層,同時(shí)也在故障恢復(fù)上區(qū)分了User Transaction和System Transaction。在這種設(shè)計(jì)下, 保證數(shù)據(jù)庫(kù)D(Durable)的Redo Log需要能在Crash Recovery的過程中,在完全不感知用戶事務(wù)的情況下,恢復(fù)未提交的System Transaction。因此,Redo Log的設(shè)計(jì)上天然就是Page Oriented的,也就是說每條Redo Log都被限制在單個(gè)Page中,其重放過程不需要感知用戶事務(wù)的存在,也不需要關(guān)心其他的Page。在《B+樹數(shù)據(jù)庫(kù)故障恢復(fù)概述》[2]中詳細(xì)的討論過這個(gè)過程,也提到這樣做的好處使得在Crash Recovery的過程中Page的恢復(fù)過程可以實(shí)現(xiàn)充分的并發(fā)。到這里我們就可以引出本文想要討論的主要內(nèi)容:

已知:

特性1(完備):Log中包含數(shù)據(jù)庫(kù)恢復(fù)所需要的全部信息;

特性2(Page Oriented):Page通過Log的恢復(fù)過程只需要關(guān)心當(dāng)前的Page本身;

那么,通過這兩個(gè)特性,數(shù)據(jù)庫(kù)設(shè)計(jì)能實(shí)現(xiàn)哪些實(shí)用和有趣的功能呢?

Single Page Recovery

最直接的就是讓Single Page Recovery成為可能,當(dāng)硬件故障導(dǎo)致某些Page的數(shù)據(jù)損壞或錯(cuò)誤時(shí),通常數(shù)據(jù)庫(kù)都是將這類Page異常直接當(dāng)做介質(zhì)損壞來處理的,比如需要從最近的備份做還原。這樣會(huì)由于多余的,不必要的數(shù)據(jù)還原導(dǎo)致較長(zhǎng)的恢復(fù)時(shí)間和空間開銷。而Single Page Recovery可以更精準(zhǔn)、更快的只恢復(fù)損壞的Page。如果再搭配上一些Page Corruption檢測(cè)機(jī)制,比如磁盤、操作系統(tǒng)、DB對(duì)數(shù)據(jù)的Checksum檢查,甚至是一些自檢的數(shù)據(jù)結(jié)構(gòu),就可以實(shí)現(xiàn)更可靠的數(shù)據(jù)庫(kù)服務(wù)。

為L(zhǎng)og建立按Page索引(Log Index)

發(fā)現(xiàn)損壞的Page后,下一步就是對(duì)該P(yáng)age的恢復(fù),即Single Page Recovery過程本身。這個(gè)時(shí)候最主要的是需要有根據(jù)Page號(hào)查找所有需要的Log的能力。而正常的Log寫入是Append Only的,所有Page的Log會(huì)穿插在一起,因此這里需要Log有按照Page的索引存在。比如,可以通過在Log中添加信息維護(hù)如下Page的Log鏈,當(dāng)需要恢復(fù)Page時(shí),可以沿著這個(gè)Log鏈一路找到所有需要的Log Record:

5830ab2c-93cb-11ee-939d-92fbcf53809c.png

More Than Single Page Recovery

Single Page Recovery其實(shí)是讓DB擁有了:在任何時(shí)候,通過較老的Page版本及之后的Log,在線獲得Page的最新版本的能力。 那么,利用和這個(gè)能力,DB能做的就不只是單個(gè)Page的故障恢復(fù)。甚至轉(zhuǎn)變一下思路,如果通過主動(dòng)的引入Page故障,并在需要的時(shí)候再做這個(gè)Page的Recovery是否能獲得更多的東西呢?本文將從這個(gè)角度出發(fā)介紹幾個(gè)DB可能的工作,其中很多其實(shí)已經(jīng)在慢慢變成包括PolarDB在內(nèi)的現(xiàn)代數(shù)據(jù)庫(kù)的標(biāo)配。

寫省略(Write Elision)

省略部分Page刷盤操作,主動(dòng)讓Page成為“Corrupt Page”, 并在需要的使用再通過Single Page Recovery來拿到需要的Page。

快速重啟(Instant Recovery)

當(dāng)發(fā)生System Failure后,DB重啟過程中,跳過需要的Log應(yīng)用,主動(dòng)保持這些Page的“Corrupt”狀態(tài),在后續(xù)需要訪問的時(shí)候再通過Single Page Recovery恢復(fù)。

快速還原(Instant Restore)

當(dāng)發(fā)生Media Failure后,DB還原的過程中,跳過Page的修復(fù)過程,同樣在后續(xù)需要時(shí)再恢復(fù)。

寫省略(Write Elision)

一次很小的Page修改通常會(huì)對(duì)應(yīng)一條很短的Log Record,但卻會(huì)導(dǎo)致整個(gè)Page在Buffer Pool中變成臟頁(yè),在《庖丁解Innodb之Buffer Pool》[3]中介紹過,Buffer Pool本身大小是受限的,當(dāng)沒有空閑的Page空間時(shí),為了承載新的請(qǐng)求,就需要通過例如LRU算法來選擇Page換出,如果換出的Page本身是臟頁(yè),就需要先將這個(gè)臟頁(yè)刷盤,也就是觸發(fā)一次Page大小的寫IO。當(dāng)總數(shù)據(jù)量遠(yuǎn)大于Buffer Pool的場(chǎng)景中,這種現(xiàn)象頻繁的發(fā)生:每個(gè)Page被換入Buffer Pool后做了很少的修改,又很快因?yàn)楸粨Q出而刷盤。很小的修改導(dǎo)致很大的寫IO,而IO的帶寬資源又是很寶貴的,這種場(chǎng)景中很容易就變成了整個(gè)DB的性能瓶頸,這也就是所謂的IO-Bound場(chǎng)景。
Single Page Recovery給了這種場(chǎng)景一種新的選擇,當(dāng)臟頁(yè)被換出時(shí),直接跳過刷臟過程,從而完全避免了Page大小的IO。當(dāng)下次該P(yáng)age再次被換入時(shí),這個(gè)Page會(huì)被看做是一個(gè)“Corrupt Page”,通過Log的按Page索引找到需要的Log Record,并完成應(yīng)用。這種實(shí)現(xiàn)由于避免了大量的Page IO,可以顯著的提升這種IO-Bound場(chǎng)景下的DB性能。這種實(shí)現(xiàn)中,可以在寫入過程中,在內(nèi)存中維護(hù)Log的按Page索引。

快速重啟(Instant Recovery)

數(shù)據(jù)庫(kù)發(fā)生故障或運(yùn)維操作需要重啟時(shí),中斷服務(wù)的時(shí)間直接影響數(shù)據(jù)庫(kù)的可用性,因此這個(gè)階段是希望盡可能短暫的。《數(shù)據(jù)庫(kù)故障恢復(fù)機(jī)制的前世今生》[1]中介紹過,ARIES實(shí)現(xiàn)的數(shù)據(jù)庫(kù)在恢復(fù)過程中會(huì)經(jīng)歷Log Analysis、Redo Phase以及Undo Phase三個(gè)階段,其中回滾未提交事務(wù)的Undo階段可以在數(shù)據(jù)庫(kù)提供服務(wù)之后,在后臺(tái)進(jìn)行。
因此主要影響不可服務(wù)時(shí)間的,就是Log Analysis階段及Redo Phase階段,其中應(yīng)用Log恢復(fù)Page的Redo Phase的時(shí)間占比又顯著高于僅僅掃描Redo的Log Analysis階段。實(shí)踐中,Redo Phase的時(shí)間可能因?yàn)?a target="_blank">Active Redo的量及Buffer Pool的大小限制變得不可接受。Redo Phase主要的任務(wù)是要將所有的未刷盤的Page通過重放Redo恢復(fù)到最新的狀態(tài),如果我們暫時(shí)接受這種未恢復(fù)Page的“Corrupt”狀態(tài),并利用Single Page Recovery的能力,在需要的時(shí)候再在后臺(tái)完成,那么,我們就可以將數(shù)據(jù)庫(kù)提供服務(wù)的時(shí)間提前到Redo Phase開始之前,如下圖所示:

58462538-93cb-11ee-939d-92fbcf53809c.png

重啟階段

為了實(shí)現(xiàn)快速重啟,在ARIES的基礎(chǔ)上,Log Analysis階段需要額外維護(hù)一些必要的信息,主要包括Register Pages及Log Index。其中Register Pages中記錄所有Checkpoint之后的Active Redo所涉及到的Page,這些是所有需要恢復(fù)的Page。DB提供服務(wù)后,在后臺(tái)異步完成Redo Phase之前,如果有用戶請(qǐng)求訪問到Register Pages中的Page才需要觸發(fā)Single Page Recovery的恢復(fù)流程,并在Page恢復(fù)完成后從Register Pages中刪除。另一個(gè)需要的信息就是Single Page Recovery過程中需要的Log index,參考ARIES中為Undo Phase維護(hù)的Per-Transaction Log鏈,這里也可以維護(hù)出Per-Page Log鏈,如下圖所示:

585d0a8c-93cb-11ee-939d-92fbcf53809c.png

需要做Recovery的Page可以沿著這個(gè)鏈表,一路找到當(dāng)前Page LSN的位置或者找到Page Initial位置為止,并順序應(yīng)用所有需要的Page。

后臺(tái)Redo Phase

DB完成Log Analysis并開始提供服務(wù)之后,后臺(tái)的Redo Phase會(huì)比之前同步的Redo Phase有更多的選擇。比如,是立刻恢復(fù)所有的Resister Pages,還是等待這些Page真正被用戶請(qǐng)求使用時(shí)再恢復(fù),亦或是二者結(jié)合。又比如,是按照Log中Page的排列順序恢復(fù),還是按照Page的某種優(yōu)先級(jí)恢復(fù)(大/小事務(wù)優(yōu)先、大/小表優(yōu)先,或者某種用戶定義的優(yōu)先級(jí)),亦或是多種策略相結(jié)合。同時(shí)后臺(tái)Redo Phase過程由于Page恢復(fù)之間相互獨(dú)立,也天然更容易實(shí)現(xiàn)并發(fā)。因此,更高的靈活度和可能更高的并發(fā)度,也是Instant Recovery除了快速恢復(fù)服務(wù)之外新增優(yōu)勢(shì)。
不過需要注意的是,由于在恢復(fù)同時(shí)接受用戶新的請(qǐng)求,完整的恢復(fù)過程可能會(huì)拉長(zhǎng),而在這個(gè)過程中,用戶請(qǐng)求的性能也是會(huì)有下降的,如下圖所示是一個(gè)傳統(tǒng)ARIES Restart和Instant Restart的DB可用性及性能效果:

587f68a2-93cb-11ee-939d-92fbcf53809c.png

快速還原(Instant Restore)

備份還原通常是數(shù)據(jù)庫(kù)應(yīng)對(duì)磁盤故障的保底手段。為了實(shí)現(xiàn)這一點(diǎn),正常運(yùn)行過程中,數(shù)據(jù)庫(kù)就需要周期性的對(duì)數(shù)據(jù)和日志進(jìn)行備份,權(quán)衡恢復(fù)時(shí)間和對(duì)正常運(yùn)行的影響,其中數(shù)據(jù)備份又包括全量備份和增量備份。當(dāng)遇到磁盤故障需要做備份還原時(shí),會(huì)先從全量備份和增量備份在新的磁盤上還原一份數(shù)據(jù),之后應(yīng)用備份時(shí)間點(diǎn)之后的日志,全部完成后切換這個(gè)新的數(shù)據(jù)庫(kù)實(shí)例提供服務(wù)。整個(gè)過程如下圖所示:58a6da5e-93cb-11ee-939d-92fbcf53809c.png

可以看出,備份還原有非常長(zhǎng)的周期,包括拷貝全量備份即增量備份的Full Restore及Incremental Restore階段,以及跟重啟類似的Log Analysis、Redo Phase和Undo Pass階段,其恢復(fù)時(shí)間跟數(shù)據(jù)及日志總量相關(guān),并受網(wǎng)絡(luò)帶寬及磁盤IO的限制。因此,盡可能讓DB提前提供服務(wù)是非常必要的,類似于上面講的快速重啟,ARIES通過事務(wù)Lock的方式,讓數(shù)據(jù)庫(kù)可以在Undo Phase階段完成前就提供服務(wù)。同樣的,我們可以通過暫時(shí)接受“Corrupt Page”,將真正的Page Recovery推遲到需要的時(shí)候,從而將DB整體提供服務(wù)的時(shí)間提前,如下圖所示:

58c6dca0-93cb-11ee-939d-92fbcf53809c.png

我們甚至可以將這個(gè)時(shí)間點(diǎn)提前到備份還原的一開始。這個(gè)時(shí)候,新的磁盤上甚至還沒有任何Page數(shù)據(jù),當(dāng)一個(gè)Page被訪問的時(shí)候,會(huì)先從最近的全量及增量備份中去找到該P(yáng)age的歷史版本,再?gòu)腖og備份中找到這個(gè)Page之后的所有Log完成應(yīng)用。因此,能夠快速找到需要Page對(duì)應(yīng)的備份數(shù)據(jù)位置及需要的增量Logs非常重要,也就是在正常的備份過程中,為備份和Log維護(hù)按Page的索引。

為數(shù)據(jù)備份及Log備份建立按Page的索引

正常數(shù)據(jù)庫(kù)寫入過程中會(huì)以Append Only的方式寫WAL Log,為可能發(fā)生的Crash做Recovery準(zhǔn)備,這里稱為Recovery Log。隨著Checkpoint的推進(jìn),陳舊的Recovery Log不再被Recovery需要,可以被清理。但為了可能的備份還原,這部分Log還需要被保留,可能是在成本更低的存儲(chǔ)介質(zhì)上,這部分Log這里稱為Archive Log。在轉(zhuǎn)存Archive Log的過程中,便可以為Archive Log建立按Page索引。最理想的情況是需要還原的時(shí)候,有全局的Archive Log索引,但因?yàn)長(zhǎng)og本身流式產(chǎn)生的特性,這樣顯然是不可能的。因此,分區(qū)排序的Archive Log就成為非常好的選擇,如下圖所示:

58fedd1c-93cb-11ee-939d-92fbcf53809c.png

后臺(tái)的Archive任務(wù)會(huì)在內(nèi)存中對(duì)順序生成的Recovery Log中的一段按Page排序,這部分內(nèi)存超過某個(gè)大小時(shí),已經(jīng)排序的部分會(huì)落盤生成一個(gè)按Page號(hào)有序的Archive Log分片。重復(fù)這個(gè)過程就有了許許多多的排序分區(qū)。根據(jù)分片號(hào)及Page號(hào)就可以訪問到需要Page的所有Archive Log。除了Log以外,為了支持Instant Restore的按需Page恢復(fù),全量備份及增量備份也需要按照Page號(hào)建立索引。

5918bdd6-93cb-11ee-939d-92fbcf53809c.png

最終,如上圖所示,無論是數(shù)據(jù)備份還是日志部分都存在一個(gè)索引方式可以方便的按照Page號(hào)查找。當(dāng)一個(gè)Page需要真正做Restore時(shí),就可以利用這些索引快速找到其對(duì)應(yīng)的備份Page版本及后續(xù)Log,完成真正的Page重建。

后臺(tái)Restore過程

類似于快速重啟,實(shí)踐上通常也會(huì)搭配一個(gè)后臺(tái)運(yùn)行的Restore任務(wù),即使沒有用戶請(qǐng)求訪問,所有的Page也會(huì)在一個(gè)有限的時(shí)間窗口全部完成Restore。下圖展示的就是從全量備份,增量備份和日志備份中不斷還原Page到目標(biāo)新磁盤的過程。

595a1e02-93cb-11ee-939d-92fbcf53809c.png

有了上面所說的數(shù)據(jù)備份及日志備份的按Page索引,后臺(tái)的這個(gè)Restore過程也可以拋棄之前按Log順序進(jìn)行的限制,有了更多的選擇和靈活性。舉個(gè)很實(shí)用的例子,Backup相對(duì)于最新的DB位置,受Backup周期及寫入壓力的影響,中間的日志量可能非常多,而這些日志通常又會(huì)反復(fù)修改同一個(gè)Page,按照Log順序的還原策略,會(huì)導(dǎo)致同一個(gè)Page可能會(huì)不斷的讀寫,造成很大的IO浪費(fèi),也因此受到IO帶寬限制。而采用Single Page Recovery方式的后臺(tái)Restore過程,天然的可以按照Page的順序進(jìn)行還原,每個(gè)Page的一次讀寫都可以完成全部的日志應(yīng)用,這樣就可能很大程度的提升Page的IO效率和還原的速度。

應(yīng)用 - Aurora

Aurora作為共享存儲(chǔ)數(shù)據(jù)庫(kù)的佼佼者,其設(shè)計(jì)和實(shí)現(xiàn)中大量的利用了日志即數(shù)據(jù)庫(kù)的思路。Aurora認(rèn)為計(jì)算節(jié)點(diǎn)與存儲(chǔ)節(jié)點(diǎn)分離后,整個(gè)DB系統(tǒng)的IO瓶頸會(huì)轉(zhuǎn)移到計(jì)算節(jié)點(diǎn)與存儲(chǔ)節(jié)點(diǎn)及存儲(chǔ)節(jié)點(diǎn)副本間的網(wǎng)絡(luò)上,為此Aurora的設(shè)計(jì)中,計(jì)算節(jié)點(diǎn)和存儲(chǔ)節(jié)點(diǎn),及存儲(chǔ)節(jié)點(diǎn)之間只傳遞日志,如下圖所示:

59779e14-93cb-11ee-939d-92fbcf53809c.png

Aurora也把這種設(shè)計(jì)設(shè)計(jì)稱為日志即數(shù)據(jù)(The Log is The Database)[4] 。這種實(shí)現(xiàn)會(huì)在日志量遠(yuǎn)小于Page修改量的場(chǎng)景下非常的有效,可以看出網(wǎng)絡(luò)上傳遞的只有Log而沒有任何Page數(shù)據(jù)。每個(gè)存儲(chǔ)節(jié)點(diǎn)在收到流式的Log之后,會(huì)獨(dú)立完成一遍Page的修改過程。下圖所示的是其存儲(chǔ)節(jié)點(diǎn)的工作流程:

599e78a4-93cb-11ee-939d-92fbcf53809c.png

存儲(chǔ)節(jié)點(diǎn)不斷的從計(jì)算節(jié)點(diǎn)接受Log寫入并持久化90(1),完成日志在Update Queue中的持久化,并返回計(jì)算節(jié)點(diǎn)確認(rèn)(2),同其他存儲(chǔ)節(jié)點(diǎn)通信補(bǔ)全Log(3),當(dāng)某些Page收到的連續(xù)日志量超過某個(gè)閾值,或者整體的Update Queue中的日志量達(dá)到某個(gè)閾值后,這些Page會(huì)在后臺(tái)周期性的應(yīng)用Page的修改并寫入Data Pages,這個(gè)過程稱為日志到Page的合并(COALESCE)(5)。最后歷史的日志和數(shù)據(jù)會(huì)備份到S3為后續(xù)可能的按時(shí)間點(diǎn)還原做準(zhǔn)備。

寫省略(Write Elision)

可以看出,當(dāng)某個(gè)Page的收到的日志量比較少的情況下,Aurora的存儲(chǔ)節(jié)點(diǎn)并不基于將其真正的修改到Data Pages中,這個(gè)時(shí)候,如果計(jì)算節(jié)點(diǎn)需要讀這個(gè)Page,存儲(chǔ)節(jié)點(diǎn)會(huì)應(yīng)用Update Queue中的Log到需要的Page上并返回用戶。這個(gè)熟悉的過程其實(shí)就是本文提到的寫省略(WRITE ELISION)。理想情況下,一個(gè)Page的多次修改對(duì)應(yīng)的Log會(huì)一直積累在Update Queue中而沒有真正產(chǎn)生Page,直到足夠的Log量觸發(fā)Page 的COALESCE。

快速重啟(Instant Recovery)

由于Aurora的計(jì)算節(jié)點(diǎn)不維護(hù)Log也不負(fù)責(zé)Page的更新,其重啟過程可以非常迅速,不需要傳統(tǒng)數(shù)據(jù)庫(kù)的Log Analysis,Redo Phase及Undo Phase,而這部分需求其實(shí)是下放到了存儲(chǔ)節(jié)點(diǎn)上的。Aurora存儲(chǔ)節(jié)點(diǎn)的重啟恢復(fù)過程,第一步要確定VDL or the Volume Durable LSN[5],這個(gè)位置可以認(rèn)為對(duì)應(yīng)單機(jī)數(shù)據(jù)庫(kù)的有效Log結(jié)尾,之后這個(gè)存儲(chǔ)節(jié)點(diǎn)就可以恢復(fù)向計(jì)算節(jié)點(diǎn)提供服務(wù)。這其實(shí)就是天然的Instant Restart實(shí)現(xiàn),真正的Page Apply被推遲到用戶請(qǐng)求,或收到更多的Log出發(fā)Page的Coalesce。

59d0be90-93cb-11ee-939d-92fbcf53809c.png

快速還原(Instant Restore)

云數(shù)據(jù)庫(kù)通常都會(huì)會(huì)提供諸如按時(shí)間點(diǎn)還原的功能,來還原一個(gè)新的指定歷史時(shí)間點(diǎn)的實(shí)例。這個(gè)過程其實(shí)就是典型的備份還原場(chǎng)景,需要結(jié)合歷史的Page版本和后續(xù)增量Log完成。除此之外,Aurora還提供了Backtrack的能力,可以讓當(dāng)前實(shí)例分鐘級(jí)的快速還原到Backtrack Window內(nèi)的任意時(shí)間點(diǎn),并且這個(gè)動(dòng)作還可以向前向后反復(fù)重復(fù)執(zhí)行。這部分的具體實(shí)現(xiàn)細(xì)節(jié)沒有太多的公開資料,不過測(cè)試中Aurora在這些功能良好的表現(xiàn)以及合理的實(shí)現(xiàn)推測(cè),也讓我們相信其受益于其日志即數(shù)據(jù)庫(kù)的設(shè)計(jì)。

總結(jié)

本文從AIRES及現(xiàn)代數(shù)據(jù)庫(kù)的邏輯、物理分層實(shí)現(xiàn),推導(dǎo)出數(shù)據(jù)庫(kù)的Redo Log會(huì)具有,完備及Page Oriented兩個(gè)特性,有了這兩個(gè)特性,就可以很好的支持精準(zhǔn)的Single Page Recovery。而更廣泛一點(diǎn)的是讓數(shù)據(jù)庫(kù)擁有了:按需在線恢復(fù)單個(gè)Page的能力。而利用這個(gè)能力并主動(dòng)引入”Page Corrupt”就可以實(shí)現(xiàn)更廣義上的Single Page Recovery。本文從 寫省略(Write Elision)、快速重啟(Instant Recovery)以及快速還原(Instant Restore)三個(gè)方向介紹了利用Single Page Recovery可以讓數(shù)據(jù)庫(kù)獲得的如性能提升、可用性提高、靈活性提高等優(yōu)勢(shì)。最后,通過介紹Amazon的共享存儲(chǔ)數(shù)據(jù)庫(kù)Aurora是如何在設(shè)計(jì)中應(yīng)用這些優(yōu)化的。最后的最后,同樣作為共享存儲(chǔ)數(shù)據(jù)庫(kù),后起之秀PolarDB與他的前輩Aurora有很多相似的地方,但也有著大不相同的硬件環(huán)境和架構(gòu)設(shè)計(jì),后續(xù)有機(jī)會(huì)會(huì)詳細(xì)介紹PolarDB中是如何利用Single Page Recovery能力獲得這些優(yōu)勢(shì)的。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 內(nèi)核
    +關(guān)注

    關(guān)注

    3

    文章

    1372

    瀏覽量

    40289
  • 數(shù)據(jù)庫(kù)
    +關(guān)注

    關(guān)注

    7

    文章

    3799

    瀏覽量

    64389
  • 日志
    +關(guān)注

    關(guān)注

    0

    文章

    138

    瀏覽量

    10642

原文標(biāo)題:參考

文章出處:【微信號(hào):inf_storage,微信公眾號(hào):數(shù)據(jù)庫(kù)和存儲(chǔ)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    提高Oracle的數(shù)據(jù)庫(kù)性能

    問題。通過優(yōu)化SQL語(yǔ)句效率、擴(kuò)充高級(jí)緩沖區(qū)和配置重做日志緩沖區(qū)等幾個(gè)方面介紹了Oracle數(shù)據(jù)庫(kù)優(yōu)化方法,探討了OraCle如何提高性能優(yōu)化的措施。通過測(cè)試Oracle查詢結(jié)果表明,經(jīng)過優(yōu)化后的Oracle數(shù)據(jù)庫(kù)縮短了響應(yīng)時(shí)間
    發(fā)表于 11-11 18:16 ?4次下載

    基于數(shù)據(jù)庫(kù)日志復(fù)制和故障恢復(fù)

    數(shù)據(jù)庫(kù)系統(tǒng)相比,基于集群環(huán)境的數(shù)據(jù)庫(kù)系統(tǒng)具有更好的擴(kuò)展性和可用性,而日志復(fù)制是保證這些特性的核心組件.傳統(tǒng)的主備架構(gòu)的日志復(fù)制在異常情況下對(duì)未決事務(wù)
    發(fā)表于 12-30 15:40 ?0次下載
    基于<b class='flag-5'>數(shù)據(jù)庫(kù)</b><b class='flag-5'>日志</b>復(fù)制和故障恢復(fù)

    數(shù)據(jù)庫(kù)教程之如何進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)

    本文檔的主要內(nèi)容詳細(xì)介紹的是數(shù)據(jù)庫(kù)教程之如何進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)內(nèi)容包括了:1 數(shù)據(jù)庫(kù)設(shè)計(jì)概述 ,2 數(shù)據(jù)庫(kù)需求分析 ,3 數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì) ,4
    發(fā)表于 10-19 10:41 ?21次下載
    <b class='flag-5'>數(shù)據(jù)庫(kù)</b>教程之如何進(jìn)行<b class='flag-5'>數(shù)據(jù)庫(kù)</b>設(shè)計(jì)

    數(shù)據(jù)庫(kù)教程之SQL Server數(shù)據(jù)庫(kù)管理的詳細(xì)資料說明

    Server的數(shù)據(jù)組織形式,數(shù)據(jù)庫(kù)文件和日志文件的特征和作用;4.在企業(yè)管理器和查詢分析器中創(chuàng)建和刪除數(shù)據(jù)庫(kù);5.數(shù)據(jù)庫(kù)的配置和維護(hù)操作;
    發(fā)表于 03-01 11:00 ?26次下載
    <b class='flag-5'>數(shù)據(jù)庫(kù)</b>教程之SQL Server<b class='flag-5'>數(shù)據(jù)庫(kù)</b>管理的詳細(xì)資料說明

    詳談MySQL數(shù)據(jù)庫(kù)的不同日志和源碼

    任何一種數(shù)據(jù)庫(kù),都會(huì)擁有各種各樣的日志,mysql也不例外。
    的頭像 發(fā)表于 07-02 16:52 ?2588次閱讀

    盡可能限制NVM寫操作的數(shù)據(jù)庫(kù)日志方案NVRC

    Memory)容量有限問題的首選技術(shù)。隨著數(shù)據(jù)庫(kù)系統(tǒng)中NVM的引入,傳統(tǒng)的日志技術(shù)需要考慮如何適應(yīng)NVM特性。首先總結(jié)了已有的面向NMM的日志技術(shù)研究,進(jìn)而提出了一種盡可能限制NVM寫操作的
    發(fā)表于 04-08 10:50 ?14次下載
    盡可能限制NVM寫操作的<b class='flag-5'>數(shù)據(jù)庫(kù)</b><b class='flag-5'>日志</b>方案NVRC

    sql server 數(shù)據(jù)庫(kù)顯示正在恢復(fù)怎么辦?

    當(dāng)sqlserver 數(shù)據(jù)庫(kù) 數(shù)據(jù)庫(kù)文件太大,或者日志文件太大, 導(dǎo)致無法連接或者插入新數(shù)據(jù)
    發(fā)表于 10-15 20:05 ?1.3w次閱讀

    華為云數(shù)據(jù)庫(kù)穩(wěn)定可靠-開即用

    華為云數(shù)據(jù)庫(kù)穩(wěn)定可靠-開即用 華為云數(shù)據(jù)庫(kù)是基于華為多年的數(shù)據(jù)庫(kù)研發(fā)、搭建和維護(hù)經(jīng)驗(yàn)而產(chǎn)生的一款云產(chǎn)品。它使用了數(shù)據(jù)庫(kù)云化改造技術(shù),可以大
    的頭像 發(fā)表于 10-27 11:07 ?700次閱讀

    數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)】SQL server數(shù)據(jù)庫(kù)被加密的數(shù)據(jù)恢復(fù)方案

    SQL server數(shù)據(jù)庫(kù)和備份文件被加密,無法使用。數(shù)據(jù)庫(kù)MDF、LDF、log日志文件名字被修改。
    的頭像 發(fā)表于 12-15 12:32 ?1311次閱讀
    【<b class='flag-5'>數(shù)據(jù)庫(kù)</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)】SQL server<b class='flag-5'>數(shù)據(jù)庫(kù)</b>被加密的<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)方案

    數(shù)據(jù)庫(kù)建立|數(shù)據(jù)庫(kù)創(chuàng)建的方法?

    數(shù)據(jù)庫(kù)是一個(gè)存儲(chǔ)關(guān)鍵數(shù)據(jù)的文件系統(tǒng)。利用數(shù)據(jù)庫(kù)管理系統(tǒng)建立每個(gè)人的數(shù)據(jù)庫(kù)可以更好地提供安全。 數(shù)據(jù)庫(kù)建立|
    的頭像 發(fā)表于 07-14 11:15 ?1261次閱讀

    python讀取數(shù)據(jù)庫(kù)數(shù)據(jù) python查詢數(shù)據(jù)庫(kù) python數(shù)據(jù)庫(kù)連接

    python讀取數(shù)據(jù)庫(kù)數(shù)據(jù) python查詢數(shù)據(jù)庫(kù) python數(shù)據(jù)庫(kù)連接 Python是一門高級(jí)編程語(yǔ)言,廣泛應(yīng)用于各種領(lǐng)域。其中,Python在
    的頭像 發(fā)表于 08-28 17:09 ?1830次閱讀

    數(shù)據(jù)庫(kù)優(yōu)化那些事

    我們出去面試經(jīng)常會(huì)被問到數(shù)據(jù)庫(kù)這一塊,而涉及數(shù)據(jù)庫(kù)這一塊問的最多的就是數(shù)據(jù)庫(kù)優(yōu)化。那么我們?cè)趺醋霾拍茏龊脙?yōu)化問題呢?今天我們就來聊聊數(shù)據(jù)庫(kù)優(yōu)
    的頭像 發(fā)表于 10-08 11:49 ?594次閱讀
    <b class='flag-5'>數(shù)據(jù)庫(kù)</b>優(yōu)化那些事

    SQL Server數(shù)據(jù)庫(kù)備份方法

    了解數(shù)據(jù)備份類型: 在進(jìn)行數(shù)據(jù)庫(kù)備份之前,首先需要了解數(shù)據(jù)備份的類型。SQL Server支持完整備份、差異備份和事務(wù)日志備份。完整備份是數(shù)據(jù)庫(kù)
    的頭像 發(fā)表于 11-23 14:27 ?1486次閱讀

    oracle數(shù)據(jù)庫(kù)alert日志作用

    Oracle數(shù)據(jù)庫(kù)的alert日志數(shù)據(jù)庫(kù)引擎和實(shí)例的核心組件之一,它記錄著數(shù)據(jù)庫(kù)的運(yùn)行狀況和事件。該日志對(duì)于
    的頭像 發(fā)表于 12-06 10:08 ?1242次閱讀

    Oracle數(shù)據(jù)恢復(fù)—異常斷電后Oracle數(shù)據(jù)庫(kù)庫(kù)報(bào)錯(cuò)的數(shù)據(jù)恢復(fù)案例

    Oracle數(shù)據(jù)庫(kù)故障: 機(jī)房異常斷電后,Oracle數(shù)據(jù)庫(kù)庫(kù)報(bào)錯(cuò):“system01.dbf需要更多的恢復(fù)來保持一致性,數(shù)據(jù)庫(kù)無法打開”。數(shù)據(jù)
    的頭像 發(fā)表于 09-30 13:31 ?305次閱讀
    Oracle<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—異常斷電后Oracle<b class='flag-5'>數(shù)據(jù)庫(kù)</b>啟<b class='flag-5'>庫(kù)</b>報(bào)錯(cuò)的<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)案例
    主站蜘蛛池模板: 亚洲香蕉视频| 色妞网站| 欧美日韩国产另类一区二区三区| 红色一级毛片| 视频在线观看免费| 一级片a级片| 色女人天堂| 亚洲网站色| 欧美最猛黑人xxxx黑人猛交黄| 亚洲人成亚洲人成在线观看| 美女视频网站色| 奇米福利视频| 高h污快穿文汁水四溅| 免费人成网站| 免费看国产精品久久久久| 欧洲精品不卡1卡2卡三卡四卡| 日本亚洲成人| 天天夜夜爽| 乱高h亲女| 免费观看色| 久久草在线视频播放| 一久久| 国产精品久久久久久久久福利| 国产精品久久女同磨豆腐| 中国一级毛片aaa片| 国内精品久久久久久久久蜜桃| 国产精品天天干| 五月婷婷激情综合网| 99视频精品全国免费| 69日本xxxxxxxxx19| 日本www黄| 免费看黄色录像| 一二三区乱码一区二区三区码| 狠狠干狠狠鲁| 淫五月| 人成电影免费观看在线| 色综合色综合色综合色综合| 中文字幕有码视频| 国产黄页| 亚洲网站免费看| 激情五月婷婷久久|