更高的寫負載
默認情況下,對比事務安全,MongoDB更關注高的插入速度。如果你需要加載大量低價值的業務數據,比如日志收集,那么MongoDB將很適合你的用例,但是必須避免在要求高事務安全的情景下使用MongoDB,比如一個1000萬美元的交易。
處理很大的規模的單表:
數據庫擴展是非常有挑戰性的,當單表格大小達到5-10GB時,MySQL表格性能會毫無疑問的降低。如果你需要分片並且分割你的數據庫,MongoDB將很容易實現這一點。
不可靠環境保證高可用性
設置副本集(主-從服務器設置)不僅方便而且很快,此外,使用MongoDB還可以快速、安全及自動化的實現節點(或數據中心)故障轉移。
使用基於位置的數據查詢,查的更快
MongoDB支持二維空間索引,比如管道,因此可以快速及精確的從指定位置獲取數據。
MongoDB在啟動后會將數據庫中的數據以文件映射的方式加載到內存中。如果內存資源相當豐富的話,這將極大地提高數據庫的查詢速度,畢竟內存的I/O效率比磁盤高多了
非結構化數據的爆發增長
增加列在有些情況下可能鎖定整個數據庫,或者增加負載從而導致性能下降,這個問題通常發生在表格大於1GB的情況下。鑒於MongoDB的弱數據結構模式,添加1個新字段不會對舊表格有任何影響,整個過程會非常快速;因此,在應用程序發生改變時,你不需要專門的1個DBA去修改數據庫模式。
缺少專業的數據庫管理員
如果你沒有專業的DBA,同時你也不需要結構化你的數據及做join查詢,MongoDB將會是你的首選。MongoDB非常適合類的持久化,類可以被序列化成JSON並儲存在MongoDB。需要注意的是,如果期望獲得一個更大的規模,你必須要了解一些最佳實踐來避免走入誤區。
