溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

關(guān)系型數(shù)據(jù)庫(kù)與非關(guān)系型數(shù)據(jù)庫(kù)的區(qū)別是什么

發(fā)布時(shí)間:2021-11-30 17:47:45 來(lái)源:億速云 閱讀:383 作者:柒染 欄目:數(shù)據(jù)庫(kù)

今天就跟大家聊聊有關(guān)關(guān)系型數(shù)據(jù)庫(kù)與非關(guān)系型數(shù)據(jù)庫(kù)的區(qū)別是什么,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

關(guān)系模型指的就是二維表格模型,而一個(gè)關(guān)系型數(shù)據(jù)庫(kù)就是由二維表及其之間的聯(lián)系所組成的一個(gè)數(shù)據(jù)組織。下面通過(guò)簡(jiǎn)單介紹關(guān)系型數(shù)據(jù)庫(kù)的優(yōu)缺點(diǎn)來(lái)介紹和認(rèn)識(shí)關(guān)系型數(shù)據(jù)庫(kù)。

關(guān)系型數(shù)據(jù)庫(kù)的優(yōu)點(diǎn)

  容易理解:二維表結(jié)構(gòu)是非常貼近邏輯世界的一個(gè)概念

  使用方便:通用的SQL語(yǔ)言使得操作關(guān)系型數(shù)據(jù)庫(kù)非常方便

  易于維護(hù):豐富的完整性大大減低了數(shù)據(jù)冗余和數(shù)據(jù)不一致的概率

  瓶頸:高并發(fā)讀寫(xiě)需求:網(wǎng)站的用戶并發(fā)性非常高,往往達(dá)到每秒上萬(wàn)次讀寫(xiě)請(qǐng)求,對(duì)于傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)來(lái)說(shuō),硬盤(pán)I/O是一個(gè)很大的瓶頸;海量數(shù)據(jù)的高效率讀寫(xiě):網(wǎng)站每天產(chǎn)生的數(shù)據(jù)量是巨大的,對(duì)于關(guān)系型數(shù)據(jù)庫(kù)來(lái)說(shuō),在一張包含海量數(shù)據(jù)的表中查詢,效率是非常低的;高擴(kuò)展性和可用性:在基于web的結(jié)構(gòu)當(dāng)中,數(shù)據(jù)庫(kù)是最難進(jìn)行橫向擴(kuò)展的,當(dāng)一個(gè)應(yīng)用系統(tǒng)的用戶量和訪問(wèn)量與日俱增的時(shí)候,數(shù)據(jù)庫(kù)卻沒(méi)有辦法像webserver和appserver那樣簡(jiǎn)單的通過(guò)添加更多的硬件和服務(wù)節(jié)點(diǎn)來(lái)擴(kuò)展性能和負(fù)載能力。對(duì)于很多需要提供24小時(shí)不間斷服務(wù)的網(wǎng)站來(lái)說(shuō),對(duì)數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)行升級(jí)和擴(kuò)展是非常痛苦的事情,往往需要停機(jī)維護(hù)和數(shù)據(jù)遷移。

關(guān)系型數(shù)據(jù)庫(kù)的相于web應(yīng)用缺陷

  事務(wù)一致性:關(guān)系型數(shù)據(jù)庫(kù)在對(duì)事物一致性的維護(hù)中有很大的開(kāi)銷,而現(xiàn)在很多web2.0系統(tǒng)對(duì)事物的讀寫(xiě)一致性都不高,事務(wù)的一致性不那么重要。

  讀寫(xiě)實(shí)時(shí)性:關(guān)系型數(shù)據(jù)庫(kù)為了維護(hù)一致性所付出的巨大代價(jià)就是其讀寫(xiě)性能比較差,對(duì)關(guān)系數(shù)據(jù)庫(kù)來(lái)說(shuō),插入一條數(shù)據(jù)之后立刻查詢,是肯定可以讀出這條數(shù)據(jù)的,但是對(duì)于很多web應(yīng)用來(lái)說(shuō),并不要求這么高的實(shí)時(shí)性,而并發(fā)讀寫(xiě)能力要求極高,關(guān)系型數(shù)據(jù)庫(kù)無(wú)法應(yīng)付,必須用新的一種數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)來(lái)代替關(guān)系數(shù)據(jù)庫(kù)。

  固定的表結(jié)構(gòu):擴(kuò)展性極差,系統(tǒng)的升級(jí),功能的增加,往往意味著數(shù)據(jù)結(jié)構(gòu)巨大變動(dòng),這一點(diǎn)關(guān)系型數(shù)據(jù)庫(kù)也難以應(yīng)付,需要新的結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)。

  復(fù)雜SQL,特別是多表關(guān)聯(lián)查詢:任何大數(shù)據(jù)量的web系統(tǒng),都非常忌諱多個(gè)大表的關(guān)聯(lián)查詢,以及復(fù)雜的數(shù)據(jù)分析類型的復(fù)雜SQL報(bào)表查詢,從需求以及產(chǎn)品階級(jí)角度,就避免了這種情況的產(chǎn)生。往往更多的只是單表的主鍵查詢,以及單表的簡(jiǎn)單條件分頁(yè)查詢,SQL的功能極大的弱化了。

  非關(guān)系型數(shù)據(jù)庫(kù):用于指代那些非關(guān)系型的,分布式的,且一般不保證遵循ACID原則的數(shù)據(jù)存儲(chǔ)系統(tǒng)。

  非關(guān)系型數(shù)據(jù)庫(kù)提出另一種理念,例如,以鍵值對(duì)存儲(chǔ),且結(jié)構(gòu)不固定,每一個(gè)元組可以有不一樣的字段,每個(gè)元組可以根據(jù)需要增加一些自己的鍵值對(duì),這樣就不會(huì)局限于固定的結(jié)構(gòu),可以減少一些時(shí)間和空間的開(kāi)銷。使用這種方式,用戶可以根據(jù)需要去添加自己需要的字段,這樣,為了獲取用戶的不同信息,不需要像關(guān)系型數(shù)據(jù)庫(kù)中,要對(duì)多表進(jìn)行關(guān)聯(lián)查詢。僅需要根據(jù)id取出相應(yīng)的value就可以完成查詢。但非關(guān)系型數(shù)據(jù)庫(kù)由于很少的約束,他也不能夠提供像SQL所提供的where這種對(duì)于字段屬性值情況的查詢。并且難以體現(xiàn)設(shè)計(jì)的完整性。他只適合存儲(chǔ)一些較為簡(jiǎn)單的數(shù)據(jù),對(duì)于需要進(jìn)行較復(fù)雜查詢的數(shù)據(jù),關(guān)系型數(shù)據(jù)庫(kù)顯的更為合適。

  注:數(shù)據(jù)庫(kù)事務(wù)必須具備ACID特性,ACID是Atomic原子性,Consistency一致性,Isolation隔離性,Durability持久性。

關(guān)系型數(shù)據(jù)庫(kù)和非關(guān)系型數(shù)據(jù)庫(kù)比較

關(guān)系型數(shù)據(jù)庫(kù)的優(yōu)勢(shì):

  1.復(fù)雜查詢可以用SQL語(yǔ)句方便的在一個(gè)表以及多個(gè)表之間做非常復(fù)雜的數(shù)據(jù)查詢。

  2.事務(wù)支持使得對(duì)于安全性能很高的數(shù)據(jù)訪問(wèn)要求得以實(shí)現(xiàn)。對(duì)于這兩類數(shù)據(jù)庫(kù),對(duì)方的優(yōu)勢(shì)就是自己的弱勢(shì),反之亦然。

非關(guān)系型數(shù)據(jù)庫(kù)的優(yōu)勢(shì):

  1.性能NOSQL是基于鍵值對(duì)的,可以想象成表中的主鍵和值的對(duì)應(yīng)關(guān)系,而且不需要經(jīng)過(guò)SQL層的解析,所以性能非常高。

  2.可擴(kuò)展性同樣也是因?yàn)榛阪I值對(duì),數(shù)據(jù)之間沒(méi)有耦合性,所以非常容易水平擴(kuò)展。

  非關(guān)系型數(shù)據(jù)庫(kù)分類;除了一些共性外,很大一部分都是針對(duì)某些特定的應(yīng)用需求出現(xiàn)的,因此,對(duì)于該類應(yīng)用,具有極高的性能。依據(jù)結(jié)構(gòu)化方法以及應(yīng)用場(chǎng)合的不同,主要分為以下幾類:

  面向高性能并發(fā)讀寫(xiě)的key-value數(shù)據(jù)庫(kù):

  key-value數(shù)據(jù)庫(kù)的主要特點(diǎn)即使具有極高的并發(fā)讀寫(xiě)性能,Redis,TokyoCabinet,Flare就是這類的代表。

  面向海量數(shù)據(jù)訪問(wèn)的面向文檔數(shù)據(jù)庫(kù):

  這類數(shù)據(jù)庫(kù)的特點(diǎn)是,可以在海量的數(shù)據(jù)中快速的查詢數(shù)據(jù),典型代表為MongoDB以及CouchDB。

  面向可擴(kuò)展性的分布式數(shù)據(jù)庫(kù):

  這類數(shù)據(jù)庫(kù)想解決的問(wèn)題就是傳統(tǒng)數(shù)據(jù)庫(kù)存在可擴(kuò)展性上的缺陷,這類數(shù)據(jù)庫(kù)可以適應(yīng)數(shù)據(jù)量的增加以及數(shù)據(jù)結(jié)構(gòu)的變化。

看完上述內(nèi)容,你們對(duì)關(guān)系型數(shù)據(jù)庫(kù)與非關(guān)系型數(shù)據(jù)庫(kù)的區(qū)別是什么有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI