數據存儲模型

在互聯網行業,通常需要高併發、高性能、高可用性的數據庫系統。在處理大數據時,關係型數據庫遭遇了瓶頸,這就促使我們思考從數據模型的根源入手,來解決性能上的問題。根據數據的存儲模型和特點,NoSQL數據庫分爲很多種類,主要分爲以下四個類型:鍵值模型、列式模型、文檔模型與圖形模型。


鍵值模型

實例:Dynamo、Redis、Voldemort

應用場景:內容緩存,主要用於處理大量數據的高訪問負載,也用於一些日誌系統

數據模型:key與value間建立的鍵值映射,通常用哈希表實現

優點:查找迅速

缺點:數據無結構化,通常只被當做字符串或者二進制數據


列式模型

實例:Bigtable、Cassandra、HBase

應用場景:分佈式文件系統

數據模型:以列存儲,將同一列數據存在一起

優點:查找迅速、可擴展性強,更容易進行分佈式擴展

缺點:功能相對有限


文檔模型

實例:CouchDB、MongoDB

應用場景:Web應用

數據模型:與鍵值模型類似,value指向結構化數據

優點:數據要求不嚴格,不需要預先定義結構

缺點:查詢性能不高,缺乏統一查詢語法


鍵值模型

實例:Neo4j

應用場景:社交網絡、推薦系統、關係圖譜

數據模型:圖結構

優點:利用圖結構相關算法提高性能

缺點:功能相對有限,不好做分佈式集羣解決方案








發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章