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

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

【面試題】Mongodb和MySQL存儲爬蟲數(shù)據(jù)的特點(diǎn)是什么?

更新時間:2021年01月18日14時14分 來源:傳智教育 瀏覽次數(shù):

(1)問題分析

面試官主要考核Mongodb和MySQL數(shù)據(jù)庫的特點(diǎn),以及關(guān)系型與非關(guān)系型數(shù)據(jù)庫。

(2)核心問題講解

MySQL屬于關(guān)系型數(shù)據(jù)庫,它具有以下特點(diǎn):

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

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

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

  • 處理海量數(shù)據(jù)的效率會顯著變慢。

Mongodb屬于非關(guān)系型數(shù)據(jù)庫,它具有以下特點(diǎn):

  • 數(shù)據(jù)結(jié)構(gòu)由鍵值對組成。

  • 存儲方式:虛擬內(nèi)存+持久化。

  • 查詢語句是獨(dú)特的Mongodb的查詢方式。

  • 可以通過副本集、分片來實(shí)現(xiàn)高可用。

  • 數(shù)據(jù)是存儲在硬盤上的,只不過需要經(jīng)常讀取的數(shù)據(jù)會被加載到內(nèi)存中,將數(shù)據(jù)存儲在物理內(nèi)存中,從而達(dá)到高速讀寫。

  • 新興數(shù)據(jù)庫,成熟度較低。

(3)問題擴(kuò)展

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

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

(4)結(jié)合項(xiàng)目中使用




猜你喜歡:

Mongodb安裝教程【W(wǎng)indows系統(tǒng)圖文教程】

pymysql庫中Connection對象和Cursor對象用法

MySQL字符集亂碼總結(jié)

傳智教育Python培訓(xùn)課程

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