mongodb聚合太慢 mongodb如何定位?
mongodb如何定位?Mongo數(shù)據(jù)庫(kù)本身介于redis內(nèi)存數(shù)據(jù)庫(kù)和MySQL數(shù)據(jù)庫(kù)之間。以下重點(diǎn)介紹Mongo的優(yōu)勢(shì)。Mongo V redis,1:redis受內(nèi)存限制,不能存儲(chǔ)海量數(shù)據(jù);Mon
mongodb如何定位?
Mongo數(shù)據(jù)庫(kù)本身介于redis內(nèi)存數(shù)據(jù)庫(kù)和MySQL數(shù)據(jù)庫(kù)之間。
以下重點(diǎn)介紹Mongo的優(yōu)勢(shì)。
Mongo V redis,
1:redis受內(nèi)存限制,不能存儲(chǔ)海量數(shù)據(jù);Mongo可以存儲(chǔ)海量數(shù)據(jù)。
2:Redis只支持簡(jiǎn)單的string、hash、list、set和Zset數(shù)據(jù)結(jié)構(gòu),Mongo支持文檔類型的數(shù)據(jù)結(jié)構(gòu),可以說(shuō)是JSON字符串。這個(gè)數(shù)據(jù)結(jié)構(gòu)是多么的靈活和方便,我不需要過(guò)多的介紹。
3:redis能提供復(fù)雜的查詢嗎?蒙哥笑了笑,什么也沒(méi)說(shuō)。
4:redis是否有內(nèi)置的數(shù)據(jù)分析功能(MapReduce)?
讓我們看看Mongo V MySQL
2:Mongo的插入速度比MySQL快。
3:Mongo可以輕松分發(fā)和擴(kuò)展,而無(wú)需停機(jī)或更改應(yīng)用程序。
事實(shí)上,它們各有優(yōu)缺點(diǎn),對(duì)應(yīng)不同的數(shù)據(jù)庫(kù)應(yīng)用場(chǎng)景。
我什么時(shí)候需要Mongo?
Mongo實(shí)際上彌補(bǔ)了redis和mysql的不足。在爬蟲(chóng)程序中,個(gè)人經(jīng)常使用Mongo來(lái)保存被爬網(wǎng)的數(shù)據(jù),而redis則保存要爬網(wǎng)的鏈接,并用于網(wǎng)頁(yè)重復(fù)數(shù)據(jù)消除。
mongodbreplset的secondary同步很慢,有誰(shuí)遇到過(guò)嗎?
Mongodb集群初始化同步分為以下步驟:1。檢查配置信息-一些最基本的檢查
2。同步數(shù)據(jù)-即逐個(gè)啟動(dòng)克隆數(shù)據(jù)庫(kù),除了復(fù)制數(shù)據(jù)外,mongodb還會(huì)建立ID索引(這非常重要,這也是我遇到坑的原因)
3。Synchronize oplog——從同步源節(jié)點(diǎn)拉出oplog同步到現(xiàn)在,重放
4。建立索引—mongodb同步oplog后開(kāi)始建立索引繼續(xù)同步oplog—繼續(xù)同步第4步,在此期間執(zhí)行oplog,然后逐漸趕上主節(jié)點(diǎn),成為提供服務(wù)的輔助節(jié)點(diǎn)。
mongodb數(shù)據(jù)庫(kù)count速度慢怎么解決?
因?yàn)閙ongodb使用內(nèi)存映射文件,所以mongodb運(yùn)行時(shí)操作系統(tǒng)會(huì)不斷地將mongodb需要的數(shù)據(jù)庫(kù)文件的部分內(nèi)容讀取到物理內(nèi)存中。因此,如果沒(méi)有合適的索引,在查詢時(shí),OS需要將mongodb需要的所有文檔讀入物理內(nèi)存。當(dāng)數(shù)據(jù)的大小超過(guò)物理內(nèi)存時(shí),它會(huì)變慢。
在查詢不同的數(shù)據(jù)庫(kù)時(shí),如果上一個(gè)查詢恰好是同一個(gè)數(shù)據(jù)庫(kù),則所需的內(nèi)容已經(jīng)在物理內(nèi)存中,并且速度非常快;如果上一個(gè)查詢是一個(gè)大型數(shù)據(jù)庫(kù),而當(dāng)前查詢是另一個(gè)大型數(shù)據(jù)庫(kù),則操作系統(tǒng)需要釋放物理內(nèi)存,然后將所需的內(nèi)容讀入數(shù)據(jù)庫(kù)物理內(nèi)存,這會(huì)減慢速度。如果硬盤(pán)本身讀寫(xiě)速度慢,mongodb也會(huì)慢。