過去很久了。現(xiàn)在可以說“本文的理論分析基本符合日常實(shí)踐”。另外,寫放大真的很當(dāng)疼…
LSM-Tree 的寫放大本文缺少實(shí)際的實(shí)踐經(jīng)驗(yàn)。全部來自在網(wǎng)上的“道聽途說”和自己的“胡思亂想”。 寫放大、讀放大、空間放大 基于 LSM-Tree 的存儲(chǔ)系統(tǒng)越來越常見了,如 RocksDB、Le...
過去很久了。現(xiàn)在可以說“本文的理論分析基本符合日常實(shí)踐”。另外,寫放大真的很當(dāng)疼…
LSM-Tree 的寫放大本文缺少實(shí)際的實(shí)踐經(jīng)驗(yàn)。全部來自在網(wǎng)上的“道聽途說”和自己的“胡思亂想”。 寫放大、讀放大、空間放大 基于 LSM-Tree 的存儲(chǔ)系統(tǒng)越來越常見了,如 RocksDB、Le...
@Tom青年 主要寫給自己看。內(nèi)容的受眾并不是那么廣,看的人自然不多。
LevelDB 完全解析(0):基本原理和整體架構(gòu)之前零零散散寫過幾篇和 LSM-Tree、LevelDB 有關(guān)的文章。之后也看了一些代碼和論文,筆記也做了一些,但大都比較零亂、隨意,沒花功夫整理。 這次打算將之前的文章和之...
智能指針 C++11 引入了 3 個(gè)智能指針類型: std::unique_ptr<T> :獨(dú)占資源所有權(quán)的指針。 std::shared_ptr<T> :共享資源所有權(quán)的指...
Compaction 的作用 因?yàn)?LevelDB 的增刪改都是通過追加寫來實(shí)現(xiàn)的,所以需要通過后臺(tái)線程的 compaction 來: 清理過期(舊版本或者已刪除)的數(shù)據(jù)。 ...
Lambda 表達(dá)式(Lambda Expression)是 C++11 引入的一個(gè)“語(yǔ)法糖”,可以方便快捷地創(chuàng)建一個(gè)“函數(shù)對(duì)象”。 從 C++11 開始,C++ 有三種方式...
自動(dòng)類型推導(dǎo) 現(xiàn)代的編程語(yǔ)言,不管是動(dòng)態(tài)語(yǔ)言(JavaScript、Python 等),還是靜態(tài)語(yǔ)言(Go、Rust 等),大都支持自動(dòng)類型推導(dǎo)(type deduction...
右值引用(rvalue reference)是 C++11 為了實(shí)現(xiàn)移動(dòng)語(yǔ)意(move semantic)和完美轉(zhuǎn)發(fā)(perfect forwarding)而提出來的。 右值...
LevelDB 有兩個(gè)地方需要用到有序遍歷: 對(duì)外提供范圍查詢的接口(NewIterator)。 內(nèi)部的 Compaction。 通過前面的文章,我們了解到 LevelDB ...
LevelDB 提供三個(gè)和寫操作相關(guān)的接口: Put :插入/修改一條記錄。 Delete :刪除一條記錄。 Write :原子地插入/修改/刪除多條記錄。 Put 和 De...
LevelDB 支持的讀操作分為兩種: 點(diǎn)查詢(Point Query):讀一個(gè) key 的數(shù)據(jù)。 范圍查詢(Range Query):有序讀一段 key 范圍的數(shù)據(jù)。 本文...
前文回顧 LevelDB 完全解析(0):基本原理和整體架構(gòu) LevelDB 完全解析(1):MemTable LevelDB 完全解析(2):Log LevelDB 完全解...
前文回顧 LevelDB 完全解析(0):基本原理和整體架構(gòu) LevelDB 完全解析(1):MemTable LevelDB 完全解析(2):Log LevelDB 完全解...
前文回顧 LevelDB 完全解析(0):基本原理和整體架構(gòu) LevelDB 完全解析(1):MemTable LevelDB 完全解析(2):Log LevelDB 完全解...
前文回顧 LevelDB 完全解析(0):基本原理和整體架構(gòu) LevelDB 完全解析(1):MemTable LevelDB 完全解析(2):Log LevelDB 完全解...
前文回顧 LevelDB 完全解析(0):基本原理和整體架構(gòu) LevelDB 完全解析(1):MemTable LevelDB 完全解析(2):Log SSTable 全稱 ...
前文回顧 LevelDB 完全解析(0):基本原理和整體架構(gòu) LevelDB 完全解析(1):MemTable 這里的 log 是指 Write Ahead Log。前面說了...
前文回顧 LevelDB 完全解析(0):基本原理和整體架構(gòu) MemTable 介紹 MemTable,顧名思議,就是內(nèi)存表。每個(gè) LevelDB 實(shí)例最多會(huì)維護(hù)兩個(gè) Mem...
之前零零散散寫過幾篇和 LSM-Tree、LevelDB 有關(guān)的文章。之后也看了一些代碼和論文,筆記也做了一些,但大都比較零亂、隨意,沒花功夫整理。 這次打算將之前的文章和之...