1. 程式人生 > >對比關係型資料庫,什麼情況下使用非關係型資料庫(mongodb)

對比關係型資料庫,什麼情況下使用非關係型資料庫(mongodb)

你期望一個更高的寫負載

    預設情況下,對比事務安全,MongoDB更關注高的插入速度。如果你需要載入大量低價值的業務資料,那麼

MongoDB將很適合你的用例。但是必須避免在要求高事務安全的情景下使用MongoDB,比如一個1000萬美元的交易。



不可靠環境保證高可用性


    設定副本集(主-從伺服器設定)不僅方便而且很快,此外,使用MongoDB還可以快速、安全及自動化的實現節點

(或資料中心)故障轉移。



未來會有一個很大的規模


    資料庫擴充套件是非常有挑戰性的,當單表格大小達到5-10GB時,MySQL表格效能會毫無疑問的降低。如果你需要分

片並且分割你的資料庫,MongoDB將很容易實現這一點。



使用基於位置的資料查詢


    MongoDB支援二維空間索引,因此可以快速及精確的從指定位置獲取資料。


非結構化資料的爆發增長


    給RDBMS增加列在有些情況下可能鎖定整個資料庫,或者增加負載從而導致效能下降,這個問題通常發生在表格

大於1GB(更是下文提到BillRun系統中的痛點——單表格動輒幾GB)的情況下。鑑於MongoDB的弱資料結構模式,添

加1個新欄位不會對舊錶格有任何影響,整個過程會非常快速;因此,在應用程式發生改變時,你不需要專門的1個

DBA去修改資料庫模式。



缺少專業的資料庫管理員


    如果你沒有專業的DBA,同時你也不需要結構化你的資料及做join查詢,MongoDB將會是你的首選。MongoDB非常

適合類的持久化,類可以被序列化成JSON並儲存在MongoDB。需要注意的是,如果期望獲得一個更大的規模,你必須

要了解一些最佳實踐來避免走入誤區。

    摘自:http://www.csdn.net/article/2014-03-06/2818652-when-use-mongodb-rather-mysql