NoSQL系列:選擇合適的數(shù)據(jù)庫(kù)
NoSQL系列:選擇合適的數(shù)據(jù)庫(kù)
為什么使用NoSQL數(shù)據(jù)庫(kù)?
1、阻抗失衡
關(guān)系模型和內(nèi)存中的數(shù)據(jù)結(jié)構(gòu)不匹配
采用更為方便的數(shù)據(jù)交互方式提升開(kāi)發(fā)效率
2、待處理的數(shù)據(jù)量很大
數(shù)據(jù)量超過(guò)關(guān)系型數(shù)據(jù)庫(kù)的承載能力
大集群的出現(xiàn)
在成本方面,集群中應(yīng)用關(guān)系數(shù)據(jù)庫(kù),許可費(fèi)用是一筆很大的支出;
橫向擴(kuò)展和縱向擴(kuò)展:關(guān)系數(shù)據(jù)庫(kù)一般只能是縱向擴(kuò)展,通過(guò)對(duì)單機(jī)服務(wù)器的性能換代增強(qiáng)而實(shí)現(xiàn);而對(duì)于擴(kuò)展到多個(gè)服務(wù)器,
DBMS先天不足;(DBMS不是設(shè)計(jì)給集群使用的)
3、對(duì)數(shù)據(jù)的訪問(wèn)效率要求高
NoSQL數(shù)據(jù)庫(kù)的分類
鍵值數(shù)據(jù)庫(kù)
1、產(chǎn)品
Redis
BerkerleyDB
Memcached
Project Voldemort
Riak
LevelDB
2、適用場(chǎng)景
存放會(huì)話信息
用戶配置信息
購(gòu)物車數(shù)據(jù)
3、不適合的場(chǎng)景
數(shù)據(jù)間有大量關(guān)系
含有多項(xiàng)操作的事務(wù)
根據(jù)鍵值的部分來(lái)查詢數(shù)據(jù)
操作關(guān)鍵字集合
文檔數(shù)據(jù)庫(kù)
1、產(chǎn)品
MongoDB
CouchDB
RavenDB
Terrastore
OrientDB
2、適用場(chǎng)景
事件記錄
內(nèi)容管理系統(tǒng)及博客平臺(tái)
網(wǎng)站分析及實(shí)時(shí)分析
電子商務(wù)應(yīng)用程序
(需要較靈活的模式,低成本建立數(shù)據(jù)模型)
3、不適合場(chǎng)景
包含多項(xiàng)操作的復(fù)雜查詢
查詢持續(xù)變化的聚合結(jié)構(gòu)
列族數(shù)據(jù)庫(kù)
1、產(chǎn)品
HBase
Amazon SimpleDB
Cassdndra
Hypertable
BigTable(google)
2、適用場(chǎng)景
事件記錄
(保存應(yīng)用程序狀態(tài),運(yùn)行中遇到的錯(cuò)誤)
CMS及博客平臺(tái)
計(jì)數(shù)器
3、不適用場(chǎng)景
需要ACID事務(wù)
查詢模式變化頻繁的場(chǎng)合
圖數(shù)據(jù)庫(kù)
1、產(chǎn)品
FlockDB
HyperGraphDB
Infinite Graph
Neo4J
OrientDB
2、適用場(chǎng)景
互聯(lián)數(shù)據(jù)
推薦引擎
基于位置的服務(wù)
3、不適用場(chǎng)景
更新全部或某個(gè)子集的實(shí)體
附思維導(dǎo)圖
posted on 2014-07-09 11:15 順其自然EVO 閱讀(173) 評(píng)論(0) 編輯 收藏 所屬分類: 測(cè)試學(xué)習(xí)專欄