久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

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

166次閱讀
沒有評論

共計(jì) 2005 個(gè)字符,預(yù)計(jì)需要花費(fèi) 6 分鐘才能閱讀完成。

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

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

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

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

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

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

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

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

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

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

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

復(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)品階級角度,就避免了這種情況的產(chǎn)生。往往更多的只是單表的主鍵查詢,以及單表的簡單條件分頁查詢,SQL 的功能極大的弱化了。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-07-17發(fā)表,共計(jì)2005字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 和平县| 开封县| 闻喜县| 新化县| 道孚县| 襄汾县| 惠州市| 富平县| 巫山县| 翁牛特旗| 西宁市| 武鸣县| 文水县| 宜阳县| 乡城县| 喀什市| 仙桃市| 高碑店市| 琼结县| 河间市| 瑞昌市| 宾阳县| 兴文县| 阿克陶县| 东宁县| 韶山市| 乐陵市| 信阳市| 灌阳县| 苍山县| 垦利县| 五华县| 三明市| 运城市| 宁河县| 兴业县| 焉耆| 新泰市| 靖江市| 宕昌县| 武夷山市|