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

NoSQL數(shù)據(jù)庫那么多,該如何選擇你真的會(huì)嗎?

數(shù)據(jù)庫 其他數(shù)據(jù)庫
隨著近幾年互聯(lián)網(wǎng)IT的發(fā)展,非關(guān)系型數(shù)據(jù)庫(NoSQL)得到了極大的發(fā)展和應(yīng)用。和傳統(tǒng)的關(guān)系型數(shù)據(jù)庫相比,NoSQL數(shù)據(jù)庫為軟件開發(fā)人員提供了高運(yùn)算速度和更大的靈活性。

隨著近幾年互聯(lián)網(wǎng)IT的發(fā)展,非關(guān)系型數(shù)據(jù)庫(NoSQL)得到了極大的發(fā)展和應(yīng)用。和傳統(tǒng)的關(guān)系型數(shù)據(jù)庫相比,NoSQL數(shù)據(jù)庫為軟件開發(fā)人員提供了高運(yùn)算速度和更大的靈活性。

NoSQL數(shù)據(jù)庫的數(shù)據(jù)結(jié)構(gòu)一般有:

  • 鍵值對(duì)(key-value),代表數(shù)據(jù)庫:Redis

  • 列存儲(chǔ)(Wide Column),代表數(shù)據(jù)庫:Cassandra,HBase

  • 圖(graph),代表數(shù)據(jù)庫:Neo4J

  • 文檔(document),代表數(shù)據(jù)庫:MongoDB

這些數(shù)據(jù)結(jié)構(gòu)和關(guān)系型數(shù)據(jù)庫表格式的數(shù)據(jù)結(jié)構(gòu)都有非常大的區(qū)別,它們都是為了適應(yīng)特定的業(yè)務(wù)場景而設(shè)計(jì)的。在某個(gè)業(yè)務(wù)場景下應(yīng)該選擇關(guān)系型數(shù)據(jù)庫還是非關(guān)系數(shù)據(jù)庫、選擇哪種類型的非關(guān)系數(shù)據(jù)庫是非常重要的,今天我們就一起來看看針對(duì)不同的業(yè)務(wù)場景應(yīng)該如何選擇NoSQL數(shù)據(jù)庫。

鍵值對(duì)(key-value)數(shù)據(jù)庫

NoSQL數(shù)據(jù)庫那么多,該如何選擇你真的會(huì)嗎?

redis數(shù)據(jù)庫

鍵值數(shù)據(jù)庫就像在傳統(tǒng)語言中使用的哈希表。你可以通過key來添加、查詢或者刪除數(shù)據(jù),鑒于使用主鍵訪問,所以會(huì)獲得不錯(cuò)的性能及擴(kuò)展性。

適用的場景:

  • 通過鍵來定位查找而不是通過值來查找的業(yè)務(wù)。

  • 緩存。

不適用的場景:

  • 需要通過值來查找的業(yè)務(wù),Key-Value數(shù)據(jù)庫中根本沒有通過值查詢的途徑。

  • 需要儲(chǔ)存數(shù)據(jù)之間的關(guān)系。在Key-Value數(shù)據(jù)庫中不能通過兩個(gè)或以上的鍵來關(guān)聯(lián)數(shù)據(jù)。

  • 需要事務(wù)的支持。在Key-Value數(shù)據(jù)庫中故障產(chǎn)生時(shí)不可以進(jìn)行回滾。

列存儲(chǔ)(Wide Column Store)數(shù)據(jù)庫

NoSQL數(shù)據(jù)庫那么多,該如何選擇你真的會(huì)嗎?

HBase數(shù)據(jù)庫

列存儲(chǔ)數(shù)據(jù)庫將數(shù)據(jù)儲(chǔ)存在列族(column family)中,一個(gè)列族存儲(chǔ)經(jīng)常被一起查詢的相關(guān)數(shù)據(jù)。舉個(gè)例子,如果我們有一個(gè)Person類,我們通常會(huì)一起查詢他們的姓名和年齡而不是薪資。這種情況下,姓名和年齡就會(huì)被放入一個(gè)列族中,而薪資則在另一個(gè)列族中。

適用的場景

  • 日志。因?yàn)槲覀兛梢詫?shù)據(jù)儲(chǔ)存在不同的列中,每個(gè)應(yīng)用程序可以將信息寫入自己的列族中。

  • 博客平臺(tái)。我們儲(chǔ)存每個(gè)信息到不同的列族中。舉個(gè)例子,標(biāo)簽可以儲(chǔ)存在一個(gè),類別可以在一個(gè),而文章則在另一個(gè)。

不適用場景

  • 如果我們需要ACID事務(wù)。Cassandra就不支持事務(wù)。

  • 原型設(shè)計(jì)。如果我們分析Cassandra的數(shù)據(jù)結(jié)構(gòu),我們就會(huì)發(fā)現(xiàn)結(jié)構(gòu)是基于我們期望的數(shù)據(jù)查詢方式而定。在模型設(shè)計(jì)之初,我們根本不可能去預(yù)測它的查詢方式,而一旦查詢方式改變,我們就必須重新設(shè)計(jì)列族。

圖(Graph)數(shù)據(jù)庫

NoSQL數(shù)據(jù)庫那么多,該如何選擇你真的會(huì)嗎?

Neo4j數(shù)據(jù)庫

圖數(shù)據(jù)庫允許我們將數(shù)據(jù)以圖的方式儲(chǔ)存。實(shí)體會(huì)被作為頂點(diǎn),而實(shí)體之間的關(guān)系則會(huì)被作為邊。

適用的場景

  • 在一些關(guān)系性強(qiáng)的數(shù)據(jù)中

  • 推薦引擎。如果我們將數(shù)據(jù)以圖的形式表現(xiàn),那么將會(huì)非常有益于推薦的制定

不適用場景

  • 不適合的數(shù)據(jù)模型。圖數(shù)據(jù)庫的適用范圍很小,因?yàn)楹苌儆胁僮魃婕暗秸麄€(gè)圖。

文檔(Document)數(shù)據(jù)庫

NoSQL數(shù)據(jù)庫那么多,該如何選擇你真的會(huì)嗎?

mongoDB數(shù)據(jù)庫

文檔數(shù)據(jù)庫會(huì)將數(shù)據(jù)以文檔的形式儲(chǔ)存。每個(gè)文檔都是自包含的數(shù)據(jù)單元,是一系列數(shù)據(jù)項(xiàng)的集合。每個(gè)數(shù)據(jù)項(xiàng)都有一個(gè)名稱與對(duì)應(yīng)的值,值既可以是簡單的數(shù)據(jù)類型,如字符串、數(shù)字和日期等;也可以是復(fù)雜的類型,如有序列表和關(guān)聯(lián)對(duì)象。數(shù)據(jù)存儲(chǔ)的最小單位是文檔,同一個(gè)表中存儲(chǔ)的文檔屬性可以是不同的,數(shù)據(jù)可以使用XML、JSON或者JSONB等多種形式存儲(chǔ)。

適用的場景

  • 日志。企業(yè)環(huán)境下,每個(gè)應(yīng)用程序都有不同的日志信息。Document-Oriented數(shù)據(jù)庫并沒有固定的模式,所以我們可以使用它儲(chǔ)存不同的信息。

  • 分析。鑒于它的弱模式結(jié)構(gòu),不改變模式下就可以儲(chǔ)存不同的度量方法及添加新的度量。

不適用場景

  • 在不同的文檔上添加事務(wù)。Document-Oriented數(shù)據(jù)庫并不支持文檔間的事務(wù),如果對(duì)這方面有需求則不應(yīng)該選用這個(gè)解決方案。

 

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

2020-03-31 10:58:38

2024-03-28 09:00:00

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

2024-05-20 10:20:37

數(shù)據(jù)庫存儲(chǔ)容量

2022-07-20 11:08:12

微服務(wù)數(shù)據(jù)庫架構(gòu)

2019-07-23 11:41:45

數(shù)據(jù)庫SQLDocker

2019-12-18 15:11:42

數(shù)組集合數(shù)據(jù)

2019-11-15 10:56:48

MySQLSQL語句

2022-08-16 15:20:12

微服務(wù)IT運(yùn)維

2019-10-08 14:40:53

Java線程

2009-07-10 09:28:41

NoSQL關(guān)系數(shù)據(jù)庫

2011-07-07 09:11:54

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

2024-03-13 10:40:00

性能探測工具SQL語句數(shù)據(jù)庫

2021-10-03 15:00:44

數(shù)據(jù)庫mysql單機(jī)

2018-03-22 08:54:00

NoSQLRUM云服務(wù)

2023-01-24 16:13:22

編程語言JavaIT

2013-06-17 10:45:34

2019-06-26 07:25:47

NoSQL數(shù)據(jù)庫開發(fā)

2020-07-13 08:40:21

BAT模具設(shè)計(jì)

2020-01-14 10:37:38

存儲(chǔ)DateTime數(shù)值

2021-12-10 07:47:31

MySQL設(shè)置數(shù)據(jù)庫
點(diǎn)贊
收藏

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