日韩欧乱色一区二区三区在线_久久―日本道色综合久久_欧美日本一区二区_网曝91综合精品门事件在线

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

手機站
千鋒教育

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

千鋒教育

掃一掃進入千鋒手機站

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

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

當(dāng)前位置:首頁  >  技術(shù)干貨  > 一個大型的SNS網(wǎng)站,是否適合數(shù)據(jù)庫全部用mongodb來做,為什么?

一個大型的SNS網(wǎng)站,是否適合數(shù)據(jù)庫全部用mongodb來做,為什么?

來源:千鋒教育
發(fā)布人:xqq
時間: 2023-10-13 07:26:34 1697153194

一、一個大型的SNS網(wǎng)站,是否適合數(shù)據(jù)庫全部用mongodb來做,為什么

一個大型的SNS網(wǎng)站,數(shù)據(jù)庫不適合全部用mongodb來做,原因如下。

1、數(shù)據(jù)一致性問題

MongoDB雖然支持事務(wù),但在某些特定場景下,如對多文檔的復(fù)雜操作仍然存在局限性。相較于傳統(tǒng)的關(guān)系型數(shù)據(jù)庫,在數(shù)據(jù)一致性方面還存在一定的問題。

2、存儲空間占用較大

MongoDB在存儲文檔的時候會將字段名稱存儲在每個文檔中,這會導(dǎo)致存儲空間占用較大。在大型SNS網(wǎng)站存儲海量數(shù)據(jù)時,這可能會成為一個問題。

3、不支持 JOIN 操作

MongoDB不支持關(guān)系型數(shù)據(jù)庫中類似于JOIN操作的高級查詢功能,這意味著如果需要多表查詢,開發(fā)人員需要自己手動處理,增加系統(tǒng)的復(fù)雜度和耗費更多的時間和精力。

4、缺乏豐富的管理工具和資源

相較于傳統(tǒng)的關(guān)系型數(shù)據(jù)庫,MongoDB缺乏成熟的管理工具和豐富的資源。在大規(guī)模的SNS網(wǎng)站中,這可能會導(dǎo)致管理和維護數(shù)據(jù)庫變得更加困難和耗時。

5、適用場景有限

MongoDB適合存儲非常規(guī)或更加復(fù)雜的數(shù)據(jù)類型,例如嵌套文檔和數(shù)組等。然而,對于結(jié)構(gòu)化類型的數(shù)據(jù)(如用戶登錄、訂單管理等)來說,使用一種傳統(tǒng)的關(guān)系型數(shù)據(jù)庫可能會更加適合。

二、MongoDB概述

1、簡介

MongoDB是一個基于分布式文件存儲的數(shù)據(jù)庫。由C++語言編寫。旨在為WEB應(yīng)用提供可擴展的高性能數(shù)據(jù)存儲解決方案。

MongoDB是一個介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫的。它支持的數(shù)據(jù)結(jié)構(gòu)非常松散,是類似json的bson格式,因此可以存儲比較復(fù)雜的數(shù)據(jù)類型。Mongo最大的特點是它支持的查詢語言非常強大,其語法有點類似于面向?qū)ο蟮牟樵冋Z言,幾乎可以實現(xiàn)類似關(guān)系數(shù)據(jù)庫單表查詢的絕大部分功能,而且還支持對數(shù)據(jù)建立索引。

簡而言之,MongoDB是文檔型的NoSQL數(shù)據(jù)庫,數(shù)據(jù)以文檔(對應(yīng)關(guān)系型數(shù)據(jù)庫的記錄)的形式在MongoDB中保存,文檔實際上就是一個個JSON字符串,使用JSON的好處是非常直觀,通過一系列的Key-Value鍵值對來表示數(shù)據(jù),符合我們的閱讀習(xí)慣。

2、特點

高性能

MongoDB提供高性能的數(shù)據(jù)持久性。對嵌入式數(shù)據(jù)模型的支持減少了數(shù)據(jù)庫系統(tǒng)上的IO活動。索引支持更快的查詢,并且包含嵌入式文檔和數(shù)組的鍵。

文本索引解決搜索的需求;TTL索引解決歷史數(shù)據(jù)自動過期的需求;地理位置索引可用于構(gòu)建各種 O2O 應(yīng)用。

高可用性

MongoDB的復(fù)制工具稱為副本集(reolica set),它包含提供自動故障轉(zhuǎn)移和數(shù)據(jù)冗余。

高可用性

MongoDB提供了水平可擴展性作為其核心功能的一部分。分片將數(shù)據(jù)分布在一組集群的機器上。(海量數(shù)據(jù)存儲、服務(wù)能力水平擴展)

從3.4起,MongoDB支持基于片鍵創(chuàng)建數(shù)據(jù)區(qū)域,在一個平衡的集群中,MongoDB將一個區(qū)域所覆蓋的讀寫只定向到該區(qū)域內(nèi)的那些片。

豐富的查詢支持

MongoDB支持豐富的查詢語言,支持讀寫(CRUD)操作、比如數(shù)據(jù)聚合、文本搜索、地理空間查詢等。

其他特點

如動態(tài)模式、靈活的文檔模型。

3、應(yīng)用場景

游戲場景:使用MongoDB存儲游戲用戶信息、裝備、積分等,直接以內(nèi)嵌文檔的形式存儲,方便查詢、更新。物流場景:使用MongoDB存儲訂單信息、訂單狀態(tài)、物流信息,訂單狀態(tài)在運送過程中飛速迭代、以MongoDB內(nèi)嵌數(shù)組的形式來存儲,一次查詢就能將訂單所有的變更查出來,牛逼plus。社交場景:使用MongoDB存儲用戶信息,朋友圈信息,通過地理位置索引實現(xiàn)附近的人、定位功能。物聯(lián)網(wǎng)場景:使用MongoDB存儲設(shè)備信息、設(shè)備匯報的日志信息、并對這些信息進行多維度分析。視頻直播:使用MongoDB存儲用戶信息、點贊互動信息。

4、語言支持

MongoDB有官方的驅(qū)動如下:

CC++C# / .NETErlangHaskellJavaJavaScriptLispnode.JSPerlPHPPythonRubyScalaGo

5、應(yīng)用案例

Craiglist,上使用MongoDB的存檔數(shù)十億條記錄。FourSquare,基于位置的社交網(wǎng)站,在Amazon EC2的服務(wù)器上使用MongoDB分享數(shù)據(jù)。Shutterfly,以互聯(lián)網(wǎng)為基礎(chǔ)的社會和個人出版服務(wù),使用MongoDB的各種持久性數(shù)據(jù)存儲的要求。bit.ly, 一個基于Web的網(wǎng)址縮短服務(wù),使用MongoDB的存儲自己的數(shù)據(jù)。spike.com,一個MTV網(wǎng)絡(luò)的聯(lián)營公司, spike.com使用MongoDB的。Intuit公司,一個為小企業(yè)和個人的軟件和服務(wù)提供商,為小型企業(yè)使用MongoDB的跟蹤用戶的數(shù)據(jù)。sourceforge.net,資源網(wǎng)站查找,創(chuàng)建和發(fā)布開源軟件免費,使用MongoDB的后端存儲。etsy.com ,一個購買和出售手工制作物品網(wǎng)站,使用MongoDB。紐約時報,名列前茅的在線新聞門戶網(wǎng)站之一,使用MongoDB。CERN,知名的粒子物理研究所,歐洲核子研究中心大型強子對撞機的數(shù)據(jù)使用MongoDB。

延伸閱讀1:什么是SNS

SNS俗稱社會性網(wǎng)絡(luò)服務(wù),是一種新興的網(wǎng)絡(luò)應(yīng)用,是指人和人之間通過朋友、理想、交易、興趣、愛好等一定關(guān)系建立起來的社交化網(wǎng)絡(luò)結(jié)構(gòu),它是基于現(xiàn)實六度關(guān)系理論發(fā)展起來的社會網(wǎng)絡(luò)關(guān)系系統(tǒng)網(wǎng)絡(luò)形態(tài)。具有代表性的如微博、人人網(wǎng)、開心網(wǎng)等,它們擁有大量的用戶群體,對很多人特別是年輕群體有著深刻的影響,由于高昂的人氣,而蘊含著巨大商機,引發(fā)更多的企業(yè)以SNS營銷創(chuàng)造更大價值。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
免費領(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
DBeaver怎么保持?jǐn)?shù)據(jù)庫連接?

一、DBeaver保持?jǐn)?shù)據(jù)庫連接的方法1、連接到數(shù)據(jù)庫打開DBeaver并選擇連接到您的目標(biāo)數(shù)據(jù)庫。選擇適當(dāng)?shù)臄?shù)據(jù)庫類型,輸入必要的連接信息,如主機...詳情>>

2023-10-13 09:05:04
Kettle連接MySQL為什么會報錯?

一、Kettle連接MySQL會報錯的原因1、驅(qū)動程序缺失Kettle需要使用MySQL的JDBC驅(qū)動程序來連接MySQL數(shù)據(jù)庫。如果沒有正確配置或提供JDBC驅(qū)動程序,...詳情>>

2023-10-13 08:53:41
wait()、sleep()、join()和yield()區(qū)別是什么?

一、wait()wait()方法是Object類中的方法,主要用于線程間的同步和協(xié)作。當(dāng)一個線程調(diào)用某個對象的wait()方法時,它會釋放該對象的鎖,并進入等...詳情>>

2023-10-13 08:45:29
什么是Caché數(shù)據(jù)庫?

一、對象訪問通過對象訪問,開發(fā)人員可以使用面向?qū)ο蟮木幊陶Z言(如Java、C#等)直接操作數(shù)據(jù)庫中的對象。這種方式提供了更加直觀和便捷的數(shù)據(jù)...詳情>>

2023-10-13 08:42:01
mysql group commit為什么要保證binlog和redo log提交的順序一致?

一、為什么要保證binlog和redo log提交的順序一致MySQL為了保證master和slave的數(shù)據(jù)一致性,就必須保證binlog和InnoDB redo日志的一致性(因為...詳情>>

2023-10-13 08:25:24
快速通道
主站蜘蛛池模板: 阿鲁科尔沁旗| 阳山县| 阿巴嘎旗| 琼海市| 伊通| 教育| 吴江市| 连南| 吉安市| 巫溪县| 绥阳县| 静宁县| 沾益县| 平阳县| 马公市| 南部县| 酉阳| 新民市| 汉沽区| 抚宁县| 杭锦后旗| 南投市| 环江| 舒兰市| 柘城县| 河南省| 米林县| 澎湖县| 海阳市| 木兰县| 交口县| 青川县| 泾源县| 华容县| 淮北市| 神农架林区| 井冈山市| 南岸区| 城市| 白玉县| 玛多县|