NoSQL數據庫有四種類型:鍵-值對、麵向列的、基於圖的和麵向文檔的。每個類別都有自己的一組特征和限製。上麵列出的數據庫都不能更好地解決所有的困難。用戶應該選擇滿足其產品需求的數據庫。
NoSQL數據庫的類型:
- 基於鍵-值對。
- 麵向列的圖形。
- 基於圖形。
- 麵向文檔的。
1)基於鍵值對:
鍵/值對用於存儲數據。它是用來處理大量數據和重載的。
數據以哈希表的形式存儲在鍵-值對存儲數據庫中,每個鍵都是惟一的,值是JSON、BLOB(二進製大對象)、文本或其他格式。
它是最基本的NoSQL數據庫之一。這種類型的NoSQL數據庫用於集合、字典和關聯數組等。開發人員可以使用鍵值存儲來存儲沒有模式的數據。它們很適合放在購物車裏的東西。
NoSQL鍵值存儲數據庫包括Redis、Dynamo和Riak。它們都是基於亞馬遜的發電機論文。
2)用於圖:
麵向列的數據庫基於穀歌的BigTable論文,並使用列實現功能。每一列都獨立處理。單列數據庫的值保存在一起。
因為數據在列中很容易獲得,所以它們在SUM、COUNT、AVG、MIN等聚合查詢上具有良好的性能。
數據倉庫、商業智能、CRM、圖書館卡片目錄和其他應用程序都使用基於列的NoSQL數據庫。
基於列的數據庫,如HBase、Cassandra、HBase、Hypertable等都是NoSQL查詢的實例。
3.基於:
圖形數據庫維護兩個實體和它們之間的關係。實體表示為節點,而關係表示為邊。邊在節點之間建立連接。給每個節點和邊分配一個唯一的標識符。
圖數據庫本質上是多關係的,而關係數據庫具有鬆散連接的表。遍曆關係非常快,因為它們已經存儲在數據庫中,不需要計算。
圖形數據庫通常用於社交網絡、物流和地理數據。
流行的基於圖的數據庫包括Neo4J、Infinite Graph、OrientDB和FlockDB。
4.麵向文檔:
麵向文檔的NoSQL DB數據的值部分作為文檔保存,而鍵值對作為鍵值對存儲。JSON或XML格式用於存儲文檔。數據庫能夠理解該值並進行查詢。
在左邊,您可以看到行和列,在右邊,您可以看到具有類似於JSON結構的文檔數據庫。現在您有了一個關係數據庫,您必須知道有哪些列以及如何使用它們。另一方麵,文檔數據庫使用JSON對象之類的數據存儲。你不需要定義任何東西,這使得它具有靈活性。
CMS係統、博客平台、實時分析和電子商務應用程序都使用這種文檔類型。它不應該用於涉及針對不同聚合模型的多個操作或查詢的複雜事務。
流行的文檔DBMS係統包括Amazon SimpleDB、CouchDB、MongoDB、Riak、Lotus Notes和MongoDB。