下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、關(guān)系型與非關(guān)系型數(shù)據(jù)庫( 3)胡經(jīng)國(guó)5、非關(guān)系型數(shù)據(jù)庫共同特點(diǎn)雖然 NoSQL 并沒有一個(gè)明確的范圍和定義,但是它們都普遍具有以下一些共同特點(diǎn):、不需要預(yù)定義模式不需要事先定義數(shù)據(jù)模式和預(yù)定義表結(jié)構(gòu)。數(shù)據(jù)中的每條記錄都可能有不同的屬性和格式。當(dāng)插入數(shù)據(jù)時(shí),并不需要預(yù)先定義它們的模式。、無共享架構(gòu)相對(duì)于將所有數(shù)據(jù)存放于存儲(chǔ)區(qū)域網(wǎng)絡(luò)中的全共享架構(gòu), NoSQL 往往將數(shù) 據(jù)劃分后存儲(chǔ)在各個(gè)本地服務(wù)器上。因?yàn)?,從本地磁盤讀取數(shù)據(jù)的性能往往好 于通過網(wǎng)絡(luò)傳輸讀取數(shù)據(jù)的性能,從而提高了系統(tǒng)的性能。、彈性可擴(kuò)展可以在系統(tǒng)運(yùn)行的時(shí)候,動(dòng)態(tài)增加或者刪除節(jié)點(diǎn)。不需要停機(jī)維護(hù),數(shù)據(jù)可以自動(dòng)遷移。、分區(qū)相對(duì)于將數(shù)據(jù)
2、存放于同一個(gè)節(jié)點(diǎn), NoSQL 數(shù)據(jù)庫需要將數(shù)據(jù)進(jìn)行分區(qū),將記錄分散在多個(gè)節(jié)點(diǎn)上面。并且,通常分區(qū)的同時(shí)還要做復(fù)制。這樣,既提高了并行性能,又能保證沒有單點(diǎn)失效的問題。、異步復(fù)制與 RAID (Redundant Arrays of Independent Disks ,磁盤陣列)存儲(chǔ)系統(tǒng)不同的是, NoSQL 中的復(fù)制,往往是基于日志的異步復(fù)制。這樣,數(shù)據(jù)就可以盡快地寫入一個(gè)節(jié)點(diǎn),而不會(huì)被網(wǎng)絡(luò)傳輸引起遲延。其缺點(diǎn)是并不總是能保證一致性。這樣的方式在出現(xiàn)故障的時(shí)候,可能會(huì)丟失少量的數(shù)據(jù)。鏈接:異步復(fù)制異步復(fù)制技術(shù)是指在寫被響應(yīng)到主機(jī)之前,數(shù)據(jù)必須被承諾存儲(chǔ)在單獨(dú)的 一級(jí)站點(diǎn)而不是存儲(chǔ)在二級(jí)站點(diǎn)
3、。當(dāng)網(wǎng)絡(luò)容量允許時(shí),數(shù)據(jù)傳向二級(jí)站點(diǎn)。、 BASE相對(duì)于事務(wù)嚴(yán)格的 ACID 特性, NoSQL 數(shù)據(jù)庫保證的是BASE 特性。BASE 是最終一致性和軟事務(wù)。鏈接:BASE:最終一致性和軟事務(wù)所謂最終一致性,就是不保證在任意時(shí)刻任意節(jié)點(diǎn)上的同一份數(shù)據(jù)都是相同的;但是隨著時(shí)間的遷移,不同節(jié)點(diǎn)上的同一份數(shù)據(jù)總是在向趨于相同的方向變化。也可以簡(jiǎn)單的理解為:在一段時(shí)間后,節(jié)點(diǎn)間的數(shù)據(jù)會(huì)最終會(huì)達(dá)到一致狀態(tài)。軟事務(wù)(待查)鏈接: ACIDACID ,是指數(shù)據(jù)庫事務(wù)正確執(zhí)行的四個(gè)基本要素的英文的縮寫,包含:原子性(Atomicity )、一致性(Consistency)、隔離性(Isolation)、持久
4、性 (Durability)。事務(wù)(Transaction)正確執(zhí)行,必需要具有這四種特性,否則在事務(wù)過程(Transaction processing)當(dāng)中無法保證數(shù)據(jù)的正確性,交易過程極 可能達(dá)不到交易方的要求。原子性 :整個(gè)事務(wù)中的所有操作,要么全部完成,要么全部不完成,不可能停滯在中間某個(gè)環(huán)節(jié)。事務(wù)在執(zhí)行過程中發(fā)生錯(cuò)誤,會(huì)被回滾( Rollback)到事務(wù)開始前的狀態(tài),就像這個(gè)事務(wù)從來沒有執(zhí)行過一樣。一致性 :在事務(wù)開始之前和事務(wù)結(jié)束以后,數(shù)據(jù)庫的完整性約束沒有被破 壞。隔離性:在隔離狀態(tài)執(zhí)行事務(wù),使它們好像是系統(tǒng)在給定時(shí)間內(nèi)執(zhí)行的唯一操作。持久性:在事務(wù)完成以后,該事務(wù)對(duì)數(shù)據(jù)庫所作的
5、更改便被持久地保存在數(shù)據(jù)庫中,而不會(huì)被回滾。目前主要有兩種方式實(shí)現(xiàn)ACID :第一種是Write Ahead Logging (預(yù)寫日志),也就是日志式的方式;第二種是Shadow Paging (影子分頁)。鏈接: Write Ahead LoggingWrite Ahead Logging (WAL ,預(yù)寫日志)技術(shù),是數(shù)據(jù)庫中一種高效的日志算法。對(duì)于非內(nèi)存數(shù)據(jù)庫而言,磁盤I/O 操作是數(shù)據(jù)庫效率的一大瓶頸。在相同的數(shù)據(jù)量下,采用 WAL 日志的數(shù)據(jù)庫系統(tǒng)在事務(wù)提交時(shí),磁盤寫操作只有傳統(tǒng)的回滾日志的一半左右,大大提高了數(shù)據(jù)庫磁盤I/O 操作的效率,從而提高了數(shù)據(jù)庫的性能。鏈接: Shado
6、w Paging相對(duì)于 WAL技術(shù),Shadow Paging (SP,影子分頁)技術(shù)實(shí)現(xiàn)起來比較簡(jiǎn) 單,消除了寫日志記錄的開銷,恢復(fù)的速度也快。Shadow Paging的缺點(diǎn)在于事務(wù)提交時(shí)要輸出多個(gè)塊。這使得提交的開銷很大,而且以塊為單位,很難應(yīng)用到允許多個(gè)事務(wù)并發(fā)執(zhí)行的情況 這是它致命的缺點(diǎn)。NoSQL 數(shù)據(jù)庫并沒有一個(gè)統(tǒng)一的架構(gòu);兩種 NoSQL 數(shù)據(jù)庫之間的不同,甚至遠(yuǎn)遠(yuǎn)超過兩種關(guān)系型數(shù)據(jù)庫的不同??梢哉f, NoSQL 各有所長(zhǎng)。成功的NoSQL 必然特別適用于某些場(chǎng)合或者某些應(yīng)用;在這些場(chǎng)合中會(huì)遠(yuǎn)遠(yuǎn)勝過關(guān)系型數(shù)據(jù)庫和其它的 NoSQL 。6、非關(guān)系型數(shù)據(jù)庫使用范圍NoSQL 數(shù)據(jù)庫
7、沒有標(biāo)準(zhǔn)的查詢語言( SQL ),因此進(jìn)行數(shù)據(jù)庫查詢需要制定數(shù)據(jù)模型。許多 NoSQL 數(shù)據(jù)庫都有REST 式的數(shù)據(jù)接口或者查詢 API 。如:Neo4J, InfoGrid , Infinite Graph。因此,NoSQL數(shù)據(jù)庫在以下的這幾種情況下 比較適用:、數(shù)據(jù)模型比較簡(jiǎn)單;、需要靈活性更強(qiáng)的IT系統(tǒng);、對(duì)數(shù)據(jù)庫性能要求較高;、不需要高度的數(shù)據(jù)一致性;、對(duì)于給定key (鍵),比較容易映射復(fù)雜值的環(huán)境。鏈接:數(shù)據(jù)接口接口可以比喻為一個(gè)通道,兩個(gè)相互獨(dú)立的程序,通過這個(gè)接口通道,實(shí)現(xiàn)數(shù)據(jù)傳輸,信息交流。當(dāng)然這個(gè)兩個(gè)程序都必須遵守這個(gè)接口規(guī)定的一些標(biāo) 準(zhǔn),只有共同遵守這個(gè)接口標(biāo)準(zhǔn),才能進(jìn)行
8、正常的數(shù)據(jù)傳輸和通信。鏈接:復(fù)雜值Javascript (一種直譯式腳本語言)的數(shù)據(jù)類型可以分為兩種:原始類型和 引用類型。原始類型也稱為基本類型或簡(jiǎn)單類型;而引用類型也稱為復(fù)雜類 型。與此相對(duì)應(yīng),它們的值也分別被稱為原始值和復(fù)雜值。其中,復(fù)雜值可以由很多不同類型的 Javascript 對(duì)象組成。復(fù)雜對(duì)象在內(nèi)存中的大小是未知的,因?yàn)閺?fù)雜對(duì)象可以包含任何值,而不是一個(gè)特定的已知值。7、 NoSQL 數(shù)據(jù)庫優(yōu)勢(shì)劣勢(shì)分析、 NoSQL 數(shù)據(jù)庫優(yōu)勢(shì)分析NoSQL 數(shù)據(jù)庫主要有以下優(yōu)勢(shì):、擴(kuò)展簡(jiǎn)單典型例子是Cassandra(一套開源分布式 NoSQL數(shù)據(jù)庫系統(tǒng))。由于其架 構(gòu)類似于經(jīng)典的P2P (對(duì)
9、等計(jì)算或?qū)Φ染W(wǎng)絡(luò)),因而能夠通過簡(jiǎn)單添加新的節(jié)點(diǎn)來擴(kuò)展服務(wù)器集群。、讀寫快速典型例子是Redis (一個(gè)開源的使用ANSI C語言編寫、支持網(wǎng)絡(luò)、可基于 內(nèi)存亦可持久化的日志型、 Key-Value 數(shù)據(jù)庫,并提供多種語言的API )。由于其邏輯簡(jiǎn)單,純內(nèi)存操作,因而其具有非常出色的性能,單節(jié)點(diǎn)每秒可以處理 超過 10 萬次的讀寫操作。、成本低廉因?yàn)榇蠖鄶?shù)NoSQL 數(shù)據(jù)庫都是開源軟件,沒有昂貴的成本限制。、 NoSQL 數(shù)據(jù)庫劣勢(shì)分析雖然 NoSQL 具有很多顯著的優(yōu)勢(shì),但是依然存在很多不足,主要表現(xiàn)在:、不提供對(duì)SQL的支持,將會(huì)對(duì)用戶產(chǎn)生一定的應(yīng)用遷移成本。同時(shí), 無法實(shí)現(xiàn)組合應(yīng)用,發(fā)揮
10、 SQL 數(shù)據(jù)庫已經(jīng)非常成熟的優(yōu)勢(shì)。、支持的特性不夠豐富?,F(xiàn)有 NoSQL數(shù)據(jù)庫提供的功能十分有限,大 多數(shù)都不支持事務(wù)和其他附加功能。、產(chǎn)品不夠成熟。大多數(shù) NoSQL數(shù)據(jù)庫產(chǎn)品還處于初級(jí)階段,與已經(jīng) 非常完善成熟的關(guān)系型數(shù)據(jù)庫不可同日而語。8、非關(guān)系型數(shù)據(jù)庫面臨的挑戰(zhàn)盡管大多數(shù)NoSQL 數(shù)據(jù)存儲(chǔ)系統(tǒng)都已被部署于實(shí)際應(yīng)用中,但是歸納其研究現(xiàn)狀,還面臨許多挑戰(zhàn)性問題。、已有Key-Value數(shù)據(jù)庫產(chǎn)品大多是面向特定應(yīng)用自治構(gòu)建的,缺乏通 用性。、已有產(chǎn)品支持的功能有限(不支持事務(wù)特性),導(dǎo)致其應(yīng)用具有一定 的局限性。、已有一些研究成果和改進(jìn)的NoSQL數(shù)據(jù)存儲(chǔ)系統(tǒng),但是它們都是針對(duì)不同應(yīng)用需
11、求而提出的相應(yīng)解決方案,如支持組內(nèi)事務(wù)特性、彈性事務(wù)等,很少從全局考慮系統(tǒng)的通用性,也沒有形成系列化的研究成果。、缺乏類似關(guān)系數(shù)據(jù)庫所具有的強(qiáng)有力的理論(如 Armstrong公理系 統(tǒng))、技術(shù)(如成熟的基于啟發(fā)式的優(yōu)化策略、兩段封鎖協(xié)議等)、標(biāo)準(zhǔn)規(guī)范 (如 SQL 語言)的支持。、目前,HBase數(shù)據(jù)庫是安全特性最完善的 NoSQL數(shù)據(jù)庫產(chǎn)品之一;而 其他的 NoSQL 數(shù)據(jù)庫多數(shù)沒有提供內(nèi)建的安全機(jī)制。但是,隨著NoSQL 的發(fā)展,越來越多的人開始意識(shí)到安全的重要。部分NoSQL 產(chǎn)品逐漸開始提供一些安全方面的支持。鏈接:兩段(封)鎖協(xié)議兩段封鎖協(xié)議,簡(jiǎn)稱兩段鎖協(xié)議,是指每個(gè)事務(wù)的執(zhí)行可以
12、分為兩個(gè)階段:生長(zhǎng)階段(加鎖階段)和衰退階段(解鎖階段)。加鎖階段:在該階段可以進(jìn)行加鎖操作。在對(duì)任何數(shù)據(jù)進(jìn)行讀操作之前,要申請(qǐng)并獲得S 鎖;在進(jìn)行寫操作之前要申請(qǐng)并獲得X 鎖。若加鎖不成功,則事務(wù)進(jìn)入等待狀態(tài),直到加鎖成功才能繼續(xù)執(zhí)行。解鎖階段:當(dāng)事務(wù)釋放了一個(gè)封鎖以后,事務(wù)進(jìn)入解鎖階段。在該階段只能進(jìn)行解鎖操作,而不能再進(jìn)行加鎖操作。四、關(guān)于混合持久化原則當(dāng)然,這并不是說要放棄關(guān)系型數(shù)據(jù)庫。在應(yīng)對(duì)特定類型的數(shù)據(jù)時(shí),它依舊是最高效的。在ACID 和第三方工具支持等方面, NoSQL 數(shù)據(jù)庫還遠(yuǎn)遠(yuǎn)比不上傳統(tǒng)關(guān)系型數(shù)據(jù)庫。所以, Fowler 建議人們考慮所謂的混合持久化原則,即:根據(jù)不同應(yīng)用對(duì)數(shù)據(jù)的需求,而使用多種數(shù)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024設(shè)計(jì)師服務(wù)協(xié)議樣本
- 2024專業(yè)勞務(wù)派遣外包協(xié)議條款
- 2024醫(yī)院藥品供應(yīng)合作協(xié)議
- 2024雞鴨蛋買賣詳細(xì)協(xié)議條款
- 2024年工業(yè)商品交易協(xié)議模板
- 2024年度品牌策劃服務(wù)協(xié)議
- 2024年簡(jiǎn)化國(guó)際貿(mào)易協(xié)議樣式
- 2024年鋼材批量供應(yīng)及采購業(yè)務(wù)協(xié)議
- 2024年金融咨詢服務(wù)協(xié)議格式
- 定律課件高中教學(xué)課件
- 2024年2024年離婚協(xié)議書模板
- 福建省殘疾人崗位精英職業(yè)技能競(jìng)賽(美甲師)參考試題及答案
- 廣西邕衡教育名校聯(lián)盟2024-2025學(xué)年高三上學(xué)期10月適應(yīng)性檢測(cè)試題 英語 含答案
- 江蘇鹽城射陽縣招考聘用部分村(居)宣傳文化管理員42人高頻難、易錯(cuò)點(diǎn)500題模擬試題附帶答案詳解
- 中頻爐維修合同模板
- 液化石油氣泄漏應(yīng)急處理考核試卷
- 過敏性休克完整版本
- 早產(chǎn)兒低體重兒護(hù)理課件
- 6《人大代表為人民》(第2課時(shí))教學(xué)設(shè)計(jì)-2024-2025學(xué)年道德與法治六年級(jí)上冊(cè)統(tǒng)編版
- 大宗貿(mào)易居間合同協(xié)議書
- 2024年借款展期合同參考樣本(三篇)
評(píng)論
0/150
提交評(píng)論