新聞中心
爬蟲的數(shù)據(jù)庫選型,redis、leveldb、 mongodb、 mysql應該選哪個?
選mongodb,爬蟲表字段不定,變化比較大,所以像mysql這種關(guān)系型數(shù)據(jù)庫不太合適,開發(fā)起來不大方便。而redis的數(shù)據(jù)查詢功能查詢功能相對來說比較弱,而有時爬回來的數(shù)據(jù)要做數(shù)據(jù)分析需要用到一些條件查詢,對于條件查詢redis是非常雞助的。leveldb不熟,不清楚。mongo基本可以實現(xiàn)上述的所有需求,動態(tài)字段、條件查詢,所以很適合用作爬蟲數(shù)據(jù)的存儲。

成都創(chuàng)新互聯(lián)主要從事網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)順城,十年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575
首選mongodb,。redis強內(nèi)存型,快,但持久化查詢都比較方便,不實用。leveldb沒見過。MySQL關(guān)系型數(shù)據(jù)庫,不容易拓展。mongodb剛好基于內(nèi)存而又易拓展易持久化。
想用MongoDB取代MySQL可以嗎?
Mongodb作為最靠近關(guān)系數(shù)據(jù)庫的Nosql存儲,取代MySQL可以嗎?
從功能角度看,是可以取代的。
關(guān)系數(shù)據(jù)庫應該有的核心功能它都有了:B樹索引,事務(wù)(4.0)。
一些比較重要的小更新,比如Decimal128(3.4)的添加都讓它的功能更加完善。
你在Mysql里面用的復雜查詢基本上都可以用管道或者MapReduce實現(xiàn)。
我在好幾個項目中完全使用的Mongodb,經(jīng)驗如下:
* 關(guān)聯(lián)查詢麻煩,所以Mongodb在設(shè)計模型的時候傾向于數(shù)據(jù)都內(nèi)聯(lián),配合少量的In 查詢。這樣也會導致數(shù)據(jù)冗余后一致性更新的問題。
* 設(shè)計動態(tài)表格時,Mongodb的體驗時非常好的。
* 4.0之前的沒有事務(wù),碰到金錢相關(guān)的服務(wù),需要自己在服務(wù)中構(gòu)造事務(wù)環(huán)境,否則一旦失敗無法回滾。這也會造成這塊代碼膨脹。
謝謝邀請。
我現(xiàn)在帶的項目用到了MongoDB,本人對MongoDB也有一定的了解,下面我談?wù)勛约旱目捶ā?/p>
先一句話概括:MongoDB和MySQL(關(guān)系型數(shù)據(jù)庫)各有特點,它們適合的場景不同;而企業(yè)級應用的大部分場景,MongoDB是無法完全取代MySQL的。
在分析這個問題之前,我們還是看看MongoDB的定義:MongoDB是一個數(shù)據(jù)庫;再稍微詳細一點兒,它是一個開源的、基于分布式文件存儲的、非關(guān)系型數(shù)據(jù)庫。
說到非關(guān)系型數(shù)據(jù)庫,最有名的可能就是Redis了,它是一種Key-Value類型的數(shù)據(jù)庫;而MongoDB,它是文檔型數(shù)據(jù)庫的一種,它的存儲方式類似于JSON。
自己也是程序員,分享一些觀點給你,其實不管是MongoDB還是Mysql,它們都是用來存儲數(shù)據(jù)用的,只不過存儲數(shù)據(jù)的方式不同,MySQL主要用于存儲關(guān)系類的數(shù)據(jù),而MongoDB主要用于存儲鍵值類的數(shù)據(jù),也就是我們常說的NOSQL,曾經(jīng)一段時間,NOSQL是很多中小互聯(lián)網(wǎng)公司追求的東西。
那么既然都是存儲數(shù)據(jù)用的,那么肯定也可以相互替換,但是一個重要的問題就是,怎么樣將MongoDB里面的數(shù)據(jù)存儲到MySQL里面或者相反方向有怎么存儲?這才是整個業(yè)務(wù)代碼非常復雜的實現(xiàn)部分,比如你要將MySQL的數(shù)據(jù)存儲到MongoDB里面去,那么你需要做的事情就是理清MySQL數(shù)據(jù)表里面的各種關(guān)系,然后將這些關(guān)系轉(zhuǎn)換為鍵值對存儲到MongoDB里面去,想象一下這個工作量我們就應該知道,不是那么的簡單,尤其是數(shù)據(jù)表非常多,并且數(shù)據(jù)表關(guān)系非常復雜的時候,這項遷移工程是需要后端程序員、數(shù)據(jù)庫DBA、運維人員等等一起才能夠完成的事情。
所以得出結(jié)論,雖然兩種數(shù)據(jù)庫可以相互替換,但是替換的成本非常高,很多企業(yè)是不會這樣做的,除非現(xiàn)在項目性能已經(jīng)嚴重影響到目標用戶。
脫離業(yè)務(wù)場景,空談技術(shù)架構(gòu)都是耍流氓。
我們公司同一個項目就同時在用Mysql和MongoDB,希望通過下面介紹可以幫助你真正了解到Mysql和MongoDB優(yōu)劣對比及實際業(yè)務(wù)應用場景。
以下來自最新的db-engines的數(shù)據(jù)庫人氣排行榜
接下來我們看一下前十名的趨勢變化圖:
關(guān)系數(shù)據(jù)庫前10名如下:
文檔數(shù)據(jù)庫前10名如下:
到此,以上就是小編對于mongodb建表和字段的問題就介紹到這了,希望這2點解答對大家有用。
文章名稱:想用MongoDB取代MySQL可以嗎?
文章鏈接:http://www.5511xx.com/article/cocsogh.html


咨詢
建站咨詢
