更新時間:2021年01月18日14時14分 來源:傳智教育 瀏覽次數:
(1)問題分析
面試官主要考核Mongodb和MySQL數據庫的特點,以及關系型與非關系型數據庫。
(2)核心問題講解
MySQL屬于關系型數據庫,它具有以下特點:
在不同的引擎上有不同的存儲方式。
查詢語句是使用傳統(tǒng)的sql語句,擁有較為成熟的體系,成熟度很高。
開源數據庫的份額在不斷增加,MySQL的份額也在持續(xù)增長。
處理海量數據的效率會顯著變慢。
Mongodb屬于非關系型數據庫,它具有以下特點:
數據結構由鍵值對組成。
存儲方式:虛擬內存+持久化。
查詢語句是獨特的Mongodb的查詢方式。
可以通過副本集、分片來實現(xiàn)高可用。
數據是存儲在硬盤上的,只不過需要經常讀取的數據會被加載到內存中,將數據存儲在物理內存中,從而達到高速讀寫。
新興數據庫,成熟度較低。
(3)問題擴展
關系型數據庫可以理解為依賴一個模型來創(chuàng)建的數據庫,比如我們使用的MySQL中的表是由橫列和縱列組成的一個二維表格。關系型數據庫可以通過關系模型使多個表的數據關聯(lián)起來,比如我們平時說的 一對一、一對多、多對一。由于是建立在數據模型的基礎上,所以我們可以通過SQL語句很方便的在多個表之間做復雜的查詢操作。關系型數據庫相對安全,因為直接存儲在硬盤中所以突然的宕機、停電等意外不會導致數據丟失。MySQL的存儲方式是由自身的引擎決定的,常用的引擎有Innodb和MyISAM。他們主要的區(qū)別就是MyISAM 不支持事務,強調的是性能,執(zhí)行速度比Innodb要快,Innodb提供支持事務等高級數據庫功能。
非關系型數據庫即我們常說的NoSQL數據庫,部署起來都比較簡單,沒有關系型數據庫那么復雜。Mongo的存儲方式為虛擬內存+持久化存儲,Mongo將數據寫入內存中,再由虛擬內存管理器將其持久化到硬盤中,因此寫操作會比關系型數據庫快很多。NOSQL的存儲格式是key-value形式,可以像關系型數據庫那樣存儲基礎數據類型的數據,也可以存儲集合、對象等等。NoSQL雖然性能比較高,但是并不支持事物,也不能進行聯(lián)表查詢,一般用于較大規(guī)模數據的存儲。
(4)結合項目中使用
無
猜你喜歡:
Mongodb安裝教程【Windows系統(tǒng)圖文教程】