日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
MongoDB適合做商城app數(shù)據(jù)庫嗎?(mongodb為什么不支持事務(wù))

MongoDB適合做商城app數(shù)據(jù)庫嗎?

剛好最近接觸的項目是一個商城項目并且使用了MongoDB數(shù)據(jù)庫。

創(chuàng)新互聯(lián)主營宜春網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都App定制開發(fā),宜春h5小程序開發(fā)搭建,宜春網(wǎng)站營銷推廣歡迎宜春等地區(qū)企業(yè)咨詢

該商城系統(tǒng)使用MongoDB的目的是存儲大量的商品信息,并且結(jié)合了搜索引擎lucene,以便于維護商品信息和進行查詢。

說明商城系統(tǒng)使用MongoDB不是稀奇的事情。

一分鐘了解MongoDB

MongoDB最大的特點是與MySQL等關(guān)系型數(shù)據(jù)庫不同的是,他是基于分布式文件存儲的數(shù)據(jù)庫。它的存儲的數(shù)據(jù)格式是最接近自然最面向?qū)ο蟮腏son格式。

最重要的是,MongoDB,不支持復雜事務(wù)和連表查詢。

請注意這一點也就意味著MongoDB的適用場景是有一定局限性的,如果你想要復雜連表查詢和事務(wù),那么MongoDB將做不到。

如果你是想維護單表信息并且做頻繁得更新和查詢,而且數(shù)據(jù)量增長指數(shù)很嚇人,MongoDB非常適合。

宇文氏建議:

這也就意味著如果MongoDB用于電商系統(tǒng),那么很可能作為其中的一個數(shù)據(jù)存儲部分,多半會和MySQL等數(shù)據(jù)庫聯(lián)合使用。

關(guān)注“極客宇文氏”,一名有料的軟件工程師。

個人認為,MongoDB不太適合用作商城APP的數(shù)據(jù)庫:

能用是肯定能用的,但是不適合,開發(fā)過程中需要解決的問題會比較多且嚴峻;

單獨只使用MongoDB是不適合的,可以用它解決一部分的問題,也就是關(guān)系型數(shù)據(jù)庫和MongoDB配合著使用。

概括地說一下MongoDB是什么:它是一個基于分布式文件存儲的非關(guān)系型數(shù)據(jù)庫;我們常見的MySQL、Oracle都是關(guān)系型數(shù)據(jù)庫,數(shù)據(jù)在關(guān)系型數(shù)據(jù)庫中都是通過表的格式展現(xiàn),可以看做二維表格;而MongoDB中的數(shù)據(jù),類似于JSON格式(BSON)。

MongoDB除了性能上的優(yōu)勢之外,我認為最大的優(yōu)點就是數(shù)據(jù)模式自由,如果你愿意的話,可以將任何數(shù)據(jù)都保存到同一張表中(MongoDB中叫做Collection,等同于關(guān)系型數(shù)據(jù)庫中的Table);

比如像這樣,一條客戶信息,一條產(chǎn)品信息,兩條毫無交集的數(shù)據(jù),可以保存到同一個Collection中(比較極端的做法,實際使用的時候還是要區(qū)分開):

這個問題要看是什么樣的商城?如果是作者可以小東西,商城非常簡單,那還是可以的。現(xiàn)在比較火的前后端分離,以及全棧工程師,從前端寫到后端,老顧看到有些視頻和文章就是用MongoDB作為數(shù)據(jù)庫進行開發(fā)的。

因地制宜

真實已經(jīng)運營上線的商城系統(tǒng)是比較復雜的,設(shè)計到的技術(shù)點也是比較多的。好的系統(tǒng)不會只選擇一種方案,而是遇到什么業(yè)務(wù)場景,選擇不同的方案。

持久化方案

我們這里溝通一下持久化方案。小伙伴們經(jīng)常掛到嘴邊的數(shù)據(jù)庫其實就是一種持久化方案,把數(shù)據(jù)保存到磁盤上面。經(jīng)常用到的產(chǎn)品如:oracle,mysql,MongoDB,elasticsearch,hdfs,甚至redis都是。

不同的持久化產(chǎn)品有不同的特性,mongoDB采用的是kv存儲的方式,高性能,天生支持分布式,常常是用來做數(shù)據(jù)分析的。他的弱點就是關(guān)聯(lián)查詢就比較麻煩。

而傳統(tǒng)的mysql數(shù)據(jù)庫關(guān)聯(lián)查詢就比較方便,但性能不高,搭建集群也比較麻煩。

總結(jié):要看具體的業(yè)務(wù)場景,選擇不同的持久化方案;不能脫離了業(yè)務(wù),脫離業(yè)務(wù)就是耍流氓了。

首先,mongdb一個最大的缺點就是不能進行多表聯(lián)合查詢,也就是說像mysql等關(guān)系型數(shù)據(jù)庫里面的join語法在mongdb是不存在的。所以說如果你想要的數(shù)據(jù)確保在一張表里就能查出來就還好,如果涉及到多表的話難道你想用各種for循環(huán)去實現(xiàn)表的聯(lián)合查詢嗎?

而實際上商城系統(tǒng)還是比較復雜的,業(yè)務(wù)不可能用一張表來表達,肯定會涉及到多表查詢,因此mongdb可以用在商城系統(tǒng)中的一環(huán),但是不能用于全部。

到此,以上就是小編對于mongodb支持事務(wù)嗎的問題就介紹到這了,希望這1點解答對大家有用。


文章標題:MongoDB適合做商城app數(shù)據(jù)庫嗎?(mongodb為什么不支持事務(wù))
瀏覽地址:http://www.dlmjj.cn/article/dhidcgh.html