



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
本文格式為Word版,下載可任意編輯——淺談NoSQL數(shù)據(jù)庫的數(shù)據(jù)存儲摘要本文通過對NoSQL數(shù)據(jù)庫的概念與特性進行簡要的闡述,分析其在數(shù)據(jù)存儲方面的優(yōu)勢與不足,并結(jié)合其發(fā)展歷程與目前的應用狀況對這種新的數(shù)據(jù)庫形式進行簡要探討。
關(guān)鍵詞NoSQL數(shù)據(jù)庫;數(shù)據(jù)存儲;非關(guān)系型數(shù)據(jù)庫
1NoSQL數(shù)據(jù)庫的概念與特性
所謂NoSQL數(shù)據(jù)庫,即NotOnlySQL(不僅僅是SQL)的縮寫。傳統(tǒng)SQL數(shù)據(jù)庫為關(guān)系型的數(shù)據(jù)存儲,需要嚴格的數(shù)據(jù)模式。而NoSQL數(shù)據(jù)庫提倡非關(guān)系型的數(shù)據(jù)存儲,都沒有模式。NoSQL數(shù)據(jù)庫打破了曾經(jīng)占據(jù)主導地位的關(guān)系型數(shù)據(jù)庫壟斷,不需要事先設(shè)計表結(jié)構(gòu)便能夠輕易實現(xiàn)數(shù)據(jù)的非結(jié)構(gòu)存儲。
除了非關(guān)系型這一特點,NoSQL還具有分布式、API形式簡單、適合大數(shù)據(jù)存儲、無架構(gòu)等其他特點。傳統(tǒng)關(guān)系型數(shù)據(jù)庫經(jīng)過多年發(fā)展,雖已健全成熟,但仍舊有受限于固有模式而無法優(yōu)化的缺陷。而NoSQL面對這些缺點,能夠表現(xiàn)出異常優(yōu)秀的性能——這也就是NoSQL自提出后就一直受到廣泛關(guān)注的原因[1]。
2NoSQL的數(shù)據(jù)存儲
2.1以Hbase為代表的列存儲類型
列存儲類型,顧名思義,是依照列來存儲數(shù)據(jù)的。與之相對的,傳統(tǒng)關(guān)系型數(shù)據(jù)庫大都使用行存儲方式。圖中顯示兩種數(shù)據(jù)存儲的模式。左為傳統(tǒng)型行存儲模式,右為列存儲模式。
存儲結(jié)果如下(上為行存儲模式,下為列存儲模式)。
顯而易見,在需要讀取同一列數(shù)據(jù)的場合下,列存儲類型能表現(xiàn)出十分優(yōu)異的性能。此外,列式數(shù)據(jù)庫的空間利用率要優(yōu)于行式數(shù)據(jù)庫,原因在于列式存儲更有利于進行空間壓縮操作,十分適合稀疏數(shù)據(jù)的存儲。相較于小量數(shù)據(jù),列式存儲更適合TB級及以上的大數(shù)據(jù)存儲。但它的數(shù)據(jù)由于分布較廣,并不適合大范圍查詢。
Hbase數(shù)據(jù)庫為列存儲類型數(shù)據(jù)庫的代表,除此以外還有Cassandra、Hypertable等。往往被使用在數(shù)據(jù)量較大且還會持續(xù)增長的場合之中。
2.2以Neo4J為代表的圖存儲類型
圖是離散數(shù)學中的概念。在數(shù)據(jù)結(jié)構(gòu)中,圖形結(jié)構(gòu)也是四種基本規(guī)律結(jié)構(gòu)之一。在關(guān)系型數(shù)據(jù)庫時代,人們就試圖將圖投入到數(shù)據(jù)庫中使用,卻面臨著設(shè)計笨拙、性能低下的窘境。而基于NoSQL理念,以Neo4J為代表的圖形數(shù)據(jù)庫打破了這一限制,解決了長久以來的問題。
Neo4J中的圖沿用了數(shù)據(jù)結(jié)構(gòu)中的概念,保存了點和邊的基本概念。其中,點代表實體,邊代表實體之間的關(guān)系。所有的實體作為一個個點,散亂地分布在圖上,存在特定關(guān)系的實體之間用邊相連。其儲存方式實現(xiàn)類似鄰接表,每個節(jié)點通過指針指向相鄰節(jié)點,且有單獨的邊集和點集。這一模式有利于從任何一個節(jié)點出發(fā)都可以遍歷整個圖,查找速度十分快,且只要沿著關(guān)系邊集就可查找,時間繁雜度不受總數(shù)據(jù)量的影響。
需要注意的是,圖存儲結(jié)構(gòu)受到數(shù)據(jù)關(guān)系特點的影響,在那些關(guān)系繁雜且緊湊的數(shù)據(jù)中有著良好的性能,但對于普通的大數(shù)據(jù)則會有反效果。除了Neo4J外,常用的還有FlockDB、ArangoDB等數(shù)據(jù)庫。
2.3以Redis存儲為代表的鍵值存儲類型
鍵值存儲類型即Key-Value存儲類型。在這種模式下,所有的數(shù)據(jù)以鍵值對的形式存入數(shù)據(jù)庫中,并且以這種形式繼續(xù)支持后續(xù)的操作。
在鍵值存儲類型中,每個數(shù)據(jù)值(Value)都對應一個關(guān)鍵字,即Key,用于索引和查找。在操作過程中只能通過鍵來查詢,不能使用值來查詢。每個數(shù)據(jù)也是相對獨立的,兩個鍵之間沒有關(guān)聯(lián)。
尋常,鍵值存儲類型只適用于那些關(guān)系簡單的數(shù)據(jù),適用面較狹窄。但是在其適用范圍內(nèi),表現(xiàn)出極高的IO性能。
Redis、MemcacheDB、LevelDB是此類數(shù)據(jù)庫的代表,常用于用戶信息存儲方面。
2.4其他類型
除去上述三種類型,還有以MongoDB為代表的文檔存儲類型,其數(shù)據(jù)以.json和.xml格式的文檔存儲,可以任意存儲讀取數(shù)據(jù)而不受數(shù)據(jù)關(guān)系和規(guī)模的約束;以db4o為代表的對象存儲類型,其語法類似c++等面向?qū)ο笳Z言,通過對象來保存數(shù)據(jù);以ElasticSearch為代表的全文探尋引擎,主要針對傳統(tǒng)關(guān)系型數(shù)據(jù)全文探尋功能低下而產(chǎn)生的優(yōu)化數(shù)據(jù)庫,等等[2]。
3NoSQL數(shù)據(jù)庫存儲數(shù)據(jù)的發(fā)展進程與現(xiàn)狀
最早發(fā)現(xiàn)關(guān)系型數(shù)據(jù)庫限制的是谷歌公司,為解決自身發(fā)展面臨的技術(shù)問題,它最早開發(fā)了GFS,順利戰(zhàn)勝了關(guān)系型數(shù)據(jù)庫技術(shù)的固有矛盾,后來為使得半結(jié)構(gòu)化數(shù)據(jù)能夠更加便捷地進行存儲,谷歌公司又相繼開發(fā)出BigTable、MapReduce等數(shù)據(jù)庫類型。國內(nèi)NoSQL數(shù)據(jù)庫的領(lǐng)軍者主要是騰訊公司及其他眾多的新型互聯(lián)網(wǎng)公司。
目前為止,市場上共有二十多種NoSQL數(shù)據(jù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 勞動合同與勞務合同范本
- 二年級口算題目練習冊100道
- 北京家具租賃合同范本
- 中餐店后廚合同范本
- 賣車合同銷售合同范本
- 衛(wèi)星導航論文合同范例
- 全肥料銷售合同范本
- 保定物業(yè)備案合同范本
- 單位豬肉采購合同范本
- 北京金店轉(zhuǎn)讓合同范例
- 鍋爐節(jié)能管理制度
- 2023年道路交通安全法實施條例
- 市政工程標準施工組織設(shè)計方案
- 馬爾文粒度儀MS2000原理及應用
- 護理不良事件管理、上報制度及流程
- GB 9706.224-2021醫(yī)用電氣設(shè)備第2-24部分:輸液泵和輸液控制器的基本安全和基本性能專用要求
- 鋼棧橋施工與方案
- 《藝術(shù)學概論》課件-第一章
- 子宮內(nèi)膜異位癥診療指南完整課件
- 動物寄生蟲病學課件
- 人教版小學三年級下冊數(shù)學應用題專項練習題40614
評論
0/150
提交評論