在线不卡日本ⅴ一区v二区_精品一区二区中文字幕_天堂v在线视频_亚洲五月天婷婷中文网站

  • <menu id="lky3g"></menu>
  • <style id="lky3g"></style>
    <pre id="lky3g"><tt id="lky3g"></tt></pre>

    Write-Ahead Log (預(yù)寫(xiě)日志)

    Write-Ahead Log (預(yù)寫(xiě)日志)

    WAL 概述

    WAL 是 write-ahead log 系統(tǒng),其核心思想是將用戶的所有修改操作(插入、刪除)寫(xiě)入日志,然后再應(yīng)用到系統(tǒng)狀態(tài)。一旦日志寫(xiě)入成功,就可以通知用戶操作成功。由于日志采用尾部追加方式寫(xiě)入,耗時(shí)較短,因此不會(huì)長(zhǎng)時(shí)間阻塞用戶線程。另外,為防止意外退出導(dǎo)致數(shù)據(jù)丟失,系統(tǒng)重啟時(shí)會(huì)根據(jù)日志重做用戶操作,保證數(shù)據(jù)可靠性。

    WAL – 預(yù)寫(xiě)日志

    WAL 一直是傳統(tǒng) RDBMS 系統(tǒng)中的一個(gè)共識(shí),用于幫助保證原子性和持久性(ACID 的 A 和 D)。對(duì)表的所有更新首先寫(xiě)入 WA),然后異步的方式使用。

    示例 WAL 和 WALEntry 結(jié)構(gòu):

    type WAL struct { dir string // 存放 WAL 文件的目錄。 file *os.File // 引用文件 metadata []byte // 每個(gè) WAL 解碼器頭部記錄的元數(shù)據(jù) *decoder // 解碼器解碼記錄 編碼器 *encoder // 編碼器編碼記錄 mutex sync.Mutex // To確保每個(gè)寫(xiě)入器一次更新 lastIndex uint64 // 保存到 WAL 的最后一個(gè)條目的索引} type WALEntry struct { lsn uint64 // 每個(gè)日志條目的唯一標(biāo)識(shí)符 data []byte // 實(shí)際 WAL 條目(以字節(jié)為單位) crc uint32 // crc for數(shù)據(jù)完整性驗(yàn)證 type uint32 // wal 記錄的類型 }

    為什么需要 WAL

    為什么不將更改直接刷新到實(shí)際數(shù)據(jù)文件?

    它有2個(gè)方面——

  • 對(duì)磁盤(pán)的寫(xiě)入永遠(yuǎn)不會(huì)真正直接刷新,數(shù)據(jù)經(jīng)過(guò)各種緩沖區(qū)(RAM/緩沖區(qū)緩存/磁盤(pán)緩存),然后才真正刷新到磁盤(pán)扇區(qū)。這些緩存有助于減少磁盤(pán)寫(xiě)入次數(shù),有助于提高性能,但是,它們的缺點(diǎn)是,如果出現(xiàn)重啟/崩潰,這些中間緩存中的數(shù)據(jù)會(huì)丟失,從而影響我們數(shù)據(jù)的持久性。如果我們開(kāi)始避免緩存,每次寫(xiě)后進(jìn)行磁盤(pán)刷新,這樣的動(dòng)作會(huì)影響系統(tǒng)的性能和吞吐量。
  • 如上面提到的,磁盤(pán)寫(xiě)入很慢,在磁盤(pán)寫(xiě)入中,與隨機(jī)磁盤(pán)寫(xiě)入相比,順序磁盤(pán)寫(xiě)入要快得多(也適用于 SSD)。
  • WAL設(shè)計(jì)

    WAL 是一個(gè)僅附加日志,它將數(shù)據(jù)存儲(chǔ)中的每個(gè)狀態(tài)更改存儲(chǔ)為日志。

    一個(gè)單獨(dú)的異步進(jìn)程可以從 WAL 讀取操作,然后按照正常流程通過(guò)不同的緩存將數(shù)據(jù)更新應(yīng)用于磁盤(pán)上的實(shí)際數(shù)據(jù)文件,有助于提高數(shù)據(jù)存儲(chǔ)的寫(xiě)入吞吐量。

    此外,如果發(fā)生故障,可能會(huì)有未應(yīng)用的更新,由于我們?cè)?WAL 文件中存在操作,我們可以從 WAL 重放操作并應(yīng)用它們以使數(shù)據(jù)存儲(chǔ)恢復(fù)到一致?tīng)顟B(tài)。因此,WAL 幫助我們確保數(shù)據(jù)的完整性和可靠性,同時(shí)仍然允許我們的數(shù)據(jù)存儲(chǔ)具有高寫(xiě)入吞吐量。

    注意事項(xiàng)

    1. 將 WAL 操作刷新到磁盤(pán)

    如前所述,對(duì)磁盤(pán)的寫(xiě)入可能不會(huì)直接刷新,考慮到寫(xiě)入系統(tǒng)中導(dǎo)致性能的問(wèn)題,需要進(jìn)行權(quán)衡刷新頻率或微批處理或兩者來(lái)將更改刷新到磁盤(pán),以幫助提高性能。請(qǐng)注意,此處存在數(shù)據(jù)丟失的風(fēng)險(xiǎn)。

    2. 損壞檢測(cè)

    需要確保任何刷新到磁盤(pán)的操作都不會(huì)損壞, WAL 記錄還包含一個(gè) CRC 值,該值可用于驗(yàn)證何時(shí)從 WAL 讀取記錄并確保沒(méi)有損壞。

    3. 重復(fù)操作

    由于 WAL 是一個(gè)附加追尾的文件,因此如果客戶端由于通信故障而重試,可能會(huì)遇到在 WAL 上寫(xiě)入重復(fù)操作的情況。因此,每當(dāng)讀取 WAL 時(shí),要確保忽略重復(fù)項(xiàng),或者對(duì)應(yīng)用數(shù)據(jù)的動(dòng)作具有冪等性的。

    現(xiàn)狀

    1)所有數(shù)據(jù)庫(kù),包括像Cassandra這樣的NoSQL數(shù)據(jù)庫(kù)都使用WAL來(lái)保證持久性。

    2) Kafka 使用了與 WAL(Commit Log) 類似的結(jié)構(gòu)。

    3) 像 Rocks DB、Level DB 這樣的 KV 存儲(chǔ)和像 Apache Ignite 這樣的分布式緩存也使用 WAL。

    概括

    總而言之,WAL 提供一下價(jià)值

    1) 更快的性能和吞吐量,避免了所有更改的數(shù)據(jù)刷新/磁盤(pán)寫(xiě)入。

    2) 重啟時(shí)的可恢復(fù)性,操作可以從 WAL 應(yīng)用到實(shí)際的數(shù)據(jù)存儲(chǔ)。

    3)能夠恢復(fù)到時(shí)間點(diǎn)快照,我們?cè)?WAL 中存在所有操作。

    鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場(chǎng),版權(quán)歸原作者所有,如有侵權(quán)請(qǐng)聯(lián)系管理員(admin#wlmqw.com)刪除。
    用戶投稿
    上一篇 2022年6月28日 17:18
    下一篇 2022年6月28日 17:18

    相關(guān)推薦

    • 什么是推廣cpa一篇文章帶你看懂CPA推廣渠道

      CPA渠道 CPA指的是按照指定的行為結(jié)算,可以是搜索,可以是注冊(cè),可以是激活,可以是搜索下載激活,可以是綁卡,實(shí)名認(rèn)證,可以是付費(fèi),可以是瀏覽等等。甲乙雙方可以根據(jù)自己的情況來(lái)定…

      2022年11月25日
    • 抖音直播帶貨有哪些方法技巧(抖音直播帶貨有哪些痛點(diǎn))

      如今抖音這個(gè)短視頻的變現(xiàn)能力越來(lái)越突顯了,尤其是在平臺(tái)上開(kāi)通直播,更具有超強(qiáng)的帶貨屬性,已經(jīng)有越來(lái)越多的普通人加入到其中了。不過(guò)直播帶貨雖然很火,但是也不是每個(gè)人都能做好的,那么在…

      2022年11月24日
    • OPPO Reno9 Pro+硬件規(guī)格強(qiáng) 搭載驍龍8+旗艦處理器

      OPPO Reno9系列正式發(fā)布,Reno9 Pro+作為三款新機(jī)中定位最高的超大杯機(jī)型,整體配置較上一代有著大幅度的升級(jí),如果單看硬件配置的話,Reno9 Pro+甚至是目前OP…

      2022年11月24日
    • 淘寶直播開(kāi)通后帶貨鏈接怎么做(淘寶直播需要開(kāi)通淘寶店鋪嗎)

      直播帶貨無(wú)論是對(duì)于商家來(lái)說(shuō)還是主播收益都是非??捎^的,所以不少平臺(tái)都有直播帶貨功能,一些小伙伴也想加入淘寶直播,那么淘寶直播開(kāi)通后帶貨鏈接怎么做?下面小編為大家?guī)?lái)淘寶直播開(kāi)通后帶…

      2022年11月24日
    • 科比19歲女兒遭自稱與她生“科比式孩子”男子跟蹤騷擾

      極目新聞?dòng)浾咄趿亮咙S佳琪 據(jù)??怂剐侣劸W(wǎng)報(bào)道,當(dāng)?shù)貢r(shí)間11月21日,已故籃球巨星科比·布萊恩特的長(zhǎng)女娜塔莉亞·布萊恩特21日向法院提交臨時(shí)限制令,聲稱這位32歲的前科從十幾歲起就騷…

      2022年11月24日
    • 免費(fèi)清理c盤(pán)的軟件(清理c盤(pán)空間不影響系統(tǒng))

      電腦用久了慢如龜速,還卡頓,這最大的原因啊就是C盤(pán)空間不足造成的。 即使電腦配置再好,或者硬盤(pán)再快,如果長(zhǎng)時(shí)間沒(méi)有打掃C盤(pán),打開(kāi)文件或者穩(wěn)定之類的,都卡得讓人頭大。 這時(shí)候呢不要去…

      2022年11月24日
    • 明查|美國(guó)新冠后遺癥患者中有16%癥狀嚴(yán)重以致無(wú)法工作?

      點(diǎn)擊進(jìn)入澎湃新聞全球事實(shí)核查平臺(tái) 速覽 – 網(wǎng)傳數(shù)據(jù)比例無(wú)權(quán)威信源佐證,該比例有可能是結(jié)合了美國(guó)疾病防控中心和布魯金斯學(xué)會(huì)的數(shù)據(jù)得出,但這兩個(gè)機(jī)構(gòu)的調(diào)研目的和樣本都不同…

      2022年11月24日
    • ipad怎么刷機(jī)(ipad怎么刷機(jī)重新激活)

      今天小編給各位分享ipad怎么刷機(jī)的知識(shí),其中也會(huì)對(duì)ipad怎么刷機(jī)重新激活進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問(wèn)題,別忘了關(guān)注本站,現(xiàn)在開(kāi)始吧! ipad密碼忘了怎么刷機(jī)? ip…

      2022年11月24日
    • pdf虛擬打印機(jī)(添加pdf虛擬打印機(jī))

      本文主要講的是pdf虛擬打印機(jī),以及和添加pdf虛擬打印機(jī)相關(guān)的知識(shí),如果覺(jué)得本文對(duì)您有所幫助,不要忘了將本文分享給朋友。 pdf虛擬打印機(jī)具體是什么功能? 電腦虛擬打印機(jī)的功能有…

      2022年11月24日
    • 快手限流多久能解除(快手限流什么意思)

      我相信很多人都看中了快手平臺(tái)的商機(jī),都爭(zhēng)先恐后地想要搶占機(jī)會(huì),可一些人剛剛作出一點(diǎn)成績(jī),就被降權(quán)了,自己也不知道什么原因。所以今天就來(lái)聊聊快手賬號(hào)降權(quán)操作分享,趕快來(lái)看看避免違規(guī)!…

      2022年11月23日

    聯(lián)系我們

    聯(lián)系郵箱:admin#wlmqw.com
    工作時(shí)間:周一至周五,10:30-18:30,節(jié)假日休息