掃二維碼與項(xiàng)目經(jīng)理溝通
我們在微信上24小時(shí)期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
選mongodb,爬蟲表字段不定,變化比較大,所以像mysql這種關(guān)系型數(shù)據(jù)庫不太合適,開發(fā)起來不大方便。而redis的數(shù)據(jù)查詢功能查詢功能相對來說比較弱,而有時(shí)爬回來的數(shù)據(jù)要做數(shù)據(jù)分析需要用到一些條件查詢,對于條件查詢r(jià)edis是非常雞助的。leveldb不熟,不清楚。mongo基本可以實(shí)現(xiàn)上述的所有需求,動(dòng)態(tài)字段、條件查詢,所以很適合用作爬蟲數(shù)據(jù)的存儲(chǔ)。

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

我們在微信上24小時(shí)期待你的聲音
解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流