MySQL是關(guān)系型數(shù)據(jù)庫(kù)涤妒。
優(yōu)勢(shì):
在不同的引擎上有不同 的存儲(chǔ)方式颁督。
查詢語(yǔ)句是使用傳統(tǒng)的sql語(yǔ)句践啄,擁有較為成熟的體系,成熟度很高沉御。
開源數(shù)據(jù)庫(kù)的份額在不斷增加往核,mysql的份額頁(yè)在持續(xù)增長(zhǎng)。
缺點(diǎn):
在海量數(shù)據(jù)處理的時(shí)候效率會(huì)顯著變慢嚷节。
Mongodb是非關(guān)系型數(shù)據(jù)庫(kù)(nosql ),屬于文檔型數(shù)據(jù)庫(kù)聂儒。文檔是mongoDB中數(shù)據(jù)的基本單元虎锚,類似關(guān)系數(shù)據(jù)庫(kù)的行,多個(gè)鍵值對(duì)有序地放置在一起便是文檔衩婚,語(yǔ)法有點(diǎn)類似javascript面向?qū)ο蟮牟樵冋Z(yǔ)言窜护,它是一個(gè)面向集合的,模式自由的文檔型數(shù)據(jù)庫(kù)非春。
存儲(chǔ)方式:虛擬內(nèi)存+持久化柱徙。
查詢語(yǔ)句:是獨(dú)特的Mongodb的查詢方式。
適合場(chǎng)景:事件的記錄奇昙,內(nèi)容管理或者博客平臺(tái)等等护侮。
架構(gòu)特點(diǎn):可以通過(guò)副本集,以及分片來(lái)實(shí)現(xiàn)高可用储耐。
數(shù)據(jù)處理:數(shù)據(jù)是存儲(chǔ)在硬盤上的羊初,只不過(guò)需要經(jīng)常讀取的數(shù)據(jù)會(huì)被加載到內(nèi)存中,將數(shù)據(jù)存儲(chǔ)在物理內(nèi)存中什湘,從而達(dá)到高速讀寫长赞。
成熟度與廣泛度:新興數(shù)據(jù)庫(kù),成熟度較低闽撤,Nosql數(shù)據(jù)庫(kù)中最為接近關(guān)系型數(shù)據(jù)庫(kù)得哆,比較完善的DB之一,適用人群不斷在增長(zhǎng)哟旗。
優(yōu)點(diǎn):
快速贩据!在適量級(jí)的內(nèi)存的Mongodb的性能是非常迅速的,它將熱數(shù)據(jù)存儲(chǔ)在物理內(nèi)存中闸餐,使得熱數(shù)據(jù)的讀寫變得十分快饱亮。高擴(kuò)展性,存儲(chǔ)的數(shù)據(jù)格式是json格式绎巨!
缺點(diǎn):
不支持事務(wù)近尚,而且開發(fā)文檔不是很完全蠕啄,完善场勤。
Mysql和Mongodb主要應(yīng)用場(chǎng)景
1.如果需要將mongodb作為后端db來(lái)代替mysql使用,即這里mysql與mongodb 屬于平行級(jí)別歼跟,那么和媳,這樣的使用可能有以下幾種情況的考量: (1)mongodb所負(fù)責(zé)部分以文檔形式存儲(chǔ),能夠有較好的代碼親和性哈街,json格式的直接寫入方便留瞳。(如日志之類) (2)從datamodels設(shè)計(jì)階段就將原子性考慮于其中,無(wú)需事務(wù)之類的輔助骚秦。開發(fā)用如nodejs之類的語(yǔ)言來(lái)進(jìn)行開發(fā)她倘,對(duì)開發(fā)比較方便璧微。 (3)mongodb本身的failover機(jī)制,無(wú)需使用如MHA之類的方式實(shí)現(xiàn)硬梁。
2.將mongodb作為類似redis 前硫,memcache來(lái)做緩存db,為mysql提供服務(wù)荧止,或是后端日志收集分析屹电。 考慮到mongodb屬于nosql型數(shù)據(jù)庫(kù),sql語(yǔ)句與數(shù)據(jù)結(jié)構(gòu)不如mysql那么親和 跃巡,也會(huì)有很多時(shí)候?qū)ongodb做為輔助mysql而使用的類redis memcache 之類的緩存db來(lái)使用危号。 亦或是僅作日志收集分析。