存儲引擎系列--LSM的Compaction研究方法論

本文主要包含以下內容:
1、Compaction 設計空間的四個原語:觸發器、數據布局、壓縮粒度、數據移動策略。任何已有的compaction策略和新的策略都可以由這個四個原語組建構成。
2、詳細介紹這四個原語的定義,策略方法
3、現有的基于LSM的知名系統的compaction策略按照四個原語進行拆解分析。

一、LSM的Compaction是什么?


為了限制磁盤上sorted run的數量(從而快速查找和更好地利用空間),LSM樹定期將第 i 層的runs(或部分runs)與第 i+1 層的重疊runs進行排序合并。這個過程就被成為LSM compaction(壓縮)。然而,sort-merging數據的過程要求數據在磁盤和數據庫內存之間來回移動。這導致了寫入放大,在最先進的基于LSM的數據存儲中可高達40倍。

為了攤薄數據移動,從而避免延遲峰值,最先進的LSM引擎將數據組織成更小的文件,并以文件而不是level層級的粒度進行壓縮。如果i層的增長超過了閾值,就會觸發一個com-paction,從i層中選擇一個文件(或一個文件子集)與 i+1層中

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/82379.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/82379.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/82379.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

關系數據庫基礎入門

關系數據庫概述 相關名詞 1、關系:在關系數據庫中,實體以及實體間的聯系都是用關系來表示的。類似于程序設計語言中變量的概念。 2、關系模式:是對關系的描述。類似于程序設計語言中類型定義的概念。 3、關系模型:是由若干個關系…

圖解BERT

圖解 Bert 大家可以訪問 圖解Bert 獲取更加優質的閱讀體驗。 圖解BERT一文還在持續更新中。 環境搭建 按序執行以下命令完成環境搭建: git clone https://github.com/DA-southampton/Read_Bert_Code.git cd Read_Bert_Code conda create -n Read_Bert_Code python3.9.22 co…

【HarmonyOS 5】鴻蒙中的UIAbility詳解(一)

【HarmonyOS 5】鴻蒙中的UIAbility詳解(一) 一、UIAbility是什么? Stage模型中的組件類型名,即UIAbility組件,包含UI,提供展示UI的能力,主要用于和用戶交互。 UIAbility類似于傳統移動開發An…

Transformer預訓練模型微調技術全解析

引言:Transformer預訓練模型與微調的浪潮 近年來,人工智能領域取得了令人矚目的成就,特別是在自然語言處理(NLP)方面。引領這場變革的核心技術之一便是Transformer架構。自2017年 Vaswani 等人在論文 "Attention Is All You Need" 中提出以來,Transformer憑借…

《算法筆記》12.2小節——字符串專題->KMP算法 問題 C: 剪花布條

題目描述 一塊花布條,里面有些圖案,另有一塊直接可用的小飾條,里面也有一些圖案。對于給定的花布條和小飾條,計算一下能從花布條中盡可能剪出幾塊小飾條來呢? 輸入 輸入中含有一些數據,分別是成對出現的…

實現一個前端動態模塊組件(Vite+原生JS)

1. 引言 在前面的文章《使用Vite創建一個動態網頁的前端項目》中我們實現了一個動態網頁。不過這個動態網頁的實用價值并不高,在真正實際的項目中我們希望的是能實現一個動態的模塊組件。具體來說,就是有一個頁面控件同時在多個頁面中使用,那…

NTFS0x90屬性和0xa0屬性和0xb0屬性的一一對應關系是index_entry中的index_node中VCN和runlist和bitmap

第一部分: 0: kd> dt _FILE_RECORD_SEGMENT_HEADER 0xc1241400 Ntfs!_FILE_RECORD_SEGMENT_HEADER 0x000 MultiSectorHeader : _MULTI_SECTOR_HEADER 0x008 Lsn : _LARGE_INTEGER 0x80e74aa 0x010 SequenceNumber : 5 0x012 Referen…

PCB 通孔是電容性的,但不一定是電容器

哼?……這是什么意思?…… 多年來,流行的觀點是 PCB 通孔本質上是電容性的,因此可以用集總電容器進行建模。雖然當信號的上升時間大于或等于過孔不連續性延遲的 3 倍時,這可能是正確的,但我將向您展示為什…

Flutter 3.32 新特性

2天前,Flutter發布了最新版本3.32,我們來一起看下29到32有哪些變化。 簡介 歡迎來到Flutter 3.32!此版本包含了旨在加速開發和增強應用程序的功能。準備好在網絡上進行熱加載,令人驚嘆的原生保真Cupertino,以及與Fir…

漢諾塔超級計算機數據區結構和源代碼詳細設計

### 數據區結構與源代碼詳細設計 基于"滿秩二叉樹"存儲模型的設計理念,我設計了以下數據區結構和實現方案: #### 1. 滿秩二叉樹存儲模型 **數據結構設計**: python class TreeNode: """二叉樹節點結構&#xff0c…

GitHub Copilot 現已支持 AI Coding Agent

VS Code 開始越來越像 Cursor 和 WindSurf 了。 這周,GitHub 發布了一個新的編程代理,直接嵌入到 GitHub 中。當你將 GitHub 問題分配給 Copilot 或在 VS Code 中提示它時,該代理會啟動一個由 GitHub Actions 驅動的安全且完全可定制的開發環境。 這一公告來自微軟首席執行…

【辰輝創聚生物】FGF信號通路相關蛋白:解碼生命調控的關鍵樞紐

在生命科學的探索旅程中,成纖維細胞生長因子(Fibroblast Growth Factor,FGF)信號通路猶如精密儀器中的核心齒輪,驅動著眾多生命活動的有序進行。FGF 信號通路相關蛋白作為該通路的重要組成部分,其結構與功能…

算法的學習筆記— 構建乘積數組(牛客JZ66)

構建乘積數組 1. 問題背景與描述 1.1 題目來源與鏈接 本題來源于NowCoder在線編程平臺,是劍指Offer系列面試題中的經典問題。題目鏈接為:NowCoder。該問題在算法面試中出現頻率較高,主要考察數組操作和數學思維。 1.2 問題描述與要求 給…

SpringBoot+ELK 搭建日志監控平臺

ELK 簡介 ELK(Elasticsearch, Logstash, Kibana)是一個目前主流的開源日志監控平臺。由三個主要組件組成的: Elasticsearch: 是一個開源的分布式搜索和分析引擎,可以用于全文檢索、結構化檢索和分析,它構建…

python36

仔細回顧一下神經網絡到目前的內容,沒跟上進度的同學補一下進度。 作業:對之前的信貸項目,利用神經網絡訓練下,嘗試用到目前的知識點讓代碼更加規范和美觀。 # 先運行之前預處理好的代碼 import pandas as pd import pandas as pd…

SGlang 推理模型優化(PD架構分離)

一、技術背景 隨著大型語言模型(LLM)廣泛應用于搜索、內容生成、AI助手等領域,對模型推理服務的并發能力、響應延遲和資源利用效率提出了前所未有的高要求。與模型訓練相比,推理是一個持續進行、資源消耗巨大的任務,尤…

模型實戰(28)之 yolov5分類模型 訓練自己的數據集

模型實戰(28)之 yolov5分類模型 訓練自己的數據集 本文以手寫數字數據集為例總結YOLO分類模型如何訓練自己的數據集,關于數據集的預處理可以看這篇:https://blog.csdn.net/yohnyang/article/details/148209978?spm=1001.2014.3001.5502 yolov5曾是在 2021-2023 年十分流行…

醫學寫作人才管理策略

1. 人才選擇:精準定位核心能力 1.1 人才篩選標準 1.1.1 硬性要求 初創生物制藥公司醫學寫作崗位對專業背景要求嚴格,候選人需具備醫學、藥學或生物學碩士及以上學歷,博士優先。同時,熟悉ICH、FDA/EMA等法規指南是必備條件,且至少有1-3年醫學寫作經驗,或相關領域如臨床研…

Axure酒店管理系統原型

酒店管理系統通常被設計為包含多個模塊或界面,以支持酒店運營的不同方面和參與者。其中,管理端和商戶端是兩個核心組成部分,它們各自承擔著不同的職責和功能。 軟件版本:Axure RP 9 預覽地址:https://556i1e.axshare.…

云原生安全之HTTP協議:從基礎到實戰的安全指南

🔥「炎碼工坊」技術彈藥已裝填! 點擊關注 → 解鎖工業級干貨【工具實測|項目避坑|源碼燃燒指南】 一、基礎概念:HTTP協議的核心要素 HTTP(HyperText Transfer Protocol)是云原生應用中客戶端與服務器通信的基礎協議&a…