在本文中,我們將簡要介紹NoSQL數(shù)據(jù)庫的四種類型。
什么是NoSQL數(shù)據(jù)庫?一般而言,以不同于關(guān)系數(shù)據(jù)庫的格式存儲數(shù)據(jù)的數(shù)據(jù)庫被稱為NoSQL數(shù)據(jù)庫。NoSQL代表“不僅是 SQL”,它涉及這樣一個事實,即數(shù)據(jù)庫可以完全使用“無SQL”來存儲和管理數(shù)據(jù),或者它可以結(jié)合使用新方法(NoSQL)的靈活性和傳統(tǒng)關(guān)系系統(tǒng)(SQL)的強大功能。
NoSQL數(shù)據(jù)存儲有哪些不同類型?NoSQL數(shù)據(jù)庫可以分為四種類型:
一、鍵值(KV)商店
這是最簡單的NoSQL數(shù)據(jù)庫類型。在這種類型下,數(shù)據(jù)以鍵/值對的形式存儲。對于每個鍵,都有一個分配給它的值。每個Key都是唯一的,只接受字符串,而對應(yīng)于特定Key的值可以接受String、JSON、XML等。由于這種行為,它能夠處理海量數(shù)據(jù)。
鍵值存儲將數(shù)據(jù)維護為由索引鍵和值組成的對。KV使用索引Key存儲查詢值。數(shù)據(jù)庫中的每個項目都存儲在鍵(索引)和值對中。KV存儲類似于關(guān)系數(shù)據(jù)庫,但每個表只有兩列。
一些KV存儲甚至可能允許基本連接來幫助我們掃描,如果有復(fù)合連接,它們可能不是合適的選擇。有多個KV Stores可用,每個KV Stores的主要區(qū)別在于它們對CAP定理的適應(yīng)以及它們的內(nèi)存v/s存儲使用配置。KV存儲具有快速查詢性能,最適合需要內(nèi)容緩存的應(yīng)用程序,例如不斷更新前 10 名得分和玩家的游戲網(wǎng)站。
1、特點:一致性;交易;查詢特征;數(shù)據(jù)結(jié)構(gòu)和縮放。
2、優(yōu)點:簡單數(shù)據(jù)模型;可擴展;值可以包括JSON、XML、靈活的模式;;由于它的簡單性,速度極快;最適合數(shù)據(jù)不高度相關(guān)的情況。
3、缺點:沒有關(guān)系,創(chuàng)建自己的外鍵;不適合復(fù)雜數(shù)據(jù);缺乏掃描功能;不適合操作而不是CRUD(創(chuàng)建、讀取、更新、刪除)
二、文檔存儲
文檔存儲是鍵值存儲簡單性的擴展,其中值存儲在結(jié)構(gòu)化文檔(如 XML或JSON)中。文檔存儲使得在面向?qū)ο筌浖杏成鋵ο笞兊萌菀住?/p>
文檔數(shù)據(jù)庫是無模式的,我們不必事先定義模式并遵守它。它允許我們以文檔格式(JSON、XML等)存儲復(fù)雜數(shù)據(jù)。文檔數(shù)據(jù)庫不支持關(guān)系。文檔存儲中的每個文檔都是獨立的,沒有關(guān)系完整性。
文檔存儲可以用于KV存儲數(shù)據(jù)庫的所有用例,但它還有額外的優(yōu)點,比如沒有僅通過鍵查詢的限制,甚至可以查詢文檔中的屬性,而且每個文檔中的數(shù)據(jù)可以在不同的格式。例如,一個產(chǎn)品評論網(wǎng)站,零個或多個用戶可以評論每個產(chǎn)品,每個評論都可以被其他用戶評論,零個到多個用戶可以喜歡或不喜歡。
例如,一個產(chǎn)品評論網(wǎng)站,零個或多個用戶可以對每個產(chǎn)品進行評論,每個評論都可以被其他用戶評論,并且可以被零個或多個用戶喜歡或不喜歡。
1、特點:更快的查詢;由于其結(jié)構(gòu),可以輕松處理大量數(shù)據(jù);靈活的索引。
2、優(yōu)點:簡單而強大的數(shù)據(jù)模型;可擴展;開放格式;沒有外鍵。
3、缺點:不適用于關(guān)系數(shù)據(jù);查詢僅限于鍵和索引;Map Reduce 用于更重要的查詢
三、列族數(shù)據(jù)存儲或?qū)捔袛?shù)據(jù)存儲
寬列數(shù)據(jù)存儲采用混合方法,將關(guān)系數(shù)據(jù)庫的聲明性特征游戲與基于鍵值對且完全可變的鍵值存儲模式相結(jié)合。寬列數(shù)據(jù)庫將數(shù)據(jù)表存儲為數(shù)據(jù)列的部分而不是數(shù)據(jù)行。列族數(shù)據(jù)庫將列族中的數(shù)據(jù)存儲為具有許多與行鍵關(guān)聯(lián)的列的行。列族是一組經(jīng)常一起訪問的相關(guān)數(shù)據(jù)。
1、特點:多維密鑰存儲;本質(zhì)上是持久的;分散式;高靈活性。
2、優(yōu)點:支持半結(jié)構(gòu)化數(shù)據(jù);自然索引;可擴展。
3、缺點:不適用于關(guān)系數(shù)據(jù)。
四、圖數(shù)據(jù)庫
圖數(shù)據(jù)庫的特定用途是存儲面向圖的數(shù)據(jù)結(jié)構(gòu)。圖數(shù)據(jù)庫是任何提供無索引鄰接的存儲系統(tǒng)。這意味著每個節(jié)點都包含一個指向其相鄰元素的直接指針,并且不需要進行索引查找。隨著節(jié)點數(shù)量的增加,一跳的成本保持不變。
圖數(shù)據(jù)庫針對遍歷連接數(shù)據(jù)進行了優(yōu)化,例如遍歷社交網(wǎng)絡(luò)上的聯(lián)系人列表以找出連接程度。圖數(shù)據(jù)庫通常帶有靈活的數(shù)據(jù)模型,這意味著不需要定義邊和頂點的類型。
1、特點:靈活性;敏捷;提高性能,即使有大量數(shù)據(jù)。
2、優(yōu)點:極其強大;連接的數(shù)據(jù)在本地索引;可以提供酸;實時結(jié)果;敏捷結(jié)構(gòu)。
3、缺點:難以橫向擴展,但可以縱向擴展。
總結(jié):NoSQL數(shù)據(jù)庫的四種類型分別為鍵值 (KV) 存儲、文檔存儲、列族數(shù)據(jù)存儲和圖形數(shù)據(jù)庫。
審核編輯:湯梓紅
-
SQL
+關(guān)注
關(guān)注
1文章
783瀏覽量
45148 -
數(shù)據(jù)庫
+關(guān)注
關(guān)注
7文章
3927瀏覽量
66238 -
nosql
+關(guān)注
關(guān)注
0文章
39瀏覽量
10311
發(fā)布評論請先 登錄
數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—MongoDB數(shù)據(jù)庫文件丟失的數(shù)據(jù)恢復(fù)案例

數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—SQL Server數(shù)據(jù)庫被加密如何恢復(fù)數(shù)據(jù)?

分布式云化數(shù)據(jù)庫有哪些類型
MySQL數(shù)據(jù)庫的安裝

云數(shù)據(jù)庫是哪種數(shù)據(jù)庫類型?
數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—Mysql數(shù)據(jù)庫表記錄丟失的數(shù)據(jù)恢復(fù)流程

數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—MYSQL數(shù)據(jù)庫ibdata1文件損壞的數(shù)據(jù)恢復(fù)案例
SQL與NoSQL的區(qū)別
數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—通過拼接數(shù)據(jù)庫碎片恢復(fù)SQLserver數(shù)據(jù)庫

數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—SQL Server數(shù)據(jù)庫出現(xiàn)823錯誤的數(shù)據(jù)恢復(fù)案例

評論