2015-07-11 14 views
0

我已經得到了這些腳本每10秒運行一次並將數千條記錄寫入數據庫。MongoDB如何區分顧慮

然後我有一個Web應用程序使用相同的數據庫。

這是否存在問題,如果是這樣,我該如何區分不斷寫入的問題與讀取。我應該有2個獨立的數據庫,並且每天有一次大量寫入這個數據庫?不確定。

+1

不應該有任何問題。這就是數據庫的用途。 – dmlittle

+0

您可能會遇到嚴重問題。 MongoDB [已知](https://aphyr.com/posts/322-call-me-maybe-mongodb-stale-reads)在某些場景中存在一些嚴重缺陷,特別是如果您在短時間內寫入大量數據。 – marekful

回答

0

Mongo可以處理大量的同時讀寫操作(只要您的查詢和索引設置正確),所以通常這不是問題。但是,如果您需要每10秒發生一次這些寫操作,那麼只有在寫完所有數據後才能讀取數據,則可能需要添加額外的代碼才能正確計時。這對於Mongo本身並不是問題,它會成爲您的應用程序的一個問題。

根據您「消費」數據的方式,您可能需要查看加蓋的集合。

如果您有很多寫入,請查看使用WiredTiger存儲引擎。但是,無論您使用MMAP還是WiredTiger,除非您擁有大量的集合,否則您不應該遇到任何讀取和寫入問題,在這種情況下,您可能希望將數據分爲更多集合以加快查找查詢。