Должен ли я создать несколько небольших баз данных приложений или одну большую? - PullRequest
2 голосов
/ 10 марта 2009

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

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

Ответы [ 5 ]

3 голосов
/ 10 марта 2009

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

1 голос
/ 10 марта 2009

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

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

1 голос
/ 10 марта 2009

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

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

1 голос
/ 10 марта 2009

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

0 голосов
/ 10 марта 2009

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

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