壹,
1,基於分布式文件存儲
2.在高負載下增加更多的節點可以保證服務器的性能。
3.將數據存儲為文檔。
第二,比較
1,穩定性
2、索引,索引放在內存中,可以提高隨機讀寫的性能。如果索引不能完全存儲在內存中,壹旦隨機讀寫比高,就會頻繁交換磁盤,MongoDB的性能就會急劇下降。
3.它占用了大量的空間,因為它屬於空間換時間原理的典型類型。那麽它的磁盤空間相對於普通數據庫會比較浪費,至今也沒有實現在線壓縮功能。
在MongoDB中頻繁添加、刪除、修改數據時,如果記錄發生變化,比如數據大小發生變化,很容易產生壹些數據碎片,碎片導致的結果就會出現。
壹個是指數會有性能問題。
另壹種是經過壹定時間後,占用的空間會莫名其妙的增加,所以要定期修復數據庫,定期重新索引,這樣會提高MongoDB的穩定性和效率。
最新版本已經實現了在線壓縮,估計在2.0版本左右。它應該能夠實現在線壓縮,並在後臺執行當前修復數據庫的壹些操作。那樣的話,目前的問題就解決了。
我們的大問題。
4.MongoDB對數據之間的事務關系支持較弱。
5.操作和維護不方便
MongoDB的優勢
1.適用於那些不清楚數據庫具體數據格式或者數據庫數據格式經常變化的需求模型,對開發者非常友好。
2.它帶有壹個分布式文件系統,可以很容易地部署在服務器集群上。
MongoDB中有壹個Shard的概念,方便服務器碎片化。每增加壹個碎片,MongoDB的插入性能都會以接近倍數的方式提升,磁盤容量也可以輕松擴展。
3.自帶map-reduce計算框架的支持,對於數據統計也非常方便。類似於分組依據
mongodb和mysql命令的比較傳統的關系數據庫壹般由三個層次的概念組成:數據庫、表和記錄。
MongoDB由三個層次組成:數據庫、集合和文檔。
MongoDB對於關系數據庫中的表沒有列、行和關系的概念,體現了模式自由的特點。