Если вы хотите 'минимизировать влияние' , вы захотите создать базу данных в MongoDB, такую же, как у вас в SQL. Поскольку в базе данных нет соединений, вам нужно выполнить несколько чтений, чтобы завершить запрос. Само по себе это не так уж и плохо, потому что MongoDB действительно быстр, но, очевидно, у него есть другие проблемы (параллелизм и т. Д.).
Однако, если вы хотите полностью перейти на NOSQL-способ выполнения действий, которые вы, вероятно, не сможете «минимизировать влияние» , вам необходимо внести существенные изменения в как вы храните контент, как вы получаете к нему доступ и как вы его обновляете.
Хранилище : Скорее всего, вы создадите документы в вашей базе данных, которые денормализованы и намного ближе к «ViewModels», чем «Models». Например, вы можете сохранить количество дочерних записей в родительской записи, чтобы вы могли отображать их без необходимости загружать или подсчитывать их.
Доступ : Вы можете в конечном итоге использовать Map-Reduce для некоторых запросов к вашей базе данных, что сильно отличается от традиционного запроса.
Обновления : По всей вероятности, ваш подход к обновлению будет отличаться, чтобы воспользоваться множеством детальных функций обновления MongoDB, таких как $inc
. Вместо того, чтобы отправлять обратно какую-либо модель большого представления, а затем применять ее к своей модели и затем обновлять базу данных, вы могли бы вместо этого предоставить гораздо более детальный обратный вызов Ajax, который обновляет одно значение. Взгляните на CQRS, чтобы узнать больше о том, как думать о моделях обновлений и запросов.