2012-05-04 6 views
0

Мы выполнили проект с примерно 20 таблицами в SQL Server и завершили проект ASP.NET.Управление несколькими базами данных

Недавно наш клиент рассказал нам о новом параметре Site. По его словам, для каждого проекта есть несколько сайтов для данных проекта в Application. Мы сталкиваемся с некоторыми проблемами сейчас, так как приложение полностью разработано, мы не можем обновлять каждую таблицу SQL Server и каждый SQL-запрос, связанный с Application, для изменения в соответствии с параметром сайта, который мы обсуждаем, чтобы иметь несколько баз данных для каждого сайта.

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

Может ли кто-нибудь рассказать нам о соответствующем решении этой проблемы?

+0

Я не Не знаю вашу систему, поэтому я могу предлагать только ограниченную консультацию, но вы не могли бы просто добавить «Сайт», используя, например, 'SiteID' в вашу базу данных, чтобы иметь единую базу данных, вместо создания беспорядка с 20 базами данных. –

+2

Думаю, вы не объяснили свой вопрос так, как вы ожидаете. Это немного запутанно. –

+1

База данных на сайт, но все еще часть того же проекта, вероятно, вернется, чтобы преследовать вас, когда они начнут просить анализ проекта в рамках приложения. – MartW

ответ

1

Решение, которое вы предложили, окажется правильным; используйте другую базу данных на сайт (обратите внимание: сервер базы данных может легко разместить все 20 баз данных в зависимости от объема транзакции).

Пояснение: Что нужно для разделения данных на сайт; это можно сделать, добавив идентификатор сайта в табличные данные или убедившись, что сайты не используют хранилище данных; последнее в этом случае является самым простым и экономичным решением.

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

+1

Как насчет отчетов по всем сайтам? –

+0

Плакат не указал это как требование. Если это так, компромисс становится «переписыванием всего существующего кода, чтобы справиться с идентификатором сайта в исходной базе данных» и «переписывать запросы отчетов, которые должны охватывать несколько сайтов», –

0

Я уже прошёл по этой дороге раньше и что мы сделали была создана таблица сайта, а затем объекты, принадлежащие сайту, мы добавили отношение внешнего ключа к таблице сайта.

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

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

Смежные вопросы