2009-03-10 2 views
2

Мы переносим несколько старых приложений мэйнфреймов для клиентов на новые приложения ASP.NET + SQL Server 2005. Каждое приложение, как правило, считается автономным без общих данных между ними, и делает такие вещи, как управление специализированными потребностями в инвентаре или политикой каникул. Данные небольшие и не должны перерастать один SQL Server. Лучше ли создавать одну большую базу данных для всех этих приложений для совместного использования или несколько меньших баз данных - по одному для каждого приложения?Должен ли я создать несколько небольших баз данных приложений или один большой?

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

ответ

1

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

3

Вы должны использовать отдельные базы данных. Все они могут запускаться из одного экземпляра SQL Server.

1

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

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

1

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

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

0

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

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