久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

    1. <style id="76ofp"></style>

      <style id="76ofp"></style>
      <rt id="76ofp"></rt>
      <form id="76ofp"><optgroup id="76ofp"></optgroup></form>
      1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

        手機(jī)站
        千鋒教育

        千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

        千鋒教育

        掃一掃進(jìn)入千鋒手機(jī)站

        領(lǐng)取全套視頻
        千鋒教育

        關(guān)注千鋒學(xué)習(xí)站小程序
        隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

        當(dāng)前位置:首頁  >  技術(shù)干貨  > pythonmongodb數(shù)據(jù)庫(kù)適合做什么

        pythonmongodb數(shù)據(jù)庫(kù)適合做什么

        來源:千鋒教育
        發(fā)布人:xqq
        時(shí)間: 2023-11-09 13:01:44 1699506104

        python的mongodb眾所周知不支持事務(wù),所以需要強(qiáng)事務(wù)的業(yè)務(wù)根本不能考慮mongodb。

        mongodb的優(yōu)勢(shì)就是文檔存儲(chǔ):

        1.業(yè)務(wù)經(jīng)常變動(dòng),需要不時(shí)的添加字段,那么mongodb比較適合,關(guān)系型數(shù)據(jù)庫(kù)添加字段的復(fù)雜度也還好

        2.嵌套文檔,業(yè)務(wù)數(shù)據(jù)比較復(fù)雜,適合嵌套文檔式存儲(chǔ),那么mongodb非常合適,這個(gè)關(guān)系型數(shù)據(jù)庫(kù)比較難搞,雖然MySQL和pg也有文檔存儲(chǔ),但MySQL的不成熟,pg畢竟現(xiàn)在生產(chǎn)中使用還是偏少,個(gè)人也不了解,這里不談。但這不僅僅這一點(diǎn)優(yōu)勢(shì),具體下面會(huì)細(xì)說。

        3.upsert支持,查詢速度也不慢

        4.高可用的副本集支持

        5.查詢語法非常豐富,嵌套文檔查詢功能非常強(qiáng)大,不是重度用戶可能不能理解

        下面說說一個(gè)具體的使用事例:

        項(xiàng)目的一條數(shù)據(jù)在10kb左右,如果使用關(guān)系型數(shù)據(jù)庫(kù)那么需要將這條數(shù)據(jù)拆分成大概幾百條左右,建造多個(gè)表,設(shè)計(jì)較復(fù)雜,這種數(shù)據(jù)大概在一百萬條左右,想想拆分后在十幾億的數(shù)據(jù)量就可怕。打平后的數(shù)據(jù)什么DB也都可以拿下,只是一百萬變十幾億比較恐怖而已。

        如果采用MySQL存儲(chǔ),每次查詢需要使用外鍵查詢多個(gè)表,從這些表中拉取數(shù)據(jù),性能肯定要下降很多,比不上只在一個(gè)表查詢,而且只拉取少兩個(gè)數(shù)量級(jí)的數(shù)據(jù)。查詢也還好,業(yè)務(wù)允許可以對(duì)結(jié)果做緩存,放到redis里去。

        但是重點(diǎn)來了,需求要增量更新部分?jǐn)?shù)據(jù),這時(shí)候需要更新多個(gè)表,根本沒法做到原子性(注意事務(wù)不是原子操作),當(dāng)然也可以使用cas等技術(shù)補(bǔ)償,達(dá)到最終一致性。但使用mongodb存儲(chǔ)只需要update一條數(shù)據(jù),對(duì)相應(yīng)的嵌套文檔中內(nèi)容更新,可以做到原子性,是不是很方便?

        具體說說該項(xiàng)目的難點(diǎn),查詢無法使用緩存,可能會(huì)很吃驚,但是業(yè)務(wù)決定了確實(shí)做不了,而且增量更新的量達(dá)到上萬的QPS,如果不能保證原子性想想多么可怕!

        所以mongodb在這里幫了大忙,關(guān)系型數(shù)據(jù)庫(kù)解決不了這個(gè)難題。

        有人可能要問,mongodb沒有事務(wù),上游數(shù)據(jù)寫入也會(huì)有問題,你不可能所有數(shù)據(jù)都存一個(gè)表吧?

        當(dāng)然不是的,我們mongodb里的數(shù)據(jù)是從MySQL中清洗出來存到mongodb中的,mongodb只做單點(diǎn)的業(yè)務(wù)需求,綜合的數(shù)據(jù)還是在MySQL中。

        此項(xiàng)目我們用了上百個(gè)副本集,保證系統(tǒng)的高可用,這些副本集配置只要一條shell就搞定,如果用MySQL的主從不知道怎么配(我自己不懂),估計(jì)DBA得忙死,而該項(xiàng)目完全不需要也沒用到DBA。

        說了這么多mongo的優(yōu)點(diǎn),也說說他的缺點(diǎn):

        1.查詢優(yōu)化器和MySQL沒法比

        2.不支持reload,只能冷重啟,初始化配置的時(shí)候比較麻煩

        3.沒有事務(wù),不敢存儲(chǔ)第一手?jǐn)?shù)據(jù),多用來做備份數(shù)據(jù)的存儲(chǔ)

        mongodb可以做很多事情,取決于你腦洞,性能不差,存一些相對(duì)不重要的數(shù)據(jù),mongodb嵌套文檔功能強(qiáng)大,多看看官方文檔挖掘挖掘有用信息,每次都能發(fā)現(xiàn)驚喜。

        以上內(nèi)容為大家介紹了Python培訓(xùn)之mongodb數(shù)據(jù)庫(kù)適合做什么,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。

        聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
        10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
        請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
        免費(fèi)領(lǐng)取
        今日已有369人領(lǐng)取成功
        劉同學(xué) 138****2860 剛剛成功領(lǐng)取
        王同學(xué) 131****2015 剛剛成功領(lǐng)取
        張同學(xué) 133****4652 剛剛成功領(lǐng)取
        李同學(xué) 135****8607 剛剛成功領(lǐng)取
        楊同學(xué) 132****5667 剛剛成功領(lǐng)取
        岳同學(xué) 134****6652 剛剛成功領(lǐng)取
        梁同學(xué) 157****2950 剛剛成功領(lǐng)取
        劉同學(xué) 189****1015 剛剛成功領(lǐng)取
        張同學(xué) 155****4678 剛剛成功領(lǐng)取
        鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
        董同學(xué) 138****2867 剛剛成功領(lǐng)取
        周同學(xué) 136****3602 剛剛成功領(lǐng)取
        相關(guān)推薦HOT
        县级市| 朔州市| 潍坊市| 赣州市| 沛县| 贵南县| 广元市| 砀山县| 姚安县| 合水县| 温泉县| 浮山县| 探索| 湖南省| 古田县| 会同县| 乡城县| 张家港市| 海兴县| 土默特左旗| 高雄市| 乌拉特中旗| 大新县| 萨嘎县| 剑河县| 昭平县| 诸暨市| 丹阳市| 高淳县| 木里| 皋兰县| 莆田市| 琼海市| 青海省| 遂昌县| 罗山县| 隆子县| 滨海县| 安丘市| 和田县| 城口县|