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

阿里P8架構(gòu)師談:NoSQL和SQL的區(qū)別,NoSQL的使用場(chǎng)景和選型比較

數(shù)據(jù)庫(kù)
NoSQL,指的是非關(guān)系型的數(shù)據(jù)庫(kù)。NoSQL有時(shí)也稱作Not Only SQL的縮寫,是對(duì)不同于傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)管理系統(tǒng)的統(tǒng)稱,它具有非關(guān)系型、分布式、不提供ACID的數(shù)據(jù)庫(kù)設(shè)計(jì)模式等特征。
 

[[241810]]

 

什么是NoSQL

NoSQL,指的是非關(guān)系型的數(shù)據(jù)庫(kù)。NoSQL有時(shí)也稱作Not Only SQL的縮寫,是對(duì)不同于傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)管理系統(tǒng)的統(tǒng)稱,它具有非關(guān)系型、分布式、不提供ACID的數(shù)據(jù)庫(kù)設(shè)計(jì)模式等特征。

NoSQL用于超大規(guī)模數(shù)據(jù)的存儲(chǔ)。(例如谷歌或Facebook每天為他們的用戶收集萬(wàn)億比特的數(shù)據(jù))。這些類型的數(shù)據(jù)存儲(chǔ)不需要固定的模式,無(wú)需多余操作就可以橫向擴(kuò)展。

SQL 和 NoSQL 的區(qū)別

阿里P8架構(gòu)師談:NoSQL和SQL的區(qū)別,NoSQL的使用場(chǎng)景和選型比較

 

SQL數(shù)據(jù)庫(kù)適合那些需求確定和對(duì)數(shù)據(jù)完整性要去嚴(yán)格的項(xiàng)目。NoSQL數(shù)據(jù)庫(kù)適用于那些對(duì)速度和可擴(kuò)展性比較看重的那些不相關(guān)的,不確定和不斷發(fā)展的需求。簡(jiǎn)單來(lái)說(shuō)就是:

  • SQL是精確的。它最適合于具有精確標(biāo)準(zhǔn)的定義明確的項(xiàng)目。典型的使用場(chǎng)景是在線商店和銀行系統(tǒng)。
  • NoSQL是多變的。它最適合于具有不確定需求的數(shù)據(jù)。典型的使用場(chǎng)景是社交網(wǎng)絡(luò),客戶管理和網(wǎng)絡(luò)分析系統(tǒng)。

SQL和Nosql的選型和比較

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

SQL (Structured Query Language) 數(shù)據(jù)庫(kù),指關(guān)系型數(shù)據(jù)庫(kù)。主要代表:SQL Server,Oracle,MySQL等。

NoSQL(Not Only SQL)泛指非關(guān)系型數(shù)據(jù)庫(kù),主要代表:MongoDB,Redis等。

2.關(guān)系型數(shù)據(jù)庫(kù)適合存儲(chǔ)結(jié)構(gòu)化數(shù)據(jù)

如用戶的帳號(hào)、地址等:

1)這些數(shù)據(jù)通常需要做結(jié)構(gòu)化查詢,比如join,這時(shí)候,關(guān)系型數(shù)據(jù)庫(kù)就要?jiǎng)俪鲆换I

2)這些數(shù)據(jù)的規(guī)模、增長(zhǎng)的速度通常是可以預(yù)期的

3)保證數(shù)據(jù)的事務(wù)性、一致性要求。

3.NoSQL適合存儲(chǔ)非結(jié)構(gòu)化數(shù)據(jù)

如發(fā)微博、文章、評(píng)論:

1)這些數(shù)據(jù)通常用于模糊處理,如全文搜索、機(jī)器學(xué)習(xí)

2)這些數(shù)據(jù)是海量的,而且增長(zhǎng)的速度是難以預(yù)期的,

3)根據(jù)數(shù)據(jù)的特點(diǎn),NoSQL數(shù)據(jù)庫(kù)通常具有***(至少接近)伸縮性

4)按key獲取數(shù)據(jù)效率很高,但是對(duì)join或其他結(jié)構(gòu)化查詢的支持就比較差

目前許多大型互聯(lián)網(wǎng)項(xiàng)目都會(huì)選用MySQL(或任何關(guān)系型數(shù)據(jù)庫(kù)) + NoSQL的組合方案。

NoSQL的常見(jiàn)類型和比較

有四種常見(jiàn)的 NoSQL 數(shù)據(jù)庫(kù)類型:列式、文檔、圖形和內(nèi)存鍵值。

阿里P8架構(gòu)師談:NoSQL和SQL的區(qū)別,NoSQL的使用場(chǎng)景和選型比較

 

1.列式數(shù)據(jù)

顧名思義,是按列存儲(chǔ)數(shù)據(jù)的。***的特點(diǎn)是方便存儲(chǔ)結(jié)構(gòu)化和半結(jié)構(gòu)化數(shù)據(jù),方便做數(shù)據(jù)壓縮,對(duì)針對(duì)某一列或者某幾列的查詢有非常大的IO優(yōu)勢(shì)。

1)對(duì)應(yīng)的nosql: HBase,BigTable等。

2)典型應(yīng)用場(chǎng)景:按列存儲(chǔ),針對(duì)某一列或者某幾列的查詢有非常大的IO優(yōu)勢(shì)。

3)優(yōu)點(diǎn):查找速度快,可擴(kuò)展性強(qiáng),更容易進(jìn)行分布式擴(kuò)展。

4)缺點(diǎn):功能相對(duì)局限。

2.文檔數(shù)據(jù)庫(kù)

旨在將半結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)為文檔,通常采用 JSON 或 XML 格式。與傳統(tǒng)關(guān)系數(shù)據(jù)庫(kù)不同的是,每個(gè) NoSQL 文檔的架構(gòu)是不同的,可讓您更加靈活地整理和存儲(chǔ)應(yīng)用程序數(shù)據(jù)并減少可選值所需的存儲(chǔ)。

1)對(duì)應(yīng)的nosql:CouchDB, MongoDb

2)典型應(yīng)用場(chǎng)景:存儲(chǔ)類似JSON格式的內(nèi)容,可對(duì)某些字段建立索引功能,是最像關(guān)系型的數(shù)據(jù)庫(kù)。

3)優(yōu)點(diǎn):數(shù)據(jù)結(jié)構(gòu)要求不嚴(yán)格,表結(jié)構(gòu)可變,不需要像關(guān)系型數(shù)據(jù)庫(kù)一樣需要預(yù)先定義表結(jié)構(gòu)。

4)缺點(diǎn):查詢性能不高,而且缺乏統(tǒng)一的查詢語(yǔ)法。

3.圖形數(shù)據(jù)庫(kù)

可存儲(chǔ)頂點(diǎn)以及稱為邊緣的直接鏈路。圖形數(shù)據(jù)庫(kù)可以在 SQL 和 NoSQL 數(shù)據(jù)庫(kù)上構(gòu)建。頂點(diǎn)和邊緣可以擁有各自的相關(guān)屬性。

1)數(shù)據(jù)模型:圖結(jié)構(gòu)

2)典型應(yīng)用場(chǎng)景:社交網(wǎng)絡(luò),推薦系統(tǒng)等。專注于構(gòu)建關(guān)系圖譜,善于處理大量復(fù)雜、互連接、低結(jié)構(gòu)化的數(shù)據(jù),數(shù)據(jù)往往變化迅速,且查詢頻繁。

3)優(yōu)點(diǎn):利用圖結(jié)構(gòu)相關(guān)算法。比如最短路徑尋址,N度關(guān)系查找等。

4)缺點(diǎn):很多時(shí)候需要對(duì)整個(gè)圖做計(jì)算才能得出需要的信息,而且這種結(jié)構(gòu)不太好做分布式的集群方案。

4.內(nèi)存鍵值存儲(chǔ)

可以通過(guò)key快速查詢到其value。一般來(lái)說(shuō),存儲(chǔ)不管value的格式,照單全收,是針對(duì)讀取密集型應(yīng)用程序工作負(fù)載(例如社交網(wǎng)絡(luò)、游戲、媒體共享和 Q&A 門戶)。內(nèi)存緩存可將重要數(shù)據(jù)存儲(chǔ)在內(nèi)存中以實(shí)現(xiàn)低延遲訪問(wèn),從而提高應(yīng)用程序性能。

1)對(duì)應(yīng)的nosql:Redis,Memcached等

2)典型應(yīng)用場(chǎng)景:內(nèi)容緩存,主要用于處理大量數(shù)據(jù)的高訪問(wèn)負(fù)載,也用于一些日志系統(tǒng)等等。

3)優(yōu)點(diǎn):查找速度快。

4)缺點(diǎn):數(shù)據(jù)無(wú)結(jié)構(gòu)化,通常只被當(dāng)作字符串或者二進(jìn)制數(shù)據(jù)。 

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

2018-08-07 10:04:11

數(shù)據(jù)庫(kù)分布式緩存Redis

2018-08-28 12:37:27

數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)中間件MySQL

2020-10-26 11:41:47

kill代碼

2019-02-26 12:40:10

程序員架構(gòu)師阿里

2023-09-27 10:23:19

NoSQL數(shù)據(jù)模型

2018-09-12 20:12:11

MySQL慢查詢優(yōu)化索引優(yōu)化

2022-02-14 09:00:00

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

2024-04-02 00:00:00

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

2023-07-06 00:41:03

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

2023-11-14 14:13:52

SQLNoSQLCAP

2019-07-22 22:22:02

架構(gòu)運(yùn)維技術(shù)

2013-02-27 10:23:55

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

2015-10-22 15:09:12

NoSQL數(shù)據(jù)庫(kù)應(yīng)用場(chǎng)景

2021-04-19 08:25:03

架構(gòu)師公司系統(tǒng)

2011-05-13 09:46:20

MySQLNoSQL

2023-03-27 16:25:56

SQLNoSQL

2024-10-10 08:46:28

2024-03-05 10:03:17

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

2011-03-14 14:59:01

NoSQL

2011-03-14 15:56:37

NoSQL
點(diǎn)贊
收藏

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