基于Redis的一致性分析與改進(jìn).pdf_第1頁
已閱讀1頁,還剩88頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、隨著互聯(lián)網(wǎng)的發(fā)展,傳統(tǒng)關(guān)系型數(shù)據(jù)庫在海量數(shù)據(jù)存儲、高可擴(kuò)展性、高可用性等新需求下顯現(xiàn)出自身局限性。NoSQL數(shù)據(jù)庫因其模式自由、支持分布式、支持最終一致性等特性可以很好的應(yīng)對這些互聯(lián)網(wǎng)新需求。依據(jù)CAP理論,NoSQL數(shù)據(jù)庫因無法避免網(wǎng)絡(luò)分區(qū),所以需要在保證分區(qū)容忍性的前提下盡可能提高一致性和可用性。NoSQL中的Redis數(shù)據(jù)庫因開源、內(nèi)存存儲等特性獲得學(xué)術(shù)界和產(chǎn)業(yè)界廣泛關(guān)注。研究Redis數(shù)據(jù)庫一致性是推動Redis發(fā)展必不可少的工

2、作。
  本文不僅對Redis一致性進(jìn)行詳細(xì)分析,還對分析中發(fā)現(xiàn)的一致性問題提出改進(jìn)措施并實現(xiàn)。一致性表現(xiàn)形式多樣,本文重點研究Redis主節(jié)點和從節(jié)點的數(shù)據(jù)一致性。明確研究對象后,本文先從Redis架構(gòu)、Redis數(shù)據(jù)復(fù)制實現(xiàn)、Redis數(shù)據(jù)一致性維護(hù)三個方面展開Redis一致性分析。然后,本文總結(jié)一致性維護(hù)中存在的一致性問題并設(shè)計測試用例重現(xiàn)之。最后本文對發(fā)現(xiàn)的一致性問題提出改進(jìn)措施并實現(xiàn):
  1.復(fù)制緩沖區(qū)寫滿問題:

3、原生 Redis使用的復(fù)制緩沖區(qū)邏輯上是一個靜態(tài)環(huán)形隊列。復(fù)制緩沖區(qū)備寫滿后,隊尾數(shù)據(jù)會覆蓋隊頭數(shù)據(jù)。一旦復(fù)制緩沖區(qū)中存儲的待同步數(shù)據(jù)被覆蓋,主節(jié)點和從節(jié)點只能執(zhí)行一次完全同步。本文設(shè)計并實現(xiàn)一個新復(fù)制緩沖區(qū)替換原有復(fù)制緩沖區(qū)。新復(fù)制緩沖區(qū)實現(xiàn)同步數(shù)據(jù)零丟失,保證同步效率。新復(fù)制緩沖區(qū)使用緩沖區(qū)、文件索引等技術(shù)進(jìn)一步優(yōu)化數(shù)據(jù)讀寫效率。
  2.故障轉(zhuǎn)移后數(shù)據(jù)同步低效問題:原生 Redis在完成故障轉(zhuǎn)移后,從節(jié)點會與新主節(jié)點進(jìn)行一次

4、完全同步,以保證與主節(jié)點數(shù)據(jù)一致性。如果故障發(fā)生前,新主節(jié)點(作為一個從節(jié)點)和其現(xiàn)有從節(jié)點隸屬于同一個主節(jié)點,那么新主節(jié)點和這類從節(jié)點存儲的數(shù)據(jù)大部分都相同。這種情況下主節(jié)點和從節(jié)點沒有必要進(jìn)行一次完全同步。優(yōu)化的故障轉(zhuǎn)移后數(shù)據(jù)同步策略,實現(xiàn)在上述情景執(zhí)行部分同步。
  最后本文對改進(jìn)后Redis進(jìn)行測試。測試結(jié)果表明:改進(jìn)后Redis不會對數(shù)據(jù)庫讀性能產(chǎn)生影響;改進(jìn)Redis會少量降低數(shù)據(jù)庫寫性能;改進(jìn)后Redis實現(xiàn)將某些場

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論