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