教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

爬蟲適合使用Mysql還是Mongdb?

更新時間:2020年12月11日14時00分 來源:傳智教育 瀏覽次數:

好口碑IT培訓

python爬蟲用什么數據庫好?爬蟲適合使用Mysql還是Mongdb?我們從Mysql、Mongdb各自特點和關系數據庫和非關系數據庫的特點來分析。

MySQL屬于關系型數據庫,它具有以下特點

·在不同的引擎上有不同的存儲方式。

·查詢語句是使用傳統(tǒng)的sql語句,擁有較為成熟的體系,成熟度很高。

·開源數據庫的份額在不斷增加,MySQL的份額也在持續(xù)增長。

·處理海量數據的效率會顯著變慢。

Mongodb屬于非關系型數據庫,它具有以下特點:

·數據結構由鍵值對組成。

·存儲方式:虛擬內存+持久化。

·查詢語句是獨特的Mongodb的查詢方式。

·可以通過副本集、分片來實現高可用。

·數據是存儲在硬盤上的,只不過需要經常讀取的數據會被加載到內存中,將數據存儲在物理內存中,從而達到高速讀寫。

·新興數據庫,成熟度較低。



關系數據庫和非關系數據庫特點

關系型數據庫可以理解為依賴一個模型來創(chuàng)建的數據庫,比如我們使用的MySQL中的表是由橫列和縱列組成的一個二維表格。關系型數據庫可以通過關系模型使多個表的數據關聯(lián)起來,比如我們平時說的 一對一、一對多、多對一。由于是建立在數據模型的基礎上,所以我們可以通過SQL語句很方便的在多個表之間做復雜的查詢操作。關系型數據庫相對安全,因為直接存儲在硬盤中所以突然的宕機、停電等意外不會導致數據丟失。MySQL的存儲方式是由自身的引擎決定的,常用的引擎有Innodb和MyISAM。他們主要的區(qū)別就是MyISAM 不支持事務,強調的是性能,執(zhí)行速度比Innodb要快,Innodb提供支持事務等高級數據庫功能。

非關系型數據庫即我們常說的NoSQL數據庫,部署起來都比較簡單,沒有關系型數據庫那么復雜。Mongo的存儲方式為虛擬內存+持久化存儲,Mongo將數據寫入內存中,再由虛擬內存管理器將其持久化到硬盤中,因此寫操作會比關系型數據庫快很多。NOSQL的存儲格式是key-value形式,可以像關系型數據庫那樣存儲基礎數據類型的數據,也可以存儲集合、對象等等。NoSQL雖然性能比較高,但是并不支持事物,也不能進行聯(lián)表查詢,一般用于較大規(guī)模數據的存儲。

爬蟲適合使用Mysql還是Mongdb?
建議用MongoDB,理由是:因為你用爬蟲,不光是要把網頁抓下來,重要的是,要把抓取的網頁中的信息提取出來,保存到數據庫中。而如果未來的字段會發(fā)生變化(增加、刪除、修改),那么用MongoDB這種鍵值數據庫是再合適不過了,因為,你插入到數據庫中的每條記錄中都同時包含著數據的的“鍵”和“值”,新數據使用新的格式保存,而舊數據使用舊的格式保存,你不需要做任何的操作就可以保持數據格式的一致性。反之,如果你用SQL類數據庫的話,你就必須修改數據庫的格式,還要保證舊數據在新格式下的可用性,而這往往是非常麻煩的。


猜你喜歡:

關系數據庫和非關系型數據庫詳解

MySQL數據庫的高效檢索如何實現?

常見的數據庫有哪幾種?

Pyhton+數據分析培訓課程

0 分享到:
和我們在線交談!