SQL到NoSQL概覽性總結之一 數據庫應用場景選型

數據庫類型與實例

適合場景

不適合場景

場景舉例

關係數據庫

基於集合理論,具有行和列的二維表,嚴格使用類型

開源MySQL/MariaDB, PostgreSQL

商業:Oracle,DB2,SQL Server, Sybase

l  數據具有類型

l  靈活查詢。

l  即提前爲組織的複雜性付出代價,以實現隨後的查詢靈活性

l  數據高度或者多層次的,無法提前指定模式

 

鍵值數據庫

Redis

Riak—類dynamo

Memcached(membase..)

BerkeleyDB

Voldemort

l  數據相關性不高

l  性能極高

l  缺乏索引和掃描功能,除了基本的CRUD外幫助不大

l  對於自由定義的查詢無能爲力

l  不適合複雜查詢和聚合等

l  適合場景

Session信息

用戶概要等信息

購物車

l  不適合場景

數據之間存在強關聯

事務

根據value查詢

Operations by Sets

列型數據庫

HBase

Cassandra

Hypertable

l  橫向擴展

l  列的添加容易

l  版本控制

l  基於你打算如何查詢數據設計數據庫模式

l  不僅對數據如何組成有一些想法,對如何使用數據也要預先知曉

l  適合場景

事件日誌

CMS,博客

計數器

數據過時使用

l  不適合場景

 

文檔型

MongoDB

CouchDB

l  每個對象有任意數量字段,對象可以作爲值以任意深度嵌套到其他字段中

l  高度可變領域

l  很好的映射到OOP

l  缺乏複雜的查詢,如聯接

l  適合場景

事件日誌

CMS,博客

Web分析或者實時分析

電子商務

l  不適合場景

複雜事務

查詢持續變化的聚合結構

圖數據庫

Neo4j(支持ACID事務)

l  形式自由的網絡應用,如社交網絡

l  不需要將相似的對象劃分共同組,只要可以在白板上建模就可以表示

l  場景如推薦引擎、ACL和地理數據

l  節點之間的高度關聯,不適合網絡分區

l  擴展性差,通常大容量數據存儲在其他地方,而在圖中只保存關係

l  適合場景

互聯數據

路由、分發和基於位置的服務

推薦引擎

l  不適合場景

 


參考文獻

《七週七數據庫》

《NoSQL Distilled》

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