Мы разрабатываем новый веб-сайт электронной коммерции и впервые используем NHibernate.В настоящее время мы разделяем наши данные на несколько баз данных SQL Server, разделенных по областям функциональности.Таким образом, у нас есть один для UserInfo, один для заказов, один для ProductCatalogue и так далее ...
Наше решение действительно оправдано в два раза:
на сайтеПотенциал быть ОГРОМНЫМ (это новый веб-сайт для одного из крупнейших онлайн-брендов в Великобритании), и мы чувствуем, что, разделив наши данные по функциональным направлениям, мы сможем переместить базы данных на свои собственные серверы, что даст нампростой маршрут масштабирования, если он нам нужен;
моя команда всегда работала таким образом - отчасти вследствие следования шаблону MS Commerce Server из предыдущих проектов.
Однако, читая об этом решении в интернете, мы обнаруживаем, что нормальный отклик на такую модель крайне скучен.«Создайте больше работы для разработчиков сейчас, чтобы создавать больше работы для разработчиков позже» - один из примеров комментария от переполнения стека!
Кроме того, NHibernate гораздо проще использовать только с одной базой данных (только одна SessionFactoryтребуется).И зная, что переполнение стека долгое время сбегало только с одного ящика, я думаю, что, возможно, нам не следует пытаться быть такими умными.
Итак, мой вопрос: «Правы ли мы, полагая, что использованиедетализированные базы данных могут увеличить нашу способность к масштабированию или мы должны пожертвовать этим для облегчения разработки "?