溫馨提示×

溫馨提示×

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

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

應(yīng)用MongoDB的場景有哪些

發(fā)布時(shí)間:2021-11-11 13:54:51 來源:億速云 閱讀:137 作者:iii 欄目:關(guān)系型數(shù)據(jù)庫

本篇內(nèi)容主要講解“應(yīng)用MongoDB的場景有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“應(yīng)用MongoDB的場景有哪些”吧!

很多人比較關(guān)心 MongoDB 的適用場景,也有用戶在話題里分享了自己的業(yè)務(wù)場景,比如

案例1

  1. 用在應(yīng)用服務(wù)器的日志記錄,查找起來比文本靈活,導(dǎo)出也很方便。也是給應(yīng)用練手,從外圍系統(tǒng)開始使用MongoDB。

  2. 用在一些第三方信息的獲取或者抓取,因?yàn)镸ongoDB的schema-less,所有格式靈活,不用為了各種格式不一樣的信息專門設(shè)計(jì)統(tǒng)一的格式,極大得減少開發(fā)的工作。

案例2

  1. mongodb之前有用過,主要用來存儲(chǔ)一些監(jiān)控?cái)?shù)據(jù),No schema 對開發(fā)人員來說,真的很方便,增加字段不用改表結(jié)構(gòu),而且學(xué)習(xí)成本極低。

案例3

  1. 使用MongoDB做了O2O快遞應(yīng)用,·將送快遞騎手、快遞商家的信息(包含位置信息)存儲(chǔ)在 MongoDB,然后通過 MongoDB 的地理位置查詢,這樣很方便的實(shí)現(xiàn)了查找附近的商家、騎手等功能,使得快遞騎手能就近接單,目前在使用MongoDB 上沒遇到啥大的問題,官網(wǎng)的文檔比較詳細(xì),很給力。

經(jīng)常跟一些同學(xué)討論 MongoDB 業(yè)務(wù)場景時(shí),會(huì)聽到類似『你這個(gè)場景 mysql 也能解決,沒必要一定用 MongoDB』的聲音,的確,并沒有某個(gè)業(yè)務(wù)場景必須要使用 MongoDB才能解決,但使用 MongoDB 通常能讓你以更低的成本解決問題(包括學(xué)習(xí)、開發(fā)、運(yùn)維等成本),下面是 MongoDB 的主要特性,大家可以對照自己的業(yè)務(wù)需求看看,匹配的越多,用 MongoDB 就越合適。

MONGODB 特性優(yōu)勢
事務(wù)支持MongoDB 目前只支持單文檔事務(wù),需要復(fù)雜事務(wù)支持的場景暫時(shí)不適合
靈活的文檔模型JSON 格式存儲(chǔ)最接近真實(shí)對象模型,對開發(fā)者友好,方便快速開發(fā)迭代
高可用復(fù)制集滿足數(shù)據(jù)高可靠、服務(wù)高可用的需求,運(yùn)維簡單,故障自動(dòng)切換
可擴(kuò)展分片集群海量數(shù)據(jù)存儲(chǔ),服務(wù)能力水平擴(kuò)展
高性能mmapv1、wiredtiger、mongorocks(rocksdb)、in-memory 等多引擎支持滿足各種場景需求
強(qiáng)大的索引支持地理位置索引可用于構(gòu)建 各種 O2O 應(yīng)用、文本索引解決搜索的需求、TTL索引解決歷史數(shù)據(jù)自動(dòng)過期的需求
Gridfs解決文件存儲(chǔ)的需求
aggregation & mapreduce解決數(shù)據(jù)分析場景需求,用戶可以自己寫查詢語句或腳本,將請求都分發(fā)到 MongoDB 上完成

從目前阿里云 MongoDB 云數(shù)據(jù)庫上的用戶看,MongoDB 的應(yīng)用已經(jīng)滲透到各個(gè)領(lǐng)域,比如游戲、物流、電商、內(nèi)容管理、社交、物聯(lián)網(wǎng)、視頻直播等,以下是幾個(gè)實(shí)際的應(yīng)用案例。

  • 游戲場景,使用 MongoDB 存儲(chǔ)游戲用戶信息,用戶的裝備、積分等直接以內(nèi)嵌文檔的形式存儲(chǔ),方便查詢、更新

  • 物流場景,使用 MongoDB 存儲(chǔ)訂單信息,訂單狀態(tài)在運(yùn)送過程中會(huì)不斷更新,以 MongoDB 內(nèi)嵌數(shù)組的形式來存儲(chǔ),一次查詢就能將訂單所有的變更讀取出來。

  • 社交場景,使用 MongoDB 存儲(chǔ)存儲(chǔ)用戶信息,以及用戶發(fā)表的朋友圈信息,通過地理位置索引實(shí)現(xiàn)附近的人、地點(diǎn)等功能

  • 物聯(lián)網(wǎng)場景,使用 MongoDB 存儲(chǔ)所有接入的智能設(shè)備信息,以及設(shè)備匯報(bào)的日志信息,并對這些信息進(jìn)行多維度的分析

  • 視頻直播,使用 MongoDB 存儲(chǔ)用戶信息、禮物信息等

  • ……

如果你還在為是否應(yīng)該使用 MongoDB,不如來做幾個(gè)選擇題來輔助決策(注:以下內(nèi)容改編自 MongoDB 公司 TJ 同學(xué)的某次公開技術(shù)分享)。

應(yīng)用特征YES / NO
應(yīng)用不需要事務(wù)及復(fù)雜 join 支持必須 Yes
新應(yīng)用,需求會(huì)變,數(shù)據(jù)模型無法確定,想快速迭代開發(fā)?
應(yīng)用需要2000-3000以上的讀寫QPS(更高也可以)
應(yīng)用需要TB甚至 PB 級別數(shù)據(jù)存儲(chǔ)?
應(yīng)用發(fā)展迅速,需要能快速水平擴(kuò)展?
應(yīng)用要求存儲(chǔ)的數(shù)據(jù)不丟失?
應(yīng)用需要99.999%高可用?
應(yīng)用需要大量的地理位置查詢、文本查詢

如果上述有1個(gè) Yes,可以考慮 MongoDB,2個(gè)及以上的 Yes,選擇 MongoDB 絕不會(huì)后悔。

到此,相信大家對“應(yīng)用MongoDB的場景有哪些”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

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

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

AI