前言:
創(chuàng)新互聯(lián)為您提適合企業(yè)的網(wǎng)站設(shè)計(jì)?讓您的網(wǎng)站在搜索引擎具有高度排名,讓您的網(wǎng)站具備超強(qiáng)的網(wǎng)絡(luò)競爭力!結(jié)合企業(yè)自身,進(jìn)行網(wǎng)站設(shè)計(jì)及把握,最后結(jié)合企業(yè)文化和具體宗旨等,才能創(chuàng)作出一份性化解決方案。從網(wǎng)站策劃到網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì), 我們的網(wǎng)頁設(shè)計(jì)師為您提供的解決方案。
MySQL與MongoDB都是開源的常用數(shù)據(jù)庫,但是MySQL是傳統(tǒng)的關(guān)系型數(shù)據(jù)庫,MongoDB則是非關(guān)系型數(shù)據(jù)庫,也叫文檔型數(shù)據(jù)庫,是一種NoSQL的數(shù)據(jù)庫。它們各有各的優(yōu)點(diǎn),關(guān)鍵是看用在什么地方。所以我們所熟知的那些SQL語句就不適用于MongoDB了,因?yàn)镾QL語句是關(guān)系型數(shù)據(jù)庫的標(biāo)準(zhǔn)語言。
一、關(guān)系型數(shù)據(jù)庫-MySQL
1、在不同的引擎上有不同的存儲(chǔ)方式。
2、查詢語句是使用傳統(tǒng)的sql語句,擁有較為成熟的體系,成熟度很高。
3、開源數(shù)據(jù)庫的份額在不斷增加,mysql的份額頁在持續(xù)增長。
4、缺點(diǎn)就是在海量數(shù)據(jù)處理的時(shí)候效率會(huì)顯著變慢。
二、非關(guān)系型數(shù)據(jù)庫-MongoDB
非關(guān)系型數(shù)據(jù)庫(nosql ),屬于文檔型數(shù)據(jù)庫。先解釋一下文檔的數(shù)據(jù)庫,即可以存放xml、json、bson類型系那個(gè)的數(shù)據(jù)。這些數(shù)據(jù)具備自述性,呈現(xiàn)分層的樹狀數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)由鍵值(key=value)對組成。
1、存儲(chǔ)方式:虛擬內(nèi)存+持久化。
2、查詢語句:是獨(dú)特的MongoDB的查詢方式。
3、適合場景:事件的記錄,內(nèi)容管理或者博客平臺(tái)等等。
4、架構(gòu)特點(diǎn):可以通過副本集,以及分片來實(shí)現(xiàn)高可用。
5、數(shù)據(jù)處理:數(shù)據(jù)是存儲(chǔ)在硬盤上的,只不過需要經(jīng)常讀取的數(shù)據(jù)會(huì)被加載到內(nèi)存中,將數(shù)據(jù)存儲(chǔ)在物理內(nèi)存中,從而達(dá)到高速讀寫。
6、成熟度與廣泛度:新興數(shù)據(jù)庫,成熟度較低,Nosql數(shù)據(jù)庫中最為接近關(guān)系型數(shù)據(jù)庫,比較完善的DB之一,適用人群不斷在增長。
三、MongoDB優(yōu)勢與劣勢
優(yōu)勢:
1、在適量級的內(nèi)存的MongoDB的性能是非常迅速的,它將熱數(shù)據(jù)存儲(chǔ)在物理內(nèi)存中,使得熱數(shù)據(jù)的讀寫變得十分快。
2、MongoDB的高可用和集群架構(gòu)擁有十分高的擴(kuò)展性。
3、在副本集中,當(dāng)主庫遇到問題,無法繼續(xù)提供服務(wù)的時(shí)候,副本集將選舉一個(gè)新的主庫繼續(xù)提供服務(wù)。
4、MongoDB的Bson和JSon格式的數(shù)據(jù)十分適合文檔格式的存儲(chǔ)與查詢。
劣勢:
1、 不支持事務(wù)操作。MongoDB本身沒有自帶事務(wù)機(jī)制,若需要在MongoDB中實(shí)現(xiàn)事務(wù)機(jī)制,需通過一個(gè)額外的表,從邏輯上自行實(shí)現(xiàn)事務(wù)。
2、 應(yīng)用經(jīng)驗(yàn)少,由于NoSQL興起時(shí)間短,應(yīng)用經(jīng)驗(yàn)相比關(guān)系型數(shù)據(jù)庫較少。
3、MongoDB占用空間過大。
MongoDB和CouchDB都是面向文檔的數(shù)據(jù)庫。MongoDB和CouchDB都是開源NoSQL數(shù)據(jù)庫的最典型代表。
除了都以文檔形式存儲(chǔ)外它們沒有其他的共同點(diǎn)。MongoDB和CouchDB在數(shù)據(jù)模型實(shí)現(xiàn)、接口、對象存儲(chǔ)以及復(fù)制方法等方面有很多不同。
Mongodb是非關(guān)系型數(shù)據(jù)庫(nosql ),屬于文檔型數(shù)據(jù)庫。文檔是mongoDB中數(shù)據(jù)的基本單元,類似關(guān)系數(shù)據(jù)庫的行,多個(gè)鍵值對有序地放置在一起便是文檔,語法有點(diǎn)類似javascript面向?qū)ο蟮牟樵冋Z言,它是一個(gè)面向集合的,模式自由的文檔型數(shù)據(jù)庫。
存儲(chǔ)方式:虛擬內(nèi)存+持久化。
查詢語句:是獨(dú)特的Mongodb的查詢方式。
適合場景:事件的記錄,內(nèi)容管理或者博客平臺(tái)等等。
架構(gòu)特點(diǎn):可以通過副本集,以及分片來實(shí)現(xiàn)高可用。
數(shù)據(jù)處理:數(shù)據(jù)是存儲(chǔ)在硬盤上的,只不過需要經(jīng)常讀取的數(shù)據(jù)會(huì)被加載到內(nèi)存中,將數(shù)據(jù)存儲(chǔ)在物理內(nèi)存中,從而達(dá)到高速讀寫。
成熟度與廣泛度:新興數(shù)據(jù)庫,成熟度較低,Nosql數(shù)據(jù)庫中最為接近關(guān)系型數(shù)據(jù)庫,比較完善的DB之一,適用人群不斷在增長。
優(yōu)勢:
快速!在適量級的內(nèi)存的Mongodb的性能是非常迅速的,它將熱數(shù)據(jù)存儲(chǔ)在物理內(nèi)存中,使得熱數(shù)據(jù)的讀寫變得十分快。高擴(kuò)展性,存儲(chǔ)的數(shù)據(jù)格式是json格式!
MySQL是關(guān)系型數(shù)據(jù)庫。
優(yōu)勢:
在不同的引擎上有不同 的存儲(chǔ)方式。
查詢語句是使用傳統(tǒng)的sql語句,擁有較為成熟的體系,成熟度很高。
開源數(shù)據(jù)庫的份額在不斷增加,mysql的份額頁在持續(xù)增長。
一般nosql適用的場景都是讀多寫少,因?yàn)閿?shù)據(jù)庫主要壓力來自于用戶的讀取數(shù)據(jù)。