为什么使用NoSql及NoSql的优点
工作中遇到的挑戰(zhàn):
1,高并發(fā)讀寫
Web2.0網(wǎng)站,數(shù)據(jù)庫并發(fā)負(fù)載非常高,往往達(dá)到每秒上萬次的讀寫請(qǐng)求
2,高容量存儲(chǔ)和高效存儲(chǔ)
Web2.0網(wǎng)站通常需要在后臺(tái)數(shù)據(jù)庫中存儲(chǔ)海量數(shù)據(jù),如何存儲(chǔ)海量數(shù)據(jù)并進(jìn)行高效的查詢往往是一個(gè)挑戰(zhàn)
3,高擴(kuò)展性和高可用性
隨著系統(tǒng)的用戶量和訪問量與日俱增,需要數(shù)據(jù)庫能夠很方便的進(jìn)行擴(kuò)展、維護(hù)
?
傳統(tǒng)關(guān)系型數(shù)據(jù)庫的瓶頸:
1,無法應(yīng)對(duì)每秒上萬次的讀寫請(qǐng)求,硬盤IO此時(shí)也將變?yōu)樾阅芷款i
2,表中存儲(chǔ)記錄數(shù)量有限,橫向可擴(kuò)展能力有限,縱向數(shù)據(jù)可承受能力也是有限的,面對(duì)海量數(shù)據(jù),勢(shì)必涉及到分庫分表,難以維護(hù)
大數(shù)據(jù)查詢SQL效率極低,數(shù)據(jù)量到達(dá)一定程度時(shí),查詢時(shí)間會(huì)呈指數(shù)級(jí)別增長
3,難以橫向擴(kuò)展,無法簡(jiǎn)單地通過增加硬件、服務(wù)節(jié)點(diǎn)來提高系統(tǒng)性能
對(duì)于需要24小時(shí)不間斷提供服務(wù)的網(wǎng)站來說,數(shù)據(jù)庫升級(jí)、擴(kuò)展將是一件十分麻煩的事,往往需要停機(jī)維護(hù),數(shù)據(jù)遷移,為了避免服務(wù)間斷,如果網(wǎng)站使用服務(wù)器集群,則根據(jù)集群策略,需要相應(yīng)的考慮主從一致性、集群擴(kuò)展性等一系列問題
?
NoSQL數(shù)據(jù)庫的優(yōu)點(diǎn):
1,海量數(shù)據(jù)下,讀寫性能優(yōu)異
2,數(shù)據(jù)模型靈活
3,數(shù)據(jù)間無關(guān)系,易于擴(kuò)展
?
NoSQL數(shù)據(jù)庫分類:
1,鍵值存儲(chǔ)數(shù)據(jù)庫
代表數(shù)據(jù)庫:Redis
適用場(chǎng)景:會(huì)話信息,用戶配置信息,購物車
2,列存儲(chǔ)數(shù)據(jù)庫
代表數(shù)據(jù)庫:BigTable,Cassandra,HBase
適用場(chǎng)景:事件記錄,內(nèi)容管理,博客平臺(tái)
不適合需要ACID事務(wù)的場(chǎng)合
3,文檔型數(shù)據(jù)庫
代表數(shù)據(jù)庫:MongoDB
適用場(chǎng)景:事件記錄,內(nèi)容管理,博客平臺(tái),網(wǎng)站分析,實(shí)時(shí)分析,電子商務(wù)應(yīng)用
4,圖數(shù)據(jù)庫:可以使用圖結(jié)構(gòu)相關(guān)算法,比如最短路徑尋址
代表數(shù)據(jù)庫:Neo4j
適用場(chǎng)景:社交網(wǎng)絡(luò),推薦引擎,基于位置的服務(wù)
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的为什么使用NoSql及NoSql的优点的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 库克现身北京晒和黄龄合影 黄龄回复“美妙
- 下一篇: 完全禁用汽柴油?中石化及专家回应了