眾所周知,數(shù)據(jù)庫(kù)是計(jì)算機(jī)的長(zhǎng)期存儲(chǔ),有組織,統(tǒng)一的管理,可以實(shí)現(xiàn)成多種形式的共享數(shù)據(jù)收集。而在眾多數(shù)據(jù)庫(kù)當(dāng)中,NoSQL數(shù)據(jù)庫(kù)沒(méi)有統(tǒng)一的體系結(jié)構(gòu)。兩個(gè)不同的NoSQL數(shù)據(jù)庫(kù)之間的差異遠(yuǎn)遠(yuǎn)超過(guò)兩個(gè)關(guān)系數(shù)據(jù)庫(kù)之間的差異。可以說(shuō)NoSQL數(shù)據(jù)庫(kù)有自己的優(yōu)勢(shì)。出色的NoSQL數(shù)據(jù)庫(kù)必須特別適合于某些場(chǎng)合或某些應(yīng)用程序。在這種情況下,它將遠(yuǎn)遠(yuǎn)超過(guò)關(guān)系數(shù)據(jù)庫(kù)和其他NoSQL數(shù)據(jù)庫(kù)。那么NoSQL數(shù)據(jù)庫(kù)是如何分類(lèi)的?
NoSQL數(shù)據(jù)庫(kù)是如何分類(lèi)的?
常見(jiàn)的NoSQL數(shù)據(jù)庫(kù)分為以下幾種。
1.鍵值數(shù)據(jù)庫(kù)
這一類(lèi)數(shù)據(jù)庫(kù)主要會(huì)使用到一個(gè)散列表,這個(gè)表中有一個(gè)特定的鍵和一個(gè)指針指向特定的數(shù)據(jù)。
鍵值模型對(duì)于IT系統(tǒng)來(lái)說(shuō),其優(yōu)勢(shì)在于簡(jiǎn)單、易部署。鍵值數(shù)據(jù)庫(kù)可以按照鍵對(duì)數(shù)據(jù)進(jìn)行定位,還可以通過(guò)對(duì)鍵進(jìn)行排序和分區(qū),以實(shí)現(xiàn)更快速的數(shù)據(jù)定位。
2.列族數(shù)據(jù)庫(kù)
列族數(shù)據(jù)庫(kù)通常用來(lái)應(yīng)對(duì)分布式存儲(chǔ)的海量數(shù)據(jù)。鍵仍然存在,但是它們的特點(diǎn)是指向了多個(gè)列。
此列族數(shù)據(jù)庫(kù)表中由兩行組成,每一行都有關(guān)鍵字RowKey,每一行由多個(gè)列族組成,即Column-Family-1和Column-Family-2,而每個(gè)列族由多個(gè)列組成。
3.文檔數(shù)據(jù)庫(kù)
文檔數(shù)據(jù)庫(kù)的靈感來(lái)自LotusNotes辦公軟件,它與鍵值數(shù)據(jù)庫(kù)類(lèi)似。該類(lèi)型的數(shù)據(jù)模型是版本化的文檔,文檔以特定的格式存儲(chǔ),如JSON。
文檔數(shù)據(jù)庫(kù)可以看作鍵值數(shù)據(jù)庫(kù)的升級(jí)版,允許之間嵌套鍵值。
文檔數(shù)據(jù)庫(kù)比鍵值數(shù)據(jù)庫(kù)的查詢效率更高,因?yàn)槲臋n數(shù)據(jù)庫(kù)不僅可以根據(jù)鍵創(chuàng)建索引,同時(shí)還可以根據(jù)文檔內(nèi)容創(chuàng)建索引。
4.圖形數(shù)據(jù)庫(kù)
圖形數(shù)據(jù)庫(kù)來(lái)源于圖論中的拓?fù)鋵W(xué),以節(jié)點(diǎn)、邊及節(jié)點(diǎn)之間的關(guān)系來(lái)存儲(chǔ)復(fù)雜網(wǎng)絡(luò)中的數(shù)據(jù)。
這種拓?fù)浣Y(jié)構(gòu)類(lèi)似E-R圖,但在圖形模式中,關(guān)系和節(jié)點(diǎn)本身就是數(shù)據(jù),而在E-R圖中,關(guān)系描述的是一種結(jié)構(gòu)。
上述就是關(guān)于NoSQL數(shù)據(jù)庫(kù)是如何分類(lèi)的全部?jī)?nèi)容介紹,想了解更多關(guān)于NoSQL數(shù)據(jù)庫(kù)的信息,請(qǐng)繼續(xù)關(guān)注中培偉業(yè)。