2012-05-14 45 views
1

我正在開發一個應用程序體系結構,允許用戶添加一些數據,如某些產品的評論以及註冊/登錄功能。 爲了快速插入並獲得我正在考慮使用MongoDB和持久性存儲(如果mongodb損壞或失敗)我想將其保存到數據庫(postgre/msql)。 也爲註冊/登錄我會做同樣的。建議何時/如何將數據保存到數據庫,插入到MongoDB時

我需要一些建議,在什麼水平/層我應該將數據保存到數據庫?它應該在一個線程?或者我低估了MongoDB?它強大的失敗保險!

在此先感謝。 乾杯

回答

3

只要您使用日記功能並使用驅動程序的功能來確保您的插入和更新在返回之前提交給日記,MongoDB與MySQL一樣(至少)具有強大的故障安全性。

MongoDB中保留這些給用戶來決定你的數據是多麼重要,而有各種不同的層次:

  • 「安全模式=關」:你真的不在乎你插入或更新是否有工作
  • 「安全模式= ON」:MongoDB的承認,你的插入/更新已使它成爲它的內存
  • 「安全模式=的」 + 「雜誌=的」
  • 「FSYNC = ON」:真的很慢,但它確保在驅動程序返回
  • 0之前將數據提交到磁盤
  • 「w = 2」:如果您使用複製數據庫,那麼可以將其與其他選項結合使用,以確保插入/更新已針對集合中的「至少2臺」機器運行。

對於一些更多的背景信息,看看http://mongly.com/Demystifying-Write-Durability/

+0

感謝德里克,幫了我很多,我會等待一天以上,如果別人也提供一些建議 –

相關問題