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

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


咨詢
建站咨詢
