基于RocksDB引擎的分布式存儲系統(tǒng)設(shè)計與實現(xiàn)
發(fā)布時間:2023-04-16 11:50
隨著信息社會的發(fā)展,互聯(lián)網(wǎng)進入高速發(fā)展的新時期,互聯(lián)網(wǎng)上的數(shù)據(jù)量出現(xiàn)爆炸式的增長。隨著數(shù)據(jù)量的快速增長,傳統(tǒng)的關(guān)系型數(shù)據(jù)庫已經(jīng)無法應(yīng)對當前海量數(shù)據(jù)規(guī)模的應(yīng)用,因此NoSQL數(shù)據(jù)庫應(yīng)運而生。近些年來,對于NoSQL技術(shù)的研究從未間斷,并且已經(jīng)取得一定的成果,不同種類的NoSQL數(shù)據(jù)庫層見迭出,包括key-value數(shù)據(jù)庫、圖數(shù)據(jù)庫、列數(shù)據(jù)庫和文檔數(shù)據(jù)庫等,NoSQL數(shù)據(jù)庫中最重要的一個分支就是key-value數(shù)據(jù)庫。數(shù)據(jù)庫的存儲引擎作為數(shù)據(jù)庫存儲系統(tǒng)中的重要組成結(jié)構(gòu),它的性能優(yōu)劣將直接決定整個數(shù)據(jù)庫存儲系統(tǒng)的讀寫快慢。目前出現(xiàn)的寫入性能極好的基于LSMTree的存儲引擎LevelDB,該存儲引擎使用LSM樹作為存儲結(jié)構(gòu),避免了大量的隨機寫入問題;對于特定的讀,即內(nèi)存中的熱數(shù)據(jù),也能達到不錯的性能。Facebook維護了一個活躍的LevelDB的分支,即RocksDB存儲引擎。RocksDB是在LevelDB代碼基礎(chǔ)上進行二次開發(fā),相比LevelDB有了很多的改進,比如多線程壓縮、分層自定義壓縮、多個MemTable等,比LevelDB性能更好。本文主要有三個方面的工作:(1)首先概括了...
【文章頁數(shù)】:82 頁
【學(xué)位級別】:碩士
【文章目錄】:
摘要
abstract
第一章 緒論
1.1 課題背景及研究意義
1.2 國內(nèi)外研究現(xiàn)狀
1.2.1 存儲引擎
1.2.2 分布式NoSQL存儲
1.3 課題研究內(nèi)容
1.4 論文組織結(jié)構(gòu)
1.5 本章小結(jié)
第二章 理論基礎(chǔ)及相關(guān)技術(shù)
2.1 RocksDB
2.2 OCF
2.2.1 基本原理
2.2.2 基礎(chǔ)網(wǎng)絡(luò)通信引擎
2.2.3 RPC系統(tǒng)
2.3 分布式NoSQL存儲
2.3.1 數(shù)據(jù)分布策略
2.3.2 可用性和可擴展性
2.3.3 數(shù)據(jù)一致性
2.4 本章小結(jié)
第三章 需求分析及總體設(shè)計
3.1 需求分析
3.1.1 功能需求
3.1.2 性能需求
3.2 總體架構(gòu)
3.2.1 整體架構(gòu)及各模塊說明
3.2.2 系統(tǒng)各模塊用例圖
3.3 本章小結(jié)
第四章 系統(tǒng)詳細設(shè)計與實現(xiàn)
4.1 控制節(jié)點詳細設(shè)計與實現(xiàn)
4.1.1 數(shù)據(jù)分布表
4.1.1.1 數(shù)據(jù)分布表的詳細設(shè)計
4.1.1.2 數(shù)據(jù)分布表的具體實現(xiàn)
4.1.2 負載均衡策略
4.1.3 交互模塊詳細設(shè)計與實現(xiàn)
4.1.3.1 Interaction網(wǎng)絡(luò)協(xié)議
4.1.3.2 InteractionPerformer服務(wù)模塊
4.2 數(shù)據(jù)節(jié)點詳細設(shè)計與實現(xiàn)
4.2.1 心跳模塊
4.2.2 請求處理和數(shù)據(jù)存儲模塊
4.2.2.1 重組key
4.2.2.2 數(shù)據(jù)存儲
4.2.3 數(shù)據(jù)傳輸服務(wù)
4.2.3.1 Transport網(wǎng)絡(luò)協(xié)議
4.2.3.2 TransportPerformer服務(wù)
4.2.4 數(shù)據(jù)遷移模塊
4.2.5 數(shù)據(jù)復(fù)制模塊
4.3 客戶端詳細設(shè)計與實現(xiàn)
4.3.1 獲取數(shù)據(jù)分布表
4.3.2 客戶端接口
4.4 讀寫執(zhí)行流程
4.4.1 數(shù)據(jù)寫流程
4.4.2 數(shù)據(jù)讀流程
4.5 本章小結(jié)
第五章 系統(tǒng)測試
5.1 測試環(huán)境
5.2 功能測試
5.2.1 數(shù)據(jù)添加
5.2.2 數(shù)據(jù)查找
5.2.3 數(shù)據(jù)刪除
5.3 性能測試
5.3.1 數(shù)據(jù)節(jié)點上的數(shù)據(jù)分布測試
5.3.2 系統(tǒng)吞吐能力測試
5.3.2.1 測試場景
5.3.2.2 測試結(jié)果及分析
5.4 本章小結(jié)
第六章 結(jié)論與展望
致謝
參考文獻
攻碩期間取得的研究成果
本文編號:3791310
【文章頁數(shù)】:82 頁
【學(xué)位級別】:碩士
【文章目錄】:
摘要
abstract
第一章 緒論
1.1 課題背景及研究意義
1.2 國內(nèi)外研究現(xiàn)狀
1.2.1 存儲引擎
1.2.2 分布式NoSQL存儲
1.3 課題研究內(nèi)容
1.4 論文組織結(jié)構(gòu)
1.5 本章小結(jié)
第二章 理論基礎(chǔ)及相關(guān)技術(shù)
2.1 RocksDB
2.2 OCF
2.2.1 基本原理
2.2.2 基礎(chǔ)網(wǎng)絡(luò)通信引擎
2.2.3 RPC系統(tǒng)
2.3 分布式NoSQL存儲
2.3.1 數(shù)據(jù)分布策略
2.3.2 可用性和可擴展性
2.3.3 數(shù)據(jù)一致性
2.4 本章小結(jié)
第三章 需求分析及總體設(shè)計
3.1 需求分析
3.1.1 功能需求
3.1.2 性能需求
3.2 總體架構(gòu)
3.2.1 整體架構(gòu)及各模塊說明
3.2.2 系統(tǒng)各模塊用例圖
3.3 本章小結(jié)
第四章 系統(tǒng)詳細設(shè)計與實現(xiàn)
4.1 控制節(jié)點詳細設(shè)計與實現(xiàn)
4.1.1 數(shù)據(jù)分布表
4.1.1.1 數(shù)據(jù)分布表的詳細設(shè)計
4.1.1.2 數(shù)據(jù)分布表的具體實現(xiàn)
4.1.2 負載均衡策略
4.1.3 交互模塊詳細設(shè)計與實現(xiàn)
4.1.3.1 Interaction網(wǎng)絡(luò)協(xié)議
4.1.3.2 InteractionPerformer服務(wù)模塊
4.2 數(shù)據(jù)節(jié)點詳細設(shè)計與實現(xiàn)
4.2.1 心跳模塊
4.2.2 請求處理和數(shù)據(jù)存儲模塊
4.2.2.1 重組key
4.2.2.2 數(shù)據(jù)存儲
4.2.3 數(shù)據(jù)傳輸服務(wù)
4.2.3.1 Transport網(wǎng)絡(luò)協(xié)議
4.2.3.2 TransportPerformer服務(wù)
4.2.4 數(shù)據(jù)遷移模塊
4.2.5 數(shù)據(jù)復(fù)制模塊
4.3 客戶端詳細設(shè)計與實現(xiàn)
4.3.1 獲取數(shù)據(jù)分布表
4.3.2 客戶端接口
4.4 讀寫執(zhí)行流程
4.4.1 數(shù)據(jù)寫流程
4.4.2 數(shù)據(jù)讀流程
4.5 本章小結(jié)
第五章 系統(tǒng)測試
5.1 測試環(huán)境
5.2 功能測試
5.2.1 數(shù)據(jù)添加
5.2.2 數(shù)據(jù)查找
5.2.3 數(shù)據(jù)刪除
5.3 性能測試
5.3.1 數(shù)據(jù)節(jié)點上的數(shù)據(jù)分布測試
5.3.2 系統(tǒng)吞吐能力測試
5.3.2.1 測試場景
5.3.2.2 測試結(jié)果及分析
5.4 本章小結(jié)
第六章 結(jié)論與展望
致謝
參考文獻
攻碩期間取得的研究成果
本文編號:3791310
本文鏈接:http://www.sikaile.net/kejilunwen/jisuanjikexuelunwen/3791310.html
最近更新
教材專著