Проект CMS / E-commerce asp.net: одна база данных или несколько баз данных? - PullRequest
1 голос
/ 31 марта 2010

В настоящее время я работаю над проектом C # / ASP.NET, на котором будут размещаться несколько разных веб-сайтов электронной коммерции, все из которых будут работать в одном приложении.

Я использую LinqToSql (скоро перейду на PLINQO) для доступа к моей базе данных. База данных содержит как информацию о структуре сайта (страницы, ...), так и данные о товарах / заказах / пользователях.

Мой вопрос заключается в том, должен ли я использовать только одну базу данных для всех веб-сайтов или создать новую базу данных (той же модели) для каждого нового веб-сайта?

Сейчас я использую одну базу данных (с идентификаторами сайтов в некоторых таблицах), но у меня есть серьезная проблема с безопасностью, я не могу просто сделать резервную копию / восстановить базу данных для ОДНОГО сайта, если что-то пойдет не так (например, кто-то сотрет все продукты на ОДНОМ сайте), и это важное требование к заявке.

Так что мне было интересно, каковы хорошие практики в этом случае? Есть ли большие минусы, если расщеплять БД? (Я должен был бы внести изменения в несколько баз данных вместо одной в случае структурных изменений, но я думаю, что смогу сделать систему версий / обновлений БД). Как с этим справляются существующие CRM? Это проблема с производительностью, если на сервере базы данных размещается много разных баз данных? Сложный инструмент резервного копирования / восстановления будет лучше?

подвопрос: Чтобы упростить репликацию веб-сайта, я также могу разделить чистые данные CMS (страницы, тексты и т. Д.) В одну БД и данные электронной торговли (продукты / категории / заказы в другой). Это хорошая идея? Этого можно достичь с помощью некоторых функций выбора / вставки, но, конечно, проще всего скопировать базу данных.

PS: извините за ок. английский;)

1 Ответ

1 голос
/ 31 марта 2010

Если вы беспокоитесь о том, чтобы все ваши сайты были в одной базе данных, вы, вероятно, ответили на свой вопрос. Когда я использовал их все в одной базе данных, я явно говорил, что отправка им базы данных будет стоить.

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

Что касается обновлений базы данных, у вас должны быть сценарии для выполнения обновлений в любом случае, чтобы перейти от тестовых к работающим системам, поэтому работа с другими системами должна быть в порядке. Однако это создаст накладные расходы.

Короче говоря, нет правильного или неправильного ответа, если вы можете держаться вместе и делать клиентов счастливыми, тогда делайте это иначе, а клиентам начисляйте немного больше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...