zabbix mongodb如何定位?
mongodb如何定位?mongo數(shù)據(jù)庫本身就介于redis內(nèi)存數(shù)據(jù)庫和mysql數(shù)據(jù)庫之間。以下側(cè)重于mongo的優(yōu)點。mongo V redis,1:redis受內(nèi)存的限制,無法存儲海量的數(shù)據(jù);m
mongodb如何定位?
mongo數(shù)據(jù)庫本身就介于redis內(nèi)存數(shù)據(jù)庫和mysql數(shù)據(jù)庫之間。
以下側(cè)重于mongo的優(yōu)點。
mongo V redis,
1:redis受內(nèi)存的限制,無法存儲海量的數(shù)據(jù);mongo可以存儲海量的數(shù)據(jù)。
2:redis僅支持簡單的string、hash、list、set、zset數(shù)據(jù)結(jié)構(gòu),而mongo支持文檔型的數(shù)據(jù)結(jié)構(gòu),可以說就是JSON字符串,這種數(shù)據(jù)結(jié)構(gòu)是多么的靈活,使用是多么的方便,想必不用過多介紹。
3:redis可以提供復(fù)雜的查詢嗎?mongo笑笑不語。
4:redis有內(nèi)置數(shù)據(jù)分析功能(mapreduce)嗎?
再來看mongo V mysql
1:mongo的文檔型數(shù)據(jù)結(jié)構(gòu),每一個文檔可以映射為編程語言中的一個獨立對象,同一個集合的文檔之間的數(shù)據(jù)結(jié)構(gòu)完全不必相同,如此靈活的數(shù)據(jù)結(jié)構(gòu),可以輕松的適應(yīng)業(yè)務(wù)邏輯變更。mysql這類的關(guān)系數(shù)據(jù)庫,怎么比?
2:mongo的插入速度比MySQL更快。
3:mongo可以輕松的分布式擴展,不需要停機,不需要更改應(yīng)用程序。
三者其實各有優(yōu)缺點,對應(yīng)不同的數(shù)據(jù)庫應(yīng)用場景的。
什么時候需要mongo?
- 不需要跨文檔或跨表的事務(wù),也不需要復(fù)雜的join查詢支持
- 業(yè)務(wù)變更頻繁,導(dǎo)致數(shù)據(jù)結(jié)構(gòu)需要頻繁更改
- 需要大量的地理位置查詢,文本查詢
- 海量數(shù)據(jù)存儲,且數(shù)據(jù)量快速增加
Mongo其實彌補了redis和mysql中的不足。個人在爬蟲中,經(jīng)常采用mongo保存爬取的數(shù)據(jù),而redis保存待爬取的鏈接和用于網(wǎng)頁去重。