Rocksdb是一個kv引擎,由facebook團隊基于levelDB改進而來,Rocksdb采用LSM-tree存儲數(shù)據(jù),良好的讀寫特性以及壓縮特性使得其非常受歡迎。此外,Rocksdb引擎作為插件已經(jīng)集成在facebook維護的MySQL分支,用戶可以通過SQL來訪問rocksDB。本文主要通過分析Rocksdb引擎的記錄格式,并通過對比innodb,來讓大家了解Rocksdb。Rocksdb作為一個kv引擎,用戶通過put(key,value)來寫入key,或者通過get(key)接口來獲取value,對rocksdb本身而言,每條記錄都是一個key-value。當(dāng)Rocksdb作為一個存儲引擎接入到MySQL時,key-value結(jié)構(gòu)如何存儲表中各個索引,以及如何記錄中各個列的信息是本文要具體討論的。rocksdb引擎與innodb引擎類似,也是采用索引組織表,無論是表(主鍵索引)還是二級索引都是以LSM tree方式組織,rocksdb記錄主要包括三部分,key,value和meta三部分內(nèi)容,具體見下表,然后我通過介紹一條具體記錄在rocksdb引擎中的存儲格式來說明問題。

rocksdb基本記錄存儲格式

<nobr id="vmuau"></nobr>
<tr id="vmuau"><sup id="vmuau"><form id="vmuau"></form></sup></tr>

key_size

key

value_size

value

PK/SecKey

網(wǎng)友評論

<tbody id="vmuau"></tbody>