自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

您應(yīng)該了解的有關(guān)NoSQL數(shù)據(jù)庫(kù)的所有信息-系統(tǒng)設(shè)計(jì)

數(shù)據(jù)庫(kù) 其他數(shù)據(jù)庫(kù)
在設(shè)計(jì)系統(tǒng)時(shí),很難在關(guān)系(RDBS)和非關(guān)系數(shù)據(jù)庫(kù)(NoSQL)之間進(jìn)行選擇。 正確理解這兩個(gè)局限性將使決策變得更加容易。

在設(shè)計(jì)系統(tǒng)時(shí),很難在關(guān)系(RDBS)和非關(guān)系數(shù)據(jù)庫(kù)(NoSQL)之間進(jìn)行選擇。 正確理解這兩個(gè)局限性將使決策變得更加容易。

您應(yīng)該了解的有關(guān)NoSQL數(shù)據(jù)庫(kù)的所有信息-系統(tǒng)設(shè)計(jì)

在深入研究NoSQL數(shù)據(jù)庫(kù)之前,了解關(guān)系數(shù)據(jù)庫(kù)的局限性很重要。 關(guān)系數(shù)據(jù)庫(kù)已經(jīng)存在了近40年,并且運(yùn)行良好。 數(shù)據(jù)結(jié)構(gòu)合理,記錄保存在表中。 表由行,主鍵,唯一鍵組成,并且表可以相互連接。 它支持的另一個(gè)重要功能是事務(wù),它的屬性稱(chēng)為ACID。 ACID屬性包含4個(gè)不同的屬性,如下所述:

  • 原子性:它保證了如果發(fā)生多步驟交易,則需要完成所有步驟才能使交易成功。
  • 一致性:它確保數(shù)據(jù)庫(kù)在任何事務(wù)之前和之后均應(yīng)保持一致。
  • 隔離:它保證可以同時(shí)發(fā)生多個(gè)事務(wù),而不會(huì)互相干擾。
  • 耐用性:即使服務(wù)器崩潰或斷電,它也可以確保持久存儲(chǔ)數(shù)據(jù),而無(wú)需擔(dān)心數(shù)據(jù)。

但是,隨著大數(shù)據(jù)技術(shù)的發(fā)展,傳統(tǒng)的基于SQL的數(shù)據(jù)庫(kù)已不足以管理快速增長(zhǎng)的數(shù)據(jù)量以及日益復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。 關(guān)系數(shù)據(jù)庫(kù)的一些缺點(diǎn)如下:

  • 模式:關(guān)系數(shù)據(jù)庫(kù)的模式是固定的,您必須事先設(shè)計(jì)它。 對(duì)于快速增長(zhǎng)的應(yīng)用程序,很難假設(shè)數(shù)據(jù)的復(fù)雜性然后進(jìn)行設(shè)計(jì)。
  • 數(shù)據(jù)結(jié)構(gòu):由于關(guān)系數(shù)據(jù)庫(kù)支持的數(shù)據(jù)結(jié)構(gòu)有限,我們需要做更多的連接才能獲得所需的數(shù)據(jù),并且連接總是很昂貴的。
  • 擴(kuò)展:由于數(shù)據(jù)增長(zhǎng)非常迅速,因此很難擴(kuò)展關(guān)系數(shù)據(jù)庫(kù)。

我們對(duì)此有任何解決方法嗎?

幸運(yùn)的是! 我們有。

非規(guī)范化就是其中之一。 展開(kāi)單個(gè)表并向其中添加更多列,以便在獲取結(jié)果時(shí)避免連接。 這樣可以提高讀取性能,但會(huì)導(dǎo)致數(shù)據(jù)異常。

另一種技術(shù)是分片。 在這種技術(shù)中,可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行分割,并將其存儲(chǔ)在不同的服務(wù)器中。 這樣可以提高讀寫(xiě)性能,但是很難管理。

因此,總結(jié)一下。 關(guān)系數(shù)據(jù)庫(kù)具有很多優(yōu)點(diǎn)和缺點(diǎn),我們可以解決它們,但是也帶來(lái)了其他挑戰(zhàn)。

NoSQL數(shù)據(jù)庫(kù)自然允許對(duì)數(shù)據(jù)進(jìn)行非規(guī)范化,可伸縮性和靈活的架構(gòu)。 這些東西是免費(fèi)提供的嗎? 沒(méi)有! 在這個(gè)世界上,沒(méi)有什么是免費(fèi)的。 放寬ACID限制。 盡管ACID對(duì)于某些應(yīng)用程序是一個(gè)重要的約束,但對(duì)于所有應(yīng)用程序卻不是。 最后但并非最不重要的一點(diǎn)是,NoSQL數(shù)據(jù)庫(kù)提供了一種查詢(xún)大型和更復(fù)雜的數(shù)據(jù)結(jié)構(gòu)的新方法,這在關(guān)系數(shù)據(jù)庫(kù)中是不可能的。 這是使用NoSQL進(jìn)行數(shù)據(jù)科學(xué)的關(guān)鍵因素之一。

您應(yīng)該了解的有關(guān)NoSQL數(shù)據(jù)庫(kù)的所有信息-系統(tǒng)設(shè)計(jì)

NoSQL數(shù)據(jù)庫(kù)的優(yōu)點(diǎn):

  • 靈活模式:通常提供非常靈活的模式。 根據(jù)需求可以很容易地更改架構(gòu)。
  • 水平擴(kuò)展:允許在需要時(shí)添加更便宜的商品服務(wù)器。 SQL數(shù)據(jù)庫(kù)在超出容量時(shí)需要垂直擴(kuò)展(遷移到更大的服務(wù)器)。
  • 更快的查詢(xún):NoSQL數(shù)據(jù)庫(kù)的一項(xiàng)主要原則是"應(yīng)將一起訪(fǎng)問(wèn)的數(shù)據(jù)存儲(chǔ)在一起"。 因此,查詢(xún)通常無(wú)需連接即可工作,這使查詢(xún)速度更快。

NoSQL數(shù)據(jù)庫(kù)的一些示例是Redis,Dynamo,CouchDB,MongoDB,Cassandra,HBase和Neo4J。 很多人在關(guān)系數(shù)據(jù)庫(kù)中遇到許多不同的問(wèn)題,這最終不足為奇,他們最終設(shè)計(jì)了不同類(lèi)型的NoSQL數(shù)據(jù)庫(kù)。

您應(yīng)該了解的有關(guān)NoSQL數(shù)據(jù)庫(kù)的所有信息-系統(tǒng)設(shè)計(jì)
  • 鍵值存儲(chǔ):就像字典一樣,您可以在其中了解鍵并可以檢索其值。 它是NoSQL數(shù)據(jù)庫(kù)的最簡(jiǎn)單類(lèi)型之一。 這種數(shù)據(jù)庫(kù)對(duì)于緩存確實(shí)很有用。 示例:Redis和Dynamo。
  • 文檔數(shù)據(jù)庫(kù):數(shù)據(jù)存儲(chǔ)在文檔中,而不是行和列。 文檔被分組以形成一個(gè)集合。 這種數(shù)據(jù)庫(kù)的優(yōu)點(diǎn)之一是每個(gè)文檔可以具有不同的結(jié)構(gòu)。 這種數(shù)據(jù)庫(kù)對(duì)于內(nèi)容管理和存儲(chǔ)用戶(hù)個(gè)人資料非常有用。 示例:CouchDB和MongoDB。
  • 寬列數(shù)據(jù)庫(kù):寬列數(shù)據(jù)庫(kù)中的列和表的概念與關(guān)系數(shù)據(jù)庫(kù)中的概念不同。 例如,在寬列數(shù)據(jù)庫(kù)中,數(shù)據(jù)被非規(guī)范化,列根本沒(méi)有固定,它們可以隨時(shí)更改。 例如,我們可以在應(yīng)用程序中動(dòng)態(tài)添加列,甚至同一表中的行可以具有不同的列的情況也是如此。 與文檔數(shù)據(jù)庫(kù)一樣,此處的值可以是復(fù)雜的結(jié)構(gòu),例如數(shù)組和列表。 這種數(shù)據(jù)庫(kù)對(duì)于時(shí)間序列數(shù)據(jù),日志記錄和其他大量寫(xiě)入應(yīng)用程序非常有用。 示例:Cassandra和HBase。
  • 圖形數(shù)據(jù)庫(kù):在圖形中可以更好地表示關(guān)系的應(yīng)用程序,這些數(shù)據(jù)庫(kù)在那里非常有用。 這些類(lèi)型的數(shù)據(jù)庫(kù)主要用于社交網(wǎng)絡(luò),知識(shí)圖等。例如:Neo4J。

關(guān)系數(shù)據(jù)庫(kù)和NoSQL這兩個(gè)數(shù)據(jù)庫(kù)在數(shù)據(jù)管理方面都很棒。 沒(méi)有簡(jiǎn)單的答案哪個(gè)更好。 這完全取決于幫助人們根據(jù)上述參數(shù)及其權(quán)衡選擇的要求。

 

責(zé)任編輯:趙寧寧 來(lái)源: 今日頭條
相關(guān)推薦

2018-12-24 18:35:11

NoSQLRedisMongoDB

2010-11-15 11:49:18

Oracle數(shù)據(jù)庫(kù)的段

2023-01-24 16:03:43

2021-07-07 17:47:22

5G智慧城市智能

2019-09-11 15:10:01

NoSQLSQL數(shù)據(jù)庫(kù)

2010-09-02 18:56:09

NoSQL數(shù)據(jù)庫(kù)DBA

2020-12-17 08:09:25

計(jì)算機(jī)網(wǎng)絡(luò)網(wǎng)絡(luò)TCP

2024-01-29 12:54:00

物聯(lián)網(wǎng)IOT

2010-09-03 13:40:24

SQL刪除

2023-11-13 16:58:40

數(shù)據(jù)庫(kù)系統(tǒng)

2023-09-11 09:58:46

2017-11-10 13:29:32

監(jiān)控工具RiverbedIT

2010-11-29 14:06:42

Sybase數(shù)據(jù)庫(kù)日志

2010-09-13 15:21:17

SQL Sever數(shù)據(jù)

2010-09-27 14:15:59

SQL數(shù)據(jù)庫(kù)角色

2024-02-02 10:51:53

2020-10-31 22:01:40

NoSQL數(shù)據(jù)庫(kù)

2017-05-25 10:11:46

數(shù)據(jù)庫(kù)令牌節(jié)點(diǎn)

2009-12-18 17:20:24

ADO數(shù)據(jù)庫(kù)

2018-03-02 09:00:00

數(shù)據(jù)庫(kù)NoSQLSQL
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)