溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

MongDB有什么用

發(fā)布時(shí)間:2021-11-11 09:59:16 來源:億速云 閱讀:119 作者:小新 欄目:關(guān)系型數(shù)據(jù)庫

這篇文章給大家分享的是有關(guān)MongDB有什么用的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

1.    什么是NoSQl
NoSQL:Not Only SQL,本質(zhì)也是一種數(shù)據(jù)庫的技術(shù),相對(duì)于傳統(tǒng)數(shù)據(jù)庫技術(shù)NoSQL不會(huì)遵循一些SQL的約束,比如:
1.1SQL標(biāo)準(zhǔn):select * from table_name update table_name set  delete from table_name 這些傳統(tǒng)關(guān)系型數(shù)據(jù)庫(Oracle、Mysql,DB2)等關(guān)系型數(shù)據(jù)都遵循的sql標(biāo)準(zhǔn)。
1.2事務(wù)的ACID特性:A(Atomicity原子性)  C(Consistency一致性)I(Isolation 隔離性)D(Durability持久性)
1.3表結(jié)構(gòu)等(NoSQL沒有所謂的表結(jié)構(gòu))

2.    NoSQL優(yōu)點(diǎn):
2.1滿足對(duì)數(shù)據(jù)庫的高并發(fā)讀寫(一個(gè)應(yīng)用中最先出現(xiàn)性能瓶頸的就是DB層,一般Mysql能支持的并發(fā)在機(jī)器硬盤上為300左右,固態(tài)硬盤上為700左右。因此高并發(fā)場(chǎng)景下很容易突破數(shù)據(jù)庫的性能瓶頸,關(guān)系型數(shù)據(jù)庫在高并發(fā)讀寫性能上用戶體驗(yàn)較差或者當(dāng)并發(fā)大到一定量是直接導(dǎo)致數(shù)據(jù)庫崩潰)
2.2對(duì)海量數(shù)據(jù)的搞笑存儲(chǔ)和訪問(傳統(tǒng)關(guān)系型數(shù)據(jù)庫當(dāng)單表數(shù)據(jù)超過700萬的時(shí)候用戶體驗(yàn)就會(huì)極差,當(dāng)數(shù)據(jù)量大到一定程度的時(shí)候需要考慮分庫分表分區(qū)分片,讀寫分離,集群等手段保證數(shù)據(jù)庫的性能。傳統(tǒng)關(guān)系型數(shù)據(jù)庫的橫向擴(kuò)展或縱向擴(kuò)展維護(hù)成本較高,以及分布式事務(wù)的處理難度較大)
2.3對(duì)數(shù)據(jù)庫的高擴(kuò)展性和高可用性(相對(duì)于傳統(tǒng)關(guān)系型數(shù)據(jù)庫更容易實(shí)現(xiàn)水平擴(kuò)展和集群搭建)
2.4靈活的數(shù)據(jù)結(jié)構(gòu),滿足數(shù)據(jù)結(jié)構(gòu)不固定的場(chǎng)景(傳統(tǒng)關(guān)系型數(shù)據(jù)庫有固定的表結(jié)構(gòu)當(dāng)需求頻繁變化而且數(shù)據(jù)結(jié)構(gòu)不定的時(shí)候,新的需求往往會(huì)因?yàn)樯婕氨斫Y(jié)構(gòu)的修改導(dǎo)致需求變更開發(fā)工作量大或牽一發(fā)而動(dòng)全身的表結(jié)構(gòu)修改不能實(shí)現(xiàn)新的需求)
3.    NoSQL缺點(diǎn):
3.1一般不支持事務(wù),即使現(xiàn)在一些NoSQL已經(jīng)支持了事務(wù)如Redis,MongoDB但是它們的事務(wù)都是弱一致性的事務(wù),從事務(wù)支持的完整性和嚴(yán)格性上大不如關(guān)系型數(shù)據(jù)庫
3.2實(shí)現(xiàn)復(fù)雜的SQL查詢難度較大(比如要實(shí)現(xiàn)傳統(tǒng)關(guān)系型數(shù)據(jù)庫多表關(guān)聯(lián)各種聚合函數(shù)的報(bào)表查詢使用NoSQL實(shí)現(xiàn)難度較大)
3.3運(yùn)維人員數(shù)據(jù)維護(hù)門檻較高(目前的運(yùn)維人員對(duì)關(guān)系型數(shù)據(jù)庫的維護(hù)比較拿手,但是要維護(hù)NoSQL數(shù)據(jù)庫還需學(xué)習(xí))
3.4目前不是主流的數(shù)據(jù)庫技術(shù)(目前主流的數(shù)據(jù)庫技術(shù)依然是關(guān)系型數(shù)據(jù)庫)
4.    NoSql數(shù)據(jù)庫分類
MongDB有什么用
5.    Mongodb的基礎(chǔ)概念
目前在NoSql數(shù)據(jù)庫中Mongodb排名第一,因此學(xué)習(xí)Mongodb非常有必要
Mongdb:是一個(gè)數(shù)據(jù)庫,高性能、無模式、文檔型NoSQL數(shù)據(jù)庫,是目前NoSQL中最熱門的數(shù)據(jù)庫,開源產(chǎn)品,是NoSQL中功能最豐富且最像關(guān)系型數(shù)據(jù)庫的NoSQL數(shù)據(jù)庫
特性:
5.1面向集合文檔的存儲(chǔ):適合存儲(chǔ)Bson(json的擴(kuò)展)形式的數(shù)據(jù)
5.2格式自由,數(shù)據(jù)格式不固定,生產(chǎn)環(huán)境下修改結(jié)構(gòu)都不影響程序的運(yùn)行
5.3強(qiáng)大的查詢API,面向?qū)ο蟮牟樵冋Z言,基本覆蓋sql語言的所有功能
5.4完整的索引支持,支持查詢計(jì)劃
5.5支持復(fù)制(主從)和自動(dòng)故障轉(zhuǎn)移(高可用單點(diǎn)故障)
5.6支持二進(jìn)制數(shù)據(jù)及大型對(duì)象(文件)的搞笑存儲(chǔ)
5.7使用分片集群提升系統(tǒng)擴(kuò)展性
5.8使用內(nèi)存映射存儲(chǔ)引擎,把對(duì)硬盤的物理IO操作轉(zhuǎn)換為內(nèi)存操作提高讀寫性能但比較吃內(nèi)存
6.    Mongodb基本概念圖解
MongDB有什么用
7.    MongoDB概念與RDMS概念對(duì)比
MongDB有什么用
8.    如何決定一個(gè)業(yè)務(wù)場(chǎng)景是否需要使用MongoDB
并沒有某一業(yè)務(wù)場(chǎng)景必須使用Mongodb才能解決,能用Mongodb解決的用關(guān)系型數(shù)據(jù)庫都能解決,但是當(dāng)選擇使用Mongodb可以讓問題或業(yè)務(wù)場(chǎng)景解決的成本更低的時(shí)候就可以考慮使用Mongodb,問題的解決成本包括(學(xué)習(xí)成本,開發(fā)成本,運(yùn)維成本等)
MongDB有什么用
以上如果第一個(gè)yes被否定就不建議使用mongodb,如果上述第一個(gè)必須yes的滿足需求其余的選項(xiàng)中滿足任意一個(gè)或多個(gè)都可以使用mongodb,滿足的項(xiàng)越多越能體現(xiàn)mongodb的優(yōu)勢(shì)。
9.    MongoDB使用場(chǎng)景
Mongodb的應(yīng)用已經(jīng)***到各個(gè)計(jì)算機(jī)軟件領(lǐng)域,如游戲、物流、電商、內(nèi)容管理、社交網(wǎng)絡(luò)、物聯(lián)網(wǎng)、視頻直播等
9.1游戲場(chǎng)景:使用Mongodb存儲(chǔ)游戲用戶信息,用戶的裝備,積分等直接以內(nèi)嵌文檔的形式存儲(chǔ),方便查詢更新
9.2物流場(chǎng)景:使用Mongodb存儲(chǔ)商品評(píng)論、訂單信息,訂單狀態(tài)狀態(tài)在運(yùn)送過程中會(huì)不斷更新,以Mongodb內(nèi)嵌數(shù)組的形式來存儲(chǔ),一次查詢就能將訂單所有的變更讀取出來
9.3社交場(chǎng)景:使用Mongodb存儲(chǔ)用戶信息,以及用戶發(fā)表的朋友圈信息,通過地理位置索引實(shí)現(xiàn)查找附近的人,服務(wù)場(chǎng)所等功能
9.4物聯(lián)網(wǎng)場(chǎng)景:使用Mongodb存儲(chǔ)所有接入的只能設(shè)備的信息,以及設(shè)備匯報(bào)的日志信息,并對(duì)這些信息進(jìn)行多維度的分析
9.5視頻直播:使用Mongodb存儲(chǔ)用戶信息,禮物信息等

10.    那些業(yè)務(wù)場(chǎng)景下不能使用MongoDB
10.1要求高度的事務(wù)性的系統(tǒng):例如銀行系統(tǒng)、財(cái)務(wù)系統(tǒng)、支付系統(tǒng)等,因?yàn)镸ongodb對(duì)事務(wù)的支持完整性和嚴(yán)格性較弱
10.2傳統(tǒng)的商業(yè)智能應(yīng)用:特定問題的數(shù)據(jù)分析,多數(shù)據(jù)實(shí)體關(guān)聯(lián)(多表join操作)涉及到復(fù)雜的關(guān)聯(lián)查詢的報(bào)表系統(tǒng),高度優(yōu)化查詢的系統(tǒng)
10.3使用sql方便,數(shù)據(jù)結(jié)構(gòu)相對(duì)固定以上情況不建議使用Mongodb

感謝各位的閱讀!關(guān)于“MongDB有什么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI