對比關係型資料庫,什麼情況下使用非關係型資料庫(mongodb)
阿新 • • 發佈:2018-12-29
你期望一個更高的寫負載
不可靠環境保證高可用性
未來會有一個很大的規模
使用基於位置的資料查詢
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