付費(fèi)下載
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、關(guān)系型和非關(guān)系型數(shù)據(jù)庫的區(qū)別當(dāng)前主流的關(guān)系型數(shù)據(jù)庫有Oracle、DB2、MicrosoftSQLServer、MicrosoftAccess、MySQL等。非關(guān)系型數(shù)據(jù)庫有NoSql、Cloudant。nosql和關(guān)系型數(shù)據(jù)庫比較?優(yōu)點(diǎn):1)成本:nosql數(shù)據(jù)庫簡單易部署,基本都是開源軟件,不需要像使用oracle那樣花費(fèi)大量成本購買使用,相比關(guān)系型數(shù)據(jù)庫價(jià)格便宜。2)查詢速度:nosql數(shù)據(jù)庫將數(shù)據(jù)存儲(chǔ)于緩存之中,關(guān)系型數(shù)據(jù)庫將數(shù)據(jù)存儲(chǔ)在硬盤中,自然查詢速度遠(yuǎn)不及nosql數(shù)據(jù)庫。3)存儲(chǔ)數(shù)據(jù)的格式:nosql的存儲(chǔ)格式是key,value形式、文檔形式、圖片形式等等,所以可以存儲(chǔ)基礎(chǔ)類
2、型以及對(duì)象或者是集合等各種格式,而數(shù)據(jù)庫則只支持基礎(chǔ)類型。4)擴(kuò)展性:關(guān)系型數(shù)據(jù)庫有類似join這樣的多表查詢機(jī)制的限制導(dǎo)致擴(kuò)展很艱難。缺點(diǎn):1)維護(hù)的工具和資料有限,因?yàn)閚osql是屬于新的技術(shù),不能和關(guān)系型數(shù)據(jù)庫10幾年的技術(shù)同日而語。2)不提供對(duì)sql的支持,如果不支持sql這樣的工業(yè)標(biāo)準(zhǔn),將產(chǎn)生一定用戶的學(xué)習(xí)和使用成本。3)不提供關(guān)系型數(shù)據(jù)庫對(duì)事物的處理。非關(guān)系型數(shù)據(jù)庫的優(yōu)勢(shì):1.性能NOSQL是基于鍵值對(duì)的,可以想象成表中的主鍵和值的對(duì)應(yīng)關(guān)系,而且不需要經(jīng)過SQL層的解析,所以性能非常高。2.可擴(kuò)展性同樣也是因?yàn)榛阪I值對(duì),數(shù)據(jù)之間沒有耦合性,所以非常容易水平擴(kuò)展。關(guān)系型數(shù)據(jù)庫的優(yōu)勢(shì)
3、:1.復(fù)雜查詢可以用SQL語句方便的在一個(gè)表以及多個(gè)表之間做非常復(fù)雜的數(shù)據(jù)查詢。2.事務(wù)支持使得對(duì)于安全性能很高的數(shù)據(jù)訪問要求得以實(shí)現(xiàn)。對(duì)于這兩類數(shù)據(jù)庫,對(duì)方的優(yōu)勢(shì)就是自己的弱勢(shì),反之亦然。關(guān)系型數(shù)據(jù)庫把所有的數(shù)據(jù)都通過行和列的二元表現(xiàn)形式表示出來。關(guān)系型數(shù)據(jù)庫的優(yōu)勢(shì):1 .保持?jǐn)?shù)據(jù)的一致性(事務(wù)處理)2 .由于以標(biāo)準(zhǔn)化為前提,數(shù)據(jù)更新的開銷很?。ㄏ嗤淖侄位旧隙贾挥幸惶帲? .可以進(jìn)行Join等復(fù)雜查詢其中能夠保持?jǐn)?shù)據(jù)的一致性是關(guān)系型數(shù)據(jù)庫的最大優(yōu)勢(shì)。關(guān)系型數(shù)據(jù)庫的不足:不擅長的處理1 .大量數(shù)據(jù)的寫入處理2 .為有數(shù)據(jù)更新的表做索引或表結(jié)構(gòu)(schema)變更3 .字段不固定時(shí)應(yīng)用4 .
4、對(duì)簡單查詢需要快速返回結(jié)果的處理-大量數(shù)據(jù)的寫入處理讀寫集中在一個(gè)數(shù)據(jù)庫上讓數(shù)據(jù)庫不堪重負(fù),大部分網(wǎng)站已使用主從復(fù)制技術(shù)實(shí)現(xiàn)讀寫分離,以提高讀寫性能和讀庫的可擴(kuò)展性。所以在進(jìn)行大量數(shù)據(jù)操作時(shí),會(huì)使用數(shù)據(jù)庫主從模式。數(shù)據(jù)的寫入由主數(shù)據(jù)庫負(fù)責(zé),數(shù)據(jù)的讀入由從數(shù)據(jù)庫負(fù)責(zé),可以比較簡單地通過增加從數(shù)據(jù)庫來實(shí)現(xiàn)規(guī)?;?,但是數(shù)據(jù)的寫入?yún)s完全沒有簡單的方法來解決規(guī)模化問題。第一,要想將數(shù)據(jù)的寫入規(guī)模化,可以考慮把主數(shù)據(jù)庫從一臺(tái)增加到兩臺(tái),作為互相關(guān)聯(lián)復(fù)制的二元主數(shù)據(jù)庫使用,確實(shí)這樣可以把每臺(tái)主數(shù)據(jù)庫的負(fù)荷減少一半,但是更新處理會(huì)發(fā)生沖突,可能會(huì)造成數(shù)據(jù)的不一致,為了避免這樣的問題,需要把對(duì)每個(gè)表的請(qǐng)求分別分
5、配給合適的主數(shù)據(jù)庫來處理。相同的放握在兩臺(tái)I-.我燃AI.姓理的謫怒么辦呢?第二,可以考慮把數(shù)據(jù)庫分割開來,分別放在不同的數(shù)據(jù)庫服務(wù)器上,比如將不同的表放在不同的數(shù)據(jù)庫服務(wù)器上,數(shù)據(jù)庫分割可以減少每臺(tái)數(shù)據(jù)庫服務(wù)器上的數(shù)據(jù)量,以便減少硬盤IO的輸入、輸出處理,實(shí)現(xiàn)內(nèi)存上的高速處理。但是由于分別存儲(chǔ)字不同服務(wù)器上的表之間無法進(jìn)行Join處理,數(shù)據(jù)庫分割的時(shí)候就需要預(yù)先考慮這些問題,數(shù)據(jù)庫分割之后,如果一定要進(jìn)行Join處理,就必須要在程序中進(jìn)行關(guān)聯(lián),這是非常困難的。環(huán)|卡A.C的寫入處理花達(dá)臺(tái)上枇據(jù)昨上進(jìn)行WF點(diǎn)的寫入處理在意臺(tái)上數(shù)州庠上進(jìn)行國二元主數(shù)據(jù)理間蝎的解決辦法用鼠科用介剖"蘇器
6、I也A去B以蘇器上_&C表D不魄進(jìn)行J3N處理-為有數(shù)據(jù)更新的表做索引或表結(jié)構(gòu)變更在使用關(guān)系型數(shù)據(jù)庫時(shí),為了加快查詢速度需要?jiǎng)?chuàng)建索引,為了增加必要的字段就一定要改變表結(jié)構(gòu),為了進(jìn)行這些處理,需要對(duì)表進(jìn)行共享鎖定,這期間數(shù)據(jù)變更、更新、插入、刪除等都是無法進(jìn)行的。如果需要進(jìn)行一些耗時(shí)操作,例如為數(shù)據(jù)量比較大的表創(chuàng)建索引或是變更其表結(jié)構(gòu),就需要特別注意,長時(shí)間內(nèi)數(shù)據(jù)可能無法進(jìn)行更新。加的整筵期制名共享軾耳他娃搜田熱對(duì)數(shù)據(jù)遂行淀取但是不髓修改數(shù)提耳他隹接無棉時(shí)敦?fù)?jù)出行讀跑和修改攥作寫紙-字段不固定時(shí)的應(yīng)用如果字段不固定,利用關(guān)系型數(shù)據(jù)庫也是比較困難的,有人會(huì)說,需要的時(shí)候加個(gè)字段就可以了,這
7、樣的方法也不是不可以,但在實(shí)際運(yùn)用中每次都進(jìn)行反復(fù)的表結(jié)構(gòu)變更是非常痛苦的。你也可以預(yù)先設(shè)定大量的預(yù)備字段,但這樣的話,時(shí)間一長很容易弄不清除字段和數(shù)據(jù)的對(duì)應(yīng)狀態(tài),即哪個(gè)字段保存有哪些數(shù)據(jù)。-對(duì)簡單查詢需要快速返回結(jié)果的處理(這里的簡單”指的是沒有復(fù)雜的查詢條件)這一點(diǎn)稱不上是缺點(diǎn),但不管怎樣,關(guān)系型數(shù)據(jù)庫并不擅長對(duì)簡單的查詢快速返回結(jié)果,因?yàn)殛P(guān)系型數(shù)據(jù)庫是使用專門的sql語言進(jìn)行數(shù)據(jù)讀取的,它需要對(duì)sql與越南進(jìn)行解析,同時(shí)還有對(duì)表的鎖定和解鎖等這樣的額外開銷,這里并不是說關(guān)系型數(shù)據(jù)庫的速度太慢,而只是想告訴大家若希望對(duì)簡單查詢進(jìn)行高速處理,則沒有必要非使用關(guān)系型數(shù)據(jù)庫不可。NoSQL數(shù)據(jù)庫
8、關(guān)系型數(shù)據(jù)庫應(yīng)用廣泛,能進(jìn)行事務(wù)處理和表連接等復(fù)雜查詢。相對(duì)地,NoSQL數(shù)據(jù)庫只應(yīng)用在特定領(lǐng)域,基本上不進(jìn)行復(fù)雜的處理,但它恰恰彌補(bǔ)了之前所列舉的關(guān)系型數(shù)據(jù)庫的不足之處。優(yōu)點(diǎn):易于數(shù)據(jù)的分散各個(gè)數(shù)據(jù)之間存在關(guān)聯(lián)是關(guān)系型數(shù)據(jù)庫得名的主要原因,為了進(jìn)行join處理,關(guān)系型數(shù)據(jù)庫不得不把數(shù)據(jù)存儲(chǔ)在同一個(gè)服務(wù)器內(nèi),這不利于數(shù)據(jù)的分散,這也是關(guān)系型數(shù)據(jù)庫并不擅長大數(shù)據(jù)量的寫入處理的原因。相反NoSQL數(shù)據(jù)庫原本就不支持Join處理,各個(gè)數(shù)據(jù)都是獨(dú)立設(shè)計(jì)的,很容易把數(shù)據(jù)分散在多個(gè)服務(wù)器上,故減少了每個(gè)服務(wù)器上的數(shù)據(jù)量,即使要處理大量數(shù)據(jù)的寫入,也變得更加容易,數(shù)據(jù)的讀入操作當(dāng)然也同樣容易。典型的NoSQ
9、L數(shù)據(jù)庫臨時(shí)性鍵值存儲(chǔ)(memcached、Redis)、永久性鍵值存儲(chǔ)(ROMA、Redis)、面向文檔的數(shù)據(jù)庫(MongoDB、CouchDB)、面向列的數(shù)據(jù)庫(Cassandra、HBase)一、鍵值存儲(chǔ)它的數(shù)據(jù)是以鍵值的形式存儲(chǔ)的,雖然它的速度非??欤旧现荒芡ㄟ^鍵的完全一致查詢獲取數(shù)據(jù),根據(jù)數(shù)據(jù)的保存方式可以分為臨時(shí)性、永久性和兩者兼具三種。(1)臨時(shí)性所謂臨時(shí)性就是數(shù)據(jù)有可能丟失,memcached把所有數(shù)據(jù)都保存在內(nèi)存中,這樣保存和讀取的速度非??欤钱?dāng)memcached停止時(shí),數(shù)據(jù)就不存在了。由于數(shù)據(jù)保存在內(nèi)存中,所以無法操作超出內(nèi)存容量的數(shù)據(jù),舊數(shù)據(jù)會(huì)丟失??偨Y(jié)來說:。
10、在內(nèi)存中保存數(shù)據(jù)??梢赃M(jìn)行非??焖俚谋4婧妥x取處理。數(shù)據(jù)有可能丟失(2)永久性所謂永久性就是數(shù)據(jù)不會(huì)丟失,這里的鍵值存儲(chǔ)是把數(shù)據(jù)保存在硬盤上,與臨時(shí)性比起來,由于必然要發(fā)生對(duì)硬盤的IO操作,所以性能上還是有差距的,但數(shù)據(jù)不會(huì)丟失是它最大的優(yōu)勢(shì)??偨Y(jié)來說:。在硬盤上保存數(shù)據(jù)可以進(jìn)行非??焖俚谋4婧妥x取處理(但無法與memcached相比)。數(shù)據(jù)不會(huì)丟失(3)兩者兼?zhèn)銻edis屬于這種類型。Redis有些特殊,臨時(shí)性和永久性兼具。Redis首先把數(shù)據(jù)保存在內(nèi)存中,在滿足特定條件(默認(rèn)是15分鐘一次以上,5分鐘內(nèi)10個(gè)以上,1分鐘內(nèi)10000個(gè)以上的鍵發(fā)生變更)的時(shí)候?qū)?shù)據(jù)寫入到硬盤中,這樣既確保了
11、內(nèi)存中數(shù)據(jù)的處理速度,又可以通過寫入硬盤來保證數(shù)據(jù)的永久性,這種類型的數(shù)據(jù)庫特別適合處理數(shù)組類型的數(shù)據(jù)。總結(jié)來說:。同時(shí)在內(nèi)存和硬盤上保存數(shù)據(jù)??梢赃M(jìn)行非??焖俚谋4婧妥x取處理。保存在硬盤上的數(shù)據(jù)不會(huì)消失(可以恢復(fù))。適合于處理數(shù)組類型的數(shù)據(jù)二、面向文檔的數(shù)據(jù)庫MongoDB、CouchDB屬于這種類型,它們屬于NoSQL數(shù)據(jù)庫,但與鍵值存儲(chǔ)相異。(1)不定義表結(jié)構(gòu)即使不定義表結(jié)構(gòu),也可以像定義了表結(jié)構(gòu)一樣使用,還省去了變更表結(jié)構(gòu)的麻煩。(2)可以使用復(fù)雜的查詢條件跟鍵值存儲(chǔ)不同的是,面向文檔的數(shù)據(jù)庫可以通過復(fù)雜的查詢條件來獲取數(shù)據(jù),雖然不具備事務(wù)處理和Join這些關(guān)系型數(shù)據(jù)庫所具有的處理能力
12、,但初次以外的其他處理基本上都能實(shí)現(xiàn)。三、面向列的數(shù)據(jù)庫Cassandra>HBae、HyperTable屬于這種類型,由于近年來數(shù)據(jù)量出現(xiàn)爆發(fā)性增長,這種類型的NoSQL數(shù)據(jù)庫尤其引入注目。普通的關(guān)系型數(shù)據(jù)庫都是以行為單位來存儲(chǔ)數(shù)據(jù)的,擅長以行為單位的讀入處理,比如特定條件數(shù)據(jù)的獲取。因此,關(guān)系型數(shù)據(jù)庫也被成為面向行的數(shù)據(jù)庫。相反,面向列的數(shù)據(jù)庫是以列為單位來存儲(chǔ)數(shù)據(jù)的,擅長以列為單位讀入數(shù)據(jù)。裘卜3南向行的數(shù)梅事和畫前列的射拱庠比較3而向打的裝柒常球少打強(qiáng)行旗覽熱更新切向外的靠出率以到為單盤時(shí)大艮析步既砰而行試取.哲雷甫寸的特定利h同哨更新面向列的數(shù)據(jù)庫具有搞擴(kuò)展性,即使數(shù)據(jù)增加也不會(huì)降低相應(yīng)的處理速度(特別是寫入
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 保健拔罐師變更管理評(píng)優(yōu)考核試卷含答案
- 空調(diào)器壓縮機(jī)裝配工風(fēng)險(xiǎn)評(píng)估競賽考核試卷含答案
- 工藝畫制作工崗前工作技能考核試卷含答案
- 道路貨運(yùn)汽車駕駛員崗前沖突解決考核試卷含答案
- 2025年絲絹紡織及精加工產(chǎn)品項(xiàng)目發(fā)展計(jì)劃
- 2025年閑置物品調(diào)劑回收項(xiàng)目發(fā)展計(jì)劃
- 班委培訓(xùn)職責(zé)
- 2026北京密云初三上學(xué)期期末英語試卷和答案
- 2026年視頻會(huì)議攝像頭項(xiàng)目項(xiàng)目建議書
- 2025年江蘇省宿遷市中考化學(xué)真題卷含答案解析
- 廣東省花都亞熱帶型巖溶地區(qū)地基處理與樁基礎(chǔ)施工技術(shù):難題破解與方案優(yōu)化
- 生鮮乳安全生產(chǎn)培訓(xùn)資料課件
- GB 4053.3-2025固定式金屬梯及平臺(tái)安全要求第3部分:工業(yè)防護(hù)欄桿及平臺(tái)
- YY/T 1846-2022內(nèi)窺鏡手術(shù)器械重復(fù)性使用腹部沖吸器
- GB/T 15390-2005工程用焊接結(jié)構(gòu)彎板鏈、附件和鏈輪
- GA 1016-2012槍支(彈藥)庫室風(fēng)險(xiǎn)等級(jí)劃分與安全防范要求
- 學(xué)生傷害事故處理辦法及案例分析
- 安全管理人員紅頭任命文件
- 6.項(xiàng)目成員工作負(fù)荷統(tǒng)計(jì)表
- 砂漿拉伸粘結(jié)強(qiáng)度強(qiáng)度試驗(yàn)記錄和報(bào)告
- 220kv輸電線路工程施工組織設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論