我一直在使用MongoDB一段時間,看到fsync
等待數據刷新到磁盤。好吧,所以我認爲這是數據安全的解決方案。什麼是MongoDB的fsync?
它很好地工作了很長時間,比SQL替代方案更長。然後我看到我可以將syncdelay
設置爲0
,然後速度回來了,但是我想,未來會有很多併發請求。所以我從更新中刪除了fsync
選項並插入並刪除了syncdelay
配置選項。
要測試數據是否正在寫入,我在更新數據之後迅速檢查了Rockmongo,並且數據實際上在那裏超快!
那麼真的,fsync
是什麼,如果它使寫入緩慢,沒有它的寫入發生,反正呢?
我最大的擔憂是Mongo在同步延遲之後將內存中的數據存儲到磁盤,並且如果用戶收到成功的味精,但在同步之前硬件出現故障,基本上是一個很大的失敗。 對嗎?或者是否有解決方案? – Hadrian 2012-07-17 22:43:51
再次,複製。MongoDB是分佈式數據存儲,而不是RDBMS。 MongoDB的一個實例基本上是_useless_,因爲你不能依靠它自己的持久性。一旦你有兩個實例,那麼你不需要擔心硬件失敗。 – kprobst 2012-07-17 22:45:41
使用日記功能的單個實例對於耐久性來說很好,特別是對於日記編寫問題。 – MrKurt 2012-07-17 22:52:32