2015-07-11 3 views
0

У меня есть эти сценарии, которые запускаются каждые 10 секунд и записывают тысячи записей в базу данных.Mongo DB как разделить проблемы

У меня тогда есть веб-приложение, которое потребляет одну и ту же базу данных.

Есть ли проблема с этим, и если да, то как я могу отделить проблемы постоянной записи с чтением. Должен ли я иметь 2 отдельных БД и один раз в день делать массовые записи одному? Не уверен.

+1

Не должно быть никаких проблем. Для этого нужны базы данных. – dmlittle

+0

У вас могут возникнуть серьезные проблемы. MongoDB [известен] (https://aphyr.com/posts/322-call-me-maybe-mongodb-stale-reads), чтобы иметь некоторые серьезные недостатки в некоторых сценариях, особенно если вы пишете много данных за короткое время , – marekful

ответ

0

Mongo может обрабатывать массивные одновременные чтения и записи (при условии, что ваши запросы и индексы установлены правильно), поэтому в целом это не проблема.

Однако, если вам нужно, чтобы эти записи выполнялись каждые 10 секунд, тогда прочитайте данные только после того, как все написано, вам, возможно, потребуется добавить лишний код ко времени все правильно. Это не проблема с самим Монго, это будет проблемой для вашего приложения.

В зависимости от того, как вы «потребляете» данные, вы можете захотеть взглянуть на ограниченные коллекции.

Также обратите внимание на использование механизма хранения WiredTiger, если у вас много записей. Тем не менее, независимо от того, используете ли вы MMAP или WiredTiger, вы не должны сталкиваться с проблемами чтения и записи, если у вас нет массивной коллекции, и в этом случае вам может понадобиться отделить ваши данные от большего количества коллекций, чтобы ускорить поиск запросов.