https://www.cnblogs.com/linguoguo/p/10640179.html MongoDB:更高的寫入負(fù)載 默認(rèn)情況下,MongoDB更側(cè)重高數(shù)據(jù)寫入性能,而非事務(wù)安全,MongoDB很適合業(yè)務(wù)系統(tǒng)中有大量“低價值”數(shù)據(jù)的場景。但是應(yīng)當(dāng)避免在高事務(wù)安全性的系統(tǒng)中使用MongoDB,除非能從架構(gòu)設(shè)計(jì)上保證事務(wù)安全。 高可用性 MongoDB的復(fù)副集(Master-Slave)配置非常簡潔方便,此外,MongoDB可以快速響應(yīng)的處理單節(jié)點(diǎn)故障,自動、安全的完成故障轉(zhuǎn)移。這些特性使得MongoDB能在一個相對不穩(wěn)定(如云主機(jī))的環(huán)境中,保持高可用性。 數(shù)據(jù)量很大或者未來會變得很大 依賴數(shù)據(jù)庫(MySQL)自身的特性,完成數(shù)據(jù)的擴(kuò)展是較困難的事,在MySQL中,當(dāng)一個單達(dá)表到5-10GB時會出現(xiàn)明顯的性能降級,此時需要通過數(shù)據(jù)的水平和垂直拆分、庫的拆分完成擴(kuò)展,使用MySQL通常需要借助驅(qū)動層或代理層完成這類需求。而MongoDB內(nèi)建了多種數(shù)據(jù)分片的特性,可以很好的適應(yīng)大數(shù)據(jù)量的需求。 基于位置的數(shù)據(jù)查詢 MongoDB支持二維空間索引,因此可以快速及精確的從指定位置獲取數(shù)據(jù)。 表結(jié)構(gòu)不明確,且數(shù)據(jù)在不斷變大 在一些傳統(tǒng)RDBMS中,增加一個字段會鎖住整個數(shù)據(jù)庫/表,或者在執(zhí)行一個重負(fù)載的請求時會明顯造成其它請求的性能降級。通常發(fā)生在數(shù)據(jù)表大于1G的時候(當(dāng)大于1TB時更甚)。 因MongoDB是文檔型數(shù)據(jù)庫,為非結(jié)構(gòu)貨的文檔增加一個新字段是很快速的操作,并且不會影響到已有數(shù)據(jù)。另外一個好處當(dāng)業(yè)務(wù)數(shù)據(jù)發(fā)生變化時,是將不在需要由DBA修改表結(jié)構(gòu)。 Mysql:1)這些數(shù)據(jù)通常需要做結(jié)構(gòu)化查詢,比如join,這時候,關(guān)系型數(shù)據(jù)庫就要勝出一籌 2)這些數(shù)據(jù)的規(guī)模、增長的速度通常是可以預(yù)期的 3)事務(wù)性、一致性 4)豐富的鎖機(jī)制 |
|