高性能NOSQL存儲(chǔ)系統(tǒng)的研究與實(shí)現(xiàn)
本文關(guān)鍵詞:高性能NOSQL存儲(chǔ)系統(tǒng)的研究與實(shí)現(xiàn)
更多相關(guān)文章: 海量數(shù)據(jù) 快速存儲(chǔ)和快速查 NOSQL 內(nèi)存管理 Libevent
【摘要】:隨著web2.0的興起和社交類網(wǎng)站的快速發(fā)展,如何快速查詢和處理海量數(shù)據(jù)已經(jīng)成為各大公司關(guān)注的焦點(diǎn)。對(duì)數(shù)據(jù)處理效率的提高,能夠提高用戶體驗(yàn),并且能夠節(jié)約人力和物力。穩(wěn)定的運(yùn)行、高容錯(cuò)性能、快速的數(shù)據(jù)存儲(chǔ)和處理、易用的擴(kuò)展能力已經(jīng)成為現(xiàn)代數(shù)據(jù)庫系統(tǒng)的典型特點(diǎn)。 NOSQL數(shù)據(jù)庫指的是不存在明確定義的數(shù)據(jù)存儲(chǔ)倉庫以及非關(guān)系型數(shù)據(jù)庫。這種類型的數(shù)據(jù)庫操作無須使用SQL語句,數(shù)據(jù)之間的聯(lián)系也不存在關(guān)系這種概念。NOSQL數(shù)據(jù)庫與RDBMS相比的優(yōu)勢在于支持分布式運(yùn)行,運(yùn)用部署與普通硬件的方法進(jìn)行透明的節(jié)點(diǎn)擴(kuò)展。比較典型的NOSQL數(shù)據(jù)庫的數(shù)據(jù)存儲(chǔ)形式是模式自由的Key-Value,而模式自由是指使用數(shù)據(jù)庫前不再預(yù)先定義數(shù)據(jù)模型。所謂Key-Value,顧名思義是指一個(gè)鍵名對(duì)應(yīng)一個(gè)鍵值,程序在訪問value時(shí)可以直接通過訪問key來實(shí)現(xiàn),這種特性保證value的類型無須提前定義。舉例說明,在傳統(tǒng)的RDBMS中,必須先定義一張學(xué)生表,同時(shí)設(shè)置好各個(gè)字段的類型才能存放一個(gè)學(xué)生信息,如果要對(duì)學(xué)生信息進(jìn)行增刪改查等操作,就會(huì)導(dǎo)致之前使用的數(shù)據(jù)模型產(chǎn)生變動(dòng),而模式自由的數(shù)據(jù)庫無須這樣做。 本系統(tǒng)是結(jié)合了NOSQL的相關(guān)概念而設(shè)計(jì)的一個(gè)快速的數(shù)據(jù)存儲(chǔ)系統(tǒng),提供數(shù)據(jù)基本的增、刪、改、查功能,通過系統(tǒng)自動(dòng)的對(duì)數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)優(yōu)化,提高系統(tǒng)的性能,目的就是要實(shí)現(xiàn)數(shù)據(jù)高效存儲(chǔ)和查詢,以應(yīng)對(duì)如今的海量數(shù)據(jù)的處理和海量用戶請(qǐng)求,除此之外,系統(tǒng)在系統(tǒng)的容錯(cuò)性能、數(shù)據(jù)備份、數(shù)據(jù)的災(zāi)難恢復(fù)方面都做了一定的研究,提高了系統(tǒng)的穩(wěn)定性和適應(yīng)惡劣環(huán)境的能力。系統(tǒng)采用基于Linux平臺(tái)開發(fā),以C語言作為主要的設(shè)計(jì)語言,保證系統(tǒng)可移植性和靈活性。而Linux操作系統(tǒng)在服務(wù)器方面的應(yīng)用也遠(yuǎn)遠(yuǎn)的超過了其它的系統(tǒng),保證了系統(tǒng)可以被不同的用戶使用。通過本系統(tǒng),用戶能通過簡單的操作就可以數(shù)據(jù)的高效管理,同時(shí)系統(tǒng)能為用戶提供穩(wěn)定的服務(wù)。 本文研究的主題是如何快速的存儲(chǔ)和查詢數(shù)據(jù)。包括對(duì)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)的研究:主要研究的是何種數(shù)據(jù)結(jié)構(gòu)能夠保證數(shù)據(jù)簡單存儲(chǔ)并且能提供高效的存儲(chǔ)效率,同時(shí),對(duì)數(shù)據(jù)的存儲(chǔ)的位置進(jìn)行研究,即存在內(nèi)存還是存在本地硬盤;對(duì)數(shù)據(jù)查詢結(jié)構(gòu)的研究:主要研究數(shù)據(jù)以何種查詢方式,能夠提供較短的時(shí)間延時(shí),特別是應(yīng)對(duì)與大數(shù)據(jù)的時(shí)候;對(duì)內(nèi)存管理的研究:當(dāng)把所有的數(shù)據(jù)存放在內(nèi)存是,對(duì)內(nèi)存的管理就顯的尤為重要,好的內(nèi)存管理,能帶來更高的數(shù)據(jù)存儲(chǔ)效率,更高的系統(tǒng)穩(wěn)定性和可用性;應(yīng)對(duì)大量數(shù)據(jù)請(qǐng)求的研究:實(shí)際的應(yīng)用中,數(shù)據(jù)的請(qǐng)求一般都是相當(dāng)大的,提高單機(jī)的數(shù)據(jù)請(qǐng)求處理速度,是非常重要的,再好的存儲(chǔ)系統(tǒng),,不能快速的處理數(shù)據(jù)請(qǐng)求,那么,整體的存儲(chǔ)性能是比較低的;對(duì)c/s結(jié)構(gòu)的設(shè)計(jì)的研究:c/s的結(jié)構(gòu)設(shè)計(jì),能在一定程度上,減少sever端的數(shù)據(jù)處理的壓力,client和sever端的較好的協(xié)議、通信方式等,能在很大的程度上提高數(shù)據(jù)請(qǐng)求的有效率和成功率。 本文開篇敘述了研究高性能NOSQL的相關(guān)背景、目的以及意義,并對(duì)系統(tǒng)的可行性和系統(tǒng)需求進(jìn)行分析,在后續(xù)的章節(jié)中主要介紹了系統(tǒng)的模塊劃分和主要的模塊的設(shè)計(jì)方法以及相關(guān)的算法。最后,對(duì)系統(tǒng)的各個(gè)模塊做出相應(yīng)的測試。
【關(guān)鍵詞】:海量數(shù)據(jù) 快速存儲(chǔ)和快速查 NOSQL 內(nèi)存管理 Libevent
【學(xué)位授予單位】:吉林大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位授予年份】:2014
【分類號(hào)】:TP333;TP311.13
【目錄】:
- 摘要4-6
- Abstract6-11
- 第1章 緒論11-15
- 1.1 本文研究的目的和意義11-12
- 1.2 國內(nèi)外相關(guān)研究現(xiàn)狀12-13
- 1.3 本文主要研究內(nèi)容13-14
- 1.4 本文結(jié)構(gòu)安排14-15
- 第2章 相關(guān)知識(shí)基礎(chǔ)與開發(fā)工具簡介15-20
- 2.0 NOSQL 相關(guān)概念15-16
- 2.1 KEY-VALUE 相關(guān)概念16-17
- 2.2 開發(fā)平臺(tái)和開發(fā)工具簡介17-19
- 2.2.1 開發(fā)平臺(tái)17-18
- 2.2.2 開發(fā)工具18-19
- 2.3 本章小結(jié)19-20
- 第3章 需求分析20-27
- 3.1 系統(tǒng)可行性分析20-21
- 3.1.1 技術(shù)可行性分析20
- 3.1.2 經(jīng)濟(jì)可行性分析20-21
- 3.1.3 運(yùn)行環(huán)境可行性分析21
- 3.2 系統(tǒng)功能需求分析21-24
- 3.3 系統(tǒng)數(shù)據(jù)需求分析24-25
- 3.4 系統(tǒng)性能需求分析25
- 3.5 非功能性需求25-26
- 3.6 本章小結(jié)26-27
- 第4章 總體設(shè)計(jì)27-32
- 4.1 系統(tǒng)設(shè)計(jì)目標(biāo)27
- 4.2 系統(tǒng)設(shè)計(jì)內(nèi)容27-28
- 4.3 系統(tǒng)功能模塊劃分28-31
- 4.3.1 用戶操作模塊28-29
- 4.3.2 服務(wù)器處理請(qǐng)求模塊29
- 4.3.3 數(shù)據(jù)查詢模塊29
- 4.3.4 數(shù)據(jù)存儲(chǔ)模塊29-30
- 4.3.5 備份恢復(fù)模塊30
- 4.3.6 系統(tǒng)日志模塊30
- 4.3.7 配置文件模塊30-31
- 4.4 本章小結(jié)31-32
- 第5章 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)32-45
- 5.1 系統(tǒng)整體流程圖32-34
- 5.2 系統(tǒng)功能模塊的設(shè)計(jì)與實(shí)現(xiàn)34-44
- 5.2.1 用戶請(qǐng)求模塊35-36
- 5.2.2 服務(wù)器模塊36-38
- 5.2.3 數(shù)據(jù)查詢模塊38-39
- 5.2.4 數(shù)據(jù)存儲(chǔ)模塊39-42
- 5.2.5 系統(tǒng)日志模塊42
- 5.2.6 備份和恢復(fù)模塊42-44
- 5.3 安全設(shè)計(jì)44
- 5.3.1 網(wǎng)絡(luò)系統(tǒng)安全設(shè)計(jì)44
- 5.3.2 軟件系統(tǒng)安全設(shè)計(jì)44
- 5.4 本章小結(jié)44-45
- 第6章 系統(tǒng)測試45-51
- 6.1 系統(tǒng)測試概述45-46
- 6.1.1 系統(tǒng)測試步驟45-46
- 6.1.2 測試方法與技術(shù)46
- 6.2 系統(tǒng)模塊測試46-50
- 6.2.1 Client 模塊測試46-47
- 6.2.2 Server 模塊測試47-48
- 6.2.3 Data 模塊測試48-50
- 6.3 系統(tǒng)安裝部署50
- 6.4 本章小結(jié)50-51
- 第7章 結(jié)論與展望51-52
- 參考文獻(xiàn)52-54
- 作者簡介54-55
- 致謝55
【參考文獻(xiàn)】
中國期刊全文數(shù)據(jù)庫 前10條
1 張華強(qiáng);;關(guān)系型數(shù)據(jù)庫與NoSQL數(shù)據(jù)庫[J];電腦知識(shí)與技術(shù);2011年20期
2 黃賢立;;NoSQL非關(guān)系型數(shù)據(jù)庫的發(fā)展及應(yīng)用初探[J];福建電腦;2010年07期
3 何文;;改進(jìn)的key/value數(shù)據(jù)存儲(chǔ)設(shè)計(jì)方案[J];東北電力大學(xué)學(xué)報(bào);2012年04期
4 李馮筱;羅高松;;NoSQL理論體系及應(yīng)用[J];電信科學(xué);2012年12期
5 蘇翔宇;;Key-Value數(shù)據(jù)庫及其應(yīng)用研究[J];電腦知識(shí)與技術(shù);2012年05期
6 韓峰;閆振興;王潔萍;李海波;宋杰;;基于Key-Value的云數(shù)據(jù)管理應(yīng)用接口標(biāo)準(zhǔn)化研究[J];信息技術(shù)與標(biāo)準(zhǔn)化;2011年12期
7 劉均;;基于MVC模型的Web數(shù)據(jù)庫應(yīng)用編程研究[J];煤炭技術(shù);2010年11期
8 盧冬海;何先波;;淺析NoSQL數(shù)據(jù)庫[J];中國西部科技;2011年02期
9 徐娟娟;朱成亮;;NOSQL在WEB日志分析中的應(yīng)用[J];中國新技術(shù)新產(chǎn)品;2011年10期
10 肖紅玉;陳海;黃靜;;Key-Value數(shù)據(jù)庫的研究與應(yīng)用[J];自動(dòng)化與儀器儀表;2010年04期
本文編號(hào):1078668
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/1078668.html