那曲檬骨新材料有限公司

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

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

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

基于LRU-K模型如何實(shí)現(xiàn)高效的元數(shù)據(jù)緩存?

冬至配餃子 ? 來源:焱融科技 ? 作者:焱融科技 ? 2023-06-29 15:05 ? 次閱讀

對(duì)于存儲(chǔ)來說,性能是繞不開的話題。當(dāng)提到性能,可靠、高效的緩存策略是極其重要的。在計(jì)算機(jī)領(lǐng)域,緩存技術(shù)一般是指,用一個(gè)更快的存儲(chǔ)設(shè)備存儲(chǔ)一些經(jīng)常用到的數(shù)據(jù),供用戶快速訪問。用戶不需要每次都與慢設(shè)備去做交互,因此可以提高訪問效率。凡是位于速度相差較大的兩種硬件之間,用于協(xié)調(diào)兩者數(shù)據(jù)傳輸速度差異的結(jié)構(gòu),均可稱之為緩存。緩存是提升訪問性能的一個(gè)重要技術(shù)。緩存通過減少系統(tǒng)對(duì)數(shù)據(jù)庫的訪問量來提高系統(tǒng)性能。

存儲(chǔ)層使用緩存的優(yōu)勢

目前緩存分為兩種模式,一種是文件緩存,一種是內(nèi)存緩存,文件緩存即緩存數(shù)據(jù)存放在服務(wù)器的硬盤空間中,內(nèi)存緩存即緩存數(shù)據(jù)存放在服務(wù)器的內(nèi)存空間中。在分布式文件存儲(chǔ)中,客戶端就能提供文件緩存,那為什么存儲(chǔ)層還需要緩存呢?以下是存儲(chǔ)層使用緩存的優(yōu)勢因素:

  1. 客戶端資源有限,無法緩存海量的文件,而后端存儲(chǔ)則可以線性擴(kuò)展,可以緩存更多的數(shù)據(jù)。
  2. 后端存儲(chǔ)可以根據(jù)整個(gè)存儲(chǔ)情況提供更全面的緩存,比如說多個(gè)客戶端同時(shí)訪問熱點(diǎn)。
  3. 分布式文件存儲(chǔ)中,客戶端散布各個(gè)終端節(jié)點(diǎn),存儲(chǔ)層的緩存可以保證一致性,更加安全可靠。
  4. 存儲(chǔ)層可以根據(jù)我們數(shù)據(jù)在物理機(jī)上的分布特點(diǎn),靈活調(diào)配緩存大小和策略。

存儲(chǔ)層的緩存能力是提升分布式存儲(chǔ)性能非常重要的部分,今天我們主要討論利用 LRU-K 模型如何實(shí)現(xiàn)高效的元數(shù)據(jù)緩存?

LRU-K 模型的優(yōu)勢及運(yùn)作模式

內(nèi)存中的讀寫速度很快,基于此很多緩存技術(shù)都喜歡將數(shù)據(jù)存在內(nèi)存中,但是內(nèi)存空間是有限的,當(dāng)?shù)竭_(dá)一定量后需要將一些不常用的緩存數(shù)據(jù)刪除或者落盤。緩存淘汰算法順應(yīng)而生,其中 LRU、LRU-K 就是比較常見的,目的都是為了高效地維護(hù)緩存數(shù)據(jù)。

LRU 的基本思想是如果數(shù)據(jù)最近被訪問過,那么將來被訪問的幾率更高。我們實(shí)現(xiàn) LRU 時(shí),要維護(hù)一個(gè)隊(duì)列,第一次訪問的數(shù)據(jù)直接入隊(duì),重復(fù)訪問的緩存,將該數(shù)據(jù)移至隊(duì)尾,需要?jiǎng)h除時(shí)刪除隊(duì)頭的數(shù)據(jù),這樣就能保持隊(duì)列越往后,數(shù)據(jù)再次被訪問的可能性就越大。LRU 緩存變換之快這是它的優(yōu)點(diǎn)也是它的缺點(diǎn),因?yàn)橹恍枰淮卧L問就能成為最新鮮的數(shù)據(jù),當(dāng)出現(xiàn)很多偶發(fā)數(shù)據(jù)時(shí),這些偶發(fā)的數(shù)據(jù)也會(huì)被當(dāng)作最新鮮的,從而成為緩存。但其實(shí)這些偶發(fā)數(shù)據(jù)以后并不會(huì)被經(jīng)常訪問到。在文件系統(tǒng)里,這個(gè)現(xiàn)象會(huì)更加明顯,絕大部分文件/目錄只在業(yè)務(wù)過程中單次去查詢,而熱點(diǎn)往往集中在少量文件。

LRU-K 的主要目的是為了解決 LRU 算法"緩存污染"的問題,其核心思想是將"最近使用過 1 次"的判斷標(biāo)準(zhǔn)擴(kuò)展為"最近使用過 K 次"。LRU-K 提供兩個(gè) LRU 隊(duì)列,一個(gè)是訪問計(jì)數(shù)隊(duì)列,一個(gè)是標(biāo)準(zhǔn)的 LRU 隊(duì)列,兩個(gè)隊(duì)列都按照 LRU 規(guī)則淘汰數(shù)據(jù)。當(dāng)訪問一個(gè)數(shù)據(jù)時(shí),數(shù)據(jù)先進(jìn)入訪問計(jì)數(shù)隊(duì)列,當(dāng)數(shù)據(jù)訪問次數(shù)超過 K 次后,才會(huì)進(jìn)入標(biāo)準(zhǔn) LRU 隊(duì)列。標(biāo)準(zhǔn)的 LRU 算法相當(dāng)于 LRU-1;LRU-K 具有 LRU 的優(yōu)點(diǎn),同時(shí)能夠避免 LRU 的缺點(diǎn),實(shí)際應(yīng)用中 LRU-2 是綜合各種因素后最優(yōu)的選擇,LRU-3 或者更大的 K 值命中率會(huì)高,但適應(yīng)性差,需要大量的數(shù)據(jù)訪問才能將歷史訪問記錄清除掉。

目錄的結(jié)構(gòu)是樹形的,這就決定了我們不能平等地去看待每一個(gè)目錄,越接近樹頂?shù)哪夸洠脑L問概率越高,訪問頻次越高,這些是最值得保存的數(shù)據(jù)。所以 LRU-K 更適合海量目錄場景下的緩存淘汰。

采用 LRU-K 模型實(shí)現(xiàn)目錄的緩存:

  1. 數(shù)據(jù)第一次被訪問,加入到訪問歷史列表;
  2. 如果數(shù)據(jù)在訪問歷史列表里后沒有達(dá)到 K 次訪問,則按照一定規(guī)則(LRU)淘汰;
  3. 當(dāng)訪問歷史隊(duì)列中的數(shù)據(jù)訪問次數(shù)達(dá)到 K 次后,將數(shù)據(jù)索引從歷史隊(duì)列刪除,將數(shù)據(jù)移到緩存隊(duì)列中,并緩存此數(shù)據(jù),緩存隊(duì)列重新按照時(shí)間排序;
  4. 緩存數(shù)據(jù)隊(duì)列中被再次訪問后,重新排序;
  5. 需要淘汰數(shù)據(jù)時(shí),淘汰緩存隊(duì)列中排在末尾的數(shù)據(jù),即:淘汰“倒數(shù)第 K 次訪問離現(xiàn)在最久”的數(shù)據(jù)。

1.PNG

存儲(chǔ)層使用緩存加速元數(shù)據(jù)性能是一種有效的方法,它可以提高分布式文件存儲(chǔ)的訪問效率和一致性,同時(shí)減少對(duì)數(shù)據(jù)庫的壓力。LRU-K 模型是一種適合海量目錄場景下的緩存淘汰算法,它可以避免緩存污染的問題,保證緩存數(shù)據(jù)的熱度和新鮮度。焱融分布式文件存儲(chǔ) YRCloudFile 提供元數(shù)據(jù)服務(wù)的組件是 MDS,在海量目錄百億級(jí)文件規(guī)模場景下實(shí)現(xiàn)了高效的存儲(chǔ)層的元數(shù)據(jù)緩存,能夠提供卓越的性能和可靠性,滿足用戶對(duì)文件存儲(chǔ)的各種需求,實(shí)測性能成倍提升,為用戶提供了高性能、高可靠、高擴(kuò)展的存儲(chǔ)服務(wù)。

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

    關(guān)注

    38

    文章

    7528

    瀏覽量

    164349
  • 緩存器
    +關(guān)注

    關(guān)注

    0

    文章

    63

    瀏覽量

    11692
  • MDS
    MDS
    +關(guān)注

    關(guān)注

    0

    文章

    5

    瀏覽量

    8087
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    LRU緩存模塊最佳實(shí)踐

    LRU(Least Recently Used)是一種緩存替換算法,它的核心思想是當(dāng)緩存滿時(shí),替換最近最少使用的數(shù)據(jù)。在實(shí)際應(yīng)用中,LRU
    的頭像 發(fā)表于 09-30 16:47 ?961次閱讀

    Redis的LRU實(shí)現(xiàn)和應(yīng)用

    在編程中,計(jì)數(shù)器是一種基本但強(qiáng)大的工具,用于跟蹤和管理數(shù)據(jù)和資源。本文將深入探討不同類型的計(jì)數(shù)器的應(yīng)用,從Redis的LRU(最近最少使用)緩存淘汰算法的實(shí)現(xiàn),到如何在內(nèi)存受限的環(huán)境中
    的頭像 發(fā)表于 12-15 09:24 ?643次閱讀

    【原創(chuàng)】Android開發(fā)—Lru核心數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)突破緩存框架

    【原創(chuàng)】Android開發(fā)—Lru核心數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)突破緩存框架回復(fù)即可獲取下載鏈接[hide=d15]鏈接:http://pan.baidu.com/s/1c2BfjsW 密碼:bta
    發(fā)表于 06-21 16:58

    高速緩存/海量緩存的設(shè)計(jì)實(shí)現(xiàn)

    。  3、海量緩存的設(shè)計(jì)實(shí)現(xiàn)  本系統(tǒng)使用了兩片25616bit容量的SRAM作為高速緩存,系統(tǒng)中的4個(gè)通道可同時(shí)存儲(chǔ)每通道128點(diǎn)采樣
    發(fā)表于 12-04 15:59

    架構(gòu)設(shè)計(jì)應(yīng)用級(jí)緩存回收策略

      緩存,筆者的理解是讓數(shù)據(jù)更接近于使用者,目的是讓訪問速度更快。工作機(jī)制是先從緩存中讀取數(shù)據(jù),如果沒有,再從慢速設(shè)備上讀取實(shí)際數(shù)據(jù)并同步到
    發(fā)表于 01-14 17:08

    高速數(shù)據(jù)采集系統(tǒng)中高速緩存與海量緩存實(shí)現(xiàn)

    探討了高速數(shù)據(jù)采集系統(tǒng)中高速采樣緩存的重要性和實(shí)現(xiàn)途徑,闡述了基于ADSP-21065L的并行多通道數(shù)據(jù)采集板上高速采樣緩存的設(shè)計(jì)與電路結(jié)構(gòu)
    發(fā)表于 04-23 17:08 ?23次下載

    基于PC的多通道自帶緩存數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

    基于PC的多通道自帶緩存數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn):本文描述了一自帶緩存數(shù)據(jù)采集系統(tǒng), 并將本系統(tǒng)所采用的技術(shù)與通用的
    發(fā)表于 10-11 11:12 ?12次下載

    Ceph文件系統(tǒng)的數(shù)據(jù)緩存備份

    針對(duì)Ceph文件系統(tǒng)數(shù)據(jù)寫操作響應(yīng)時(shí)間較長的問題,提出一種對(duì)數(shù)據(jù)緩存進(jìn)行備份的方案。該方案采用多個(gè)
    發(fā)表于 02-08 15:38 ?0次下載
    Ceph文件系統(tǒng)的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>緩存</b>備份

    基于OpenFlow分組緩存管理模型

    基于OpenFlow的軟件定義網(wǎng)絡(luò)(SDN)技術(shù)通過在OpenFlow交換機(jī)中建立有效的緩存模型,能夠大幅減少控制平面和數(shù)據(jù)平面的通信負(fù)載,但整條數(shù)據(jù)流的
    發(fā)表于 02-26 15:35 ?1次下載
    基于OpenFlow分組<b class='flag-5'>緩存</b>管理<b class='flag-5'>模型</b>

    適用于命名數(shù)據(jù)網(wǎng)絡(luò)的緩存內(nèi)容分類模型

    的 Diffserv模型,提出一個(gè)適用于NDN的緩存內(nèi)容分類模型,并給出同時(shí)考慮內(nèi)容分類、路由器本地流行度和內(nèi)容下載時(shí)延的概率緩存算法 Diffcache。實(shí)驗(yàn)結(jié)果表明,該算法可
    發(fā)表于 05-12 11:33 ?4次下載

    基于高斯混合模型的Web代理服務(wù)器緩存

    基于高斯混合模型的Web代理服務(wù)器緩存
    發(fā)表于 06-23 16:46 ?17次下載

    設(shè)計(jì)并實(shí)現(xiàn)一個(gè)滿足LRU約束的數(shù)據(jù)結(jié)構(gòu)

    LRUCache(int capacity)` 以 **「正整數(shù)」** 作為容量 `capacity` 初始化 `LRU` 緩存
    的頭像 發(fā)表于 06-07 17:05 ?1063次閱讀
    設(shè)計(jì)并<b class='flag-5'>實(shí)現(xiàn)</b>一個(gè)滿足<b class='flag-5'>LRU</b>約束的<b class='flag-5'>數(shù)據(jù)</b>結(jié)構(gòu)

    Redis的LRU與LFU算法實(shí)現(xiàn)

    Redis是一款基于內(nèi)存的高性能NoSQL數(shù)據(jù)庫,數(shù)據(jù)緩存在內(nèi)存里, 這使得Redis可以每秒輕松地處理數(shù)萬的讀寫請(qǐng)求。
    的頭像 發(fā)表于 07-11 09:48 ?1255次閱讀
    Redis的<b class='flag-5'>LRU</b>與LFU算法<b class='flag-5'>實(shí)現(xiàn)</b>

    redis的lru原理

    Redis是一種基于內(nèi)存的鍵值數(shù)據(jù)庫,它使用了LRU(Least Recently Used)算法來進(jìn)行緩存數(shù)據(jù)淘汰。LRU算法的核心思想
    的頭像 發(fā)表于 12-05 09:56 ?673次閱讀

    關(guān)于LRU(Least Recently Used)的邏輯實(shí)現(xiàn)

    Used)算法是一種常用的緩存淘汰策略,其核心思想是:如果一個(gè)數(shù)據(jù)在最近一段時(shí)間內(nèi)沒有被訪問到,那么在未來它被訪問的可能性也很小。因此,當(dāng)緩存滿了的時(shí)候,最久未使用的數(shù)據(jù)會(huì)被淘汰。
    的頭像 發(fā)表于 11-12 11:47 ?406次閱讀
    關(guān)于<b class='flag-5'>LRU</b>(Least Recently Used)的邏輯<b class='flag-5'>實(shí)現(xiàn)</b>
    百家乐官网群121398015| 德州扑克学校| 百家乐扑克发牌器| 百家乐官网路单走势图| 百家乐官网怎么投注| 德州扑克怎么比大小| 如何赢百家乐的玩法技巧和规则| 波音百家乐现金网| 百家乐官网游戏打水| 稳赢的百家乐官网投注方法| 真人百家乐游戏| 威尼斯人娱乐城信誉lm0| 百家乐分析网| 做生意门朝哪个方向好| ea百家乐官网系统| 百家乐官网模拟投注器| 一二博娱乐| 大发888娱乐城 34| 百家乐14克粘土筹码| 玩百家乐凤凰娱乐城| 最可信百家乐官网娱乐城| 广东百家乐官网主论坛| 百家乐官网视频对对碰| 亿博国际| 莆田棋牌游戏下载| 深圳太阳城酒店| 红桃K百家乐的玩法技巧和规则| 百家乐赌博机假在哪里| 百家乐小游戏开发| 三星百家乐官网的玩法技巧和规则| 星级百家乐官网技巧| 真让百家乐官网游戏开户| 曲阜市| 云顶国际娱乐| 大发888娱乐客户端下载| 澳门百家乐怎么玩| 南京百家乐的玩法技巧和规则| 百家乐赌场程序| 百家乐合法| 百家乐输了100万| 百家乐庄闲机率|