基于LevelDB的分布式數(shù)據(jù)庫的研究與實(shí)現(xiàn)
發(fā)布時(shí)間:2021-03-25 17:43
由于互聯(lián)網(wǎng)的飛速發(fā)展,數(shù)據(jù)規(guī)模呈爆炸式增長(zhǎng),海量數(shù)據(jù)的存儲(chǔ)與管理給數(shù)據(jù)庫系統(tǒng)帶來了嚴(yán)峻的挑戰(zhàn),單機(jī)數(shù)據(jù)庫已經(jīng)無法應(yīng)對(duì)。傳統(tǒng)關(guān)系型數(shù)據(jù)庫由于其關(guān)系模型和ACID特性,不適合在分布式環(huán)境運(yùn)行。No SQL數(shù)據(jù)庫應(yīng)運(yùn)而生,它舍棄了關(guān)系型數(shù)據(jù)庫的很多限制,強(qiáng)調(diào)可擴(kuò)展性和可用性,支持超大規(guī)模數(shù)據(jù)的存儲(chǔ)與管理。本文基于鍵值型No SQL數(shù)據(jù)庫Level DB,并與數(shù)據(jù)一致性算法Raft、數(shù)據(jù)分片和負(fù)載均衡相結(jié)合,設(shè)計(jì)并實(shí)現(xiàn)基于Level DB的分布式數(shù)據(jù)庫。本文的主要工作包括:1、修改Raft算法讀取策略,將只允許從Leader讀取修改為允許從Follower讀取,減輕Leader負(fù)擔(dān),在讀負(fù)載遠(yuǎn)遠(yuǎn)大于寫負(fù)載時(shí)增加讀取吞吐量,減少請(qǐng)求平均延遲;增加預(yù)選舉機(jī)制,在發(fā)起正式選舉之前首先發(fā)起預(yù)選舉,只有收到大多數(shù)的回復(fù)之后才正式發(fā)起選舉。解決Raft算法在網(wǎng)絡(luò)分區(qū)時(shí)可能出現(xiàn)的對(duì)已提交日志丟棄問題。2、實(shí)現(xiàn)基于關(guān)鍵字區(qū)間分布的數(shù)據(jù)分布功能,為順序讀寫提供友好地支持;實(shí)現(xiàn)負(fù)載均衡功能,通過分區(qū)拆分、分區(qū)遷移,動(dòng)態(tài)地調(diào)整系統(tǒng)負(fù)載;添加中間層,實(shí)現(xiàn)在單個(gè)存儲(chǔ)實(shí)例上為多個(gè)用戶提供邏輯獨(dú)立的存儲(chǔ)空間。3、設(shè)計(jì)并實(shí)現(xiàn)...
【文章來源】:電子科技大學(xué)四川省 211工程院校 985工程院校 教育部直屬院校
【文章頁數(shù)】:89 頁
【學(xué)位級(jí)別】:碩士
【部分圖文】:
dlevel_server.proto考慮到服務(wù)器端提供的操作接口包含多個(gè),因此需要識(shí)別客戶端具體的發(fā)送操
region_info結(jié)構(gòu)體
raft.proto下標(biāo)commited_index;回復(fù)的內(nèi)容包括節(jié)點(diǎn)term號(hào),是否成功復(fù)制is_success以及最后一條日志下標(biāo)last_log_index
【參考文獻(xiàn)】:
碩士論文
[1]分布式鍵值對(duì)存儲(chǔ)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D]. 林楓.華南理工大學(xué) 2017
本文編號(hào):3100053
【文章來源】:電子科技大學(xué)四川省 211工程院校 985工程院校 教育部直屬院校
【文章頁數(shù)】:89 頁
【學(xué)位級(jí)別】:碩士
【部分圖文】:
dlevel_server.proto考慮到服務(wù)器端提供的操作接口包含多個(gè),因此需要識(shí)別客戶端具體的發(fā)送操
region_info結(jié)構(gòu)體
raft.proto下標(biāo)commited_index;回復(fù)的內(nèi)容包括節(jié)點(diǎn)term號(hào),是否成功復(fù)制is_success以及最后一條日志下標(biāo)last_log_index
【參考文獻(xiàn)】:
碩士論文
[1]分布式鍵值對(duì)存儲(chǔ)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D]. 林楓.華南理工大學(xué) 2017
本文編號(hào):3100053
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/3100053.html
最近更新
教材專著