Мы разрабатываем новую версию нашего существующего продукта по новой схеме.Это внутреннее веб-приложение с возможно 100 одновременными пользователями (макс.). Оно будет работать в базе данных SQL Server 2008.
В последнее время обсуждается вопрос о том, должна ли у нас быть одна база данных для разделения базы данных по соображениям производительностив двух отдельных базах данных.
База данных может вырасти из 50-100 ГБ в течение 5 лет.
Мы разработчики, а не администраторы баз данных, поэтому было бы неплохо получить общее руководство.
[Я знаю, что ответ не простой, так как он зависит от схемы, политики архивирования, объема данных и т. Д.]
Вариант 1 Одна основная база данных [Это мой предпочтительный вариант].
Планируется, что все таблицы будут находиться в одной базе данных и, возможно, будут использоваться файловые группы и разделы для разделения данных, если это необходимо, на несколько дисков.Использовать схему при необходимости.Это должно быть связано с проблемами производительности. Один из комментариев заключался в том, что один экземпляр сервера все еще будет обрабатывать эти данные, поэтому все равно будет горлышко обработки.
Для создания отчетов у нас может быть отдельная отчетностьБД, но это все еще обсуждается.
Вариант 2 Разделить базу данных на 2 отдельные базы данных
DB1 - клиенты, учетные записи, ресурсы клиентов и т. Д.
DB2 - эта информация будет содержать большую часть данных [т.е. данные отслеживания транспортных средств, таблицы финансовых транзакций и т. Д.].
Эти таблицы обычно содержат много данных.[При необходимости он может находиться на отдельном сервере]
Этот план будет включать хранение основных данных в небольшой базе данных [DB1] и сохранение [главным образом] данных типа транзакции только для чтения в отдельной БД [DB2],Пользовательский интерфейс будет в основном читать из DB1 и, следовательно, будет более отзывчивым.[Мне известно, что этот параметр затрудняет применение ссылочной целостности.]
Вопросы для рассмотрения Поскольку мы находимся на стадии проектирования, мы можем по крайней мере правильно использовать индексы для решения проблем производительности, поэтомупочему вариант 1 для меня привлекателен и его более стандартного подхода.Для обоих вариантов мы рассматриваем возможность реализации базы данных архивирования.
Извинения за длинный вопрос.В итоге вопрос 1 БД или 2?
Заранее спасибо,
Лиам