mongodb和mysql的对比_MongoDB和MySQL的区别
http://www.cnblogs.com/caihuafeng/p/5494336.html
MongoDB(文檔型數(shù)據(jù)庫(kù)):提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)
一、
1、基于分布式文件存儲(chǔ)
2、高負(fù)載情況下添加更多節(jié)點(diǎn),可以保證服務(wù)器性能
3、將數(shù)據(jù)存儲(chǔ)為一個(gè)文檔
二、比較
1、穩(wěn)定性
2、索引,索引放在內(nèi)存中,能夠提升隨機(jī)讀寫的性能。如果索引不能完全放在內(nèi)存,一旦出現(xiàn)隨機(jī)讀寫比較高的時(shí)候,就會(huì)頻繁地進(jìn)行磁盤交換,MongoDB的性能就會(huì)急劇下降
3、占用的空間很大,因?yàn)樗鼘儆诘湫涂臻g換時(shí)間原則的類型。那么它的磁盤空間比普通數(shù)據(jù)庫(kù)會(huì)浪費(fèi)一些,而且到目前為止它還沒有實(shí)現(xiàn)在線壓縮功能,
在MongoDB中頻繁的進(jìn)行數(shù)據(jù)增刪改時(shí),如果記錄變了,例如數(shù)據(jù)大小發(fā)生了變化,這時(shí)候容易產(chǎn)生一些數(shù)據(jù)碎片,出現(xiàn)碎片引發(fā)的結(jié)果,
一個(gè)是索引會(huì)出現(xiàn)性能問(wèn)題,
另外一個(gè)就是在一定的時(shí)間后,所占空間會(huì)莫明其妙地增大,所以要定期把數(shù)據(jù)庫(kù)做修復(fù),定期重新做索引,這樣會(huì)提升MongoDB的穩(wěn)定性和效率。
在最新的版本里,它已經(jīng)在實(shí)現(xiàn)在線壓縮,估計(jì)應(yīng)該在2.0版左右,應(yīng)該能夠?qū)崿F(xiàn)在線壓縮,可以在后臺(tái)執(zhí)行現(xiàn)在repair DataBase的一些操作。如果那樣,就解決了目前困擾
我們的大問(wèn)題。
4、MongoDB對(duì)數(shù)據(jù)間的事務(wù)關(guān)系支持比較弱
5、運(yùn)維不方便
MongoDB的優(yōu)勢(shì)
1. 適合那些對(duì)數(shù)據(jù)庫(kù)具體數(shù)據(jù)格式不明確或者數(shù)據(jù)庫(kù)數(shù)據(jù)格式經(jīng)常變化的需求模型,而且對(duì)開發(fā)者十分友好。
2.自帶一個(gè)分布式文件系統(tǒng),可以很方便地部署到服務(wù)器機(jī)群上。
MongoDB里有一個(gè)Shard的概念,就是方便為了服務(wù)器分片使用的。每增加一臺(tái)Shard,MongoDB的插入性能也會(huì)以接近倍數(shù)的方式增長(zhǎng),磁盤容量也很可以很方便地?cái)U(kuò)充。
3. 自帶了對(duì)map-reduce運(yùn)算框架的支持,這也很方便進(jìn)行數(shù)據(jù)的統(tǒng)計(jì)。類似于group by
mongodb與mysql命令對(duì)比 傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)一般由數(shù)據(jù)庫(kù)(database)、表(table)、記錄(record)三個(gè)層次概念組成,
MongoDB是由數(shù)據(jù)庫(kù)(database)、集合(collection)、文檔對(duì)象(document)三個(gè)層次組成。
MongoDB對(duì)于關(guān)系型數(shù)據(jù)庫(kù)里的表,但是集合中沒有列、行和關(guān)系概念,這體現(xiàn)了模式自由的特點(diǎn)。
總結(jié)
以上是生活随笔為你收集整理的mongodb和mysql的对比_MongoDB和MySQL的区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python定义类时括号_为什么在定义类
- 下一篇: java开发项目实例_Alibaba内部