Наша текущая унаследованная система была построена с использованием нескольких отдельных баз данных (около десяти из них). Все они являются частью одной дискретной системы, и большое количество SP и функциональных возможностей охватывают несколько баз данных. Есть также ключевые взаимосвязи, которые охватывают (например, таблица заголовков может находиться в базе данных A с историей и т. Д. В базе данных B).
Поэтому при развертывании нескольких копий нашего приложения на одном сервере мы должны использовать несколько экземпляров (поскольку имена баз данных закодированы в очень многих sproc).
Мы оцениваем идею взять эти десять баз данных (всего около 30 ГБ с отдельными размерами от 100 МБ до 10 ГБ) и объединить их в единую базу данных.
В настоящее время наши базы данных распределены по нескольким шпинделям для лучшего ввода-вывода. У меня есть вопрос, есть ли потеря производительности или выгода от наличия 10 разных баз данных по сравнению с 10 разными файлами баз данных?
т.е. вместо трех баз данных (A, B и C)
Disk D: A.mdf (1gb)
Disk E: B.mdf (4gb)
Disk F: C.mdf (10gb)
Disk G: A_Log.ldf, B_Log.ldf, C_Log.ldf
иметь одну базу данных (X)
Disk D: X1.mdf (5gb)
Disk E: X2.mdf (5gb)
Disk F: X3.mdf (5gb)
Disk G: X1_log.ldf,X2_log.ldf,X3_log.ldf
Спасибо! -Боб
Если нагрузка на базы данных не является очень равномерной, вы, вероятно, увидите лучшую производительность, если используете несколько файлов в группе файлов и одну базу данных в нескольких базах данных, распределенных на разных дисках. Это связано с кодом распределения нагрузки в ms sql, который обычно работает намного лучше, чем попытки вручную выбрать диски для каждой базы данных.
Краткое введение можно найти на http://sqlblogcasts.com/blogs/tonyrogerson/archive/2006/08/17/948.aspx, но это еще не все.
Вам также следует взглянуть на SQL Server 2005/2008 - несколько файлов / файловых групп - сколько? Зачем?, в котором хорошо обсуждается использование нескольких файловых групп.
О, если все ваши файлы журналов находятся на одном диске, скорее всего, у вас возникнет узкое место ввода-вывода, если только этот диск не работает быстро, а нагрузка на запись низкая. Будьте осторожны.
В конце концов, проверьте свои очереди ввода-вывода. Если вы не застреваете в ожидании ввода-вывода, нет смысла беспокоиться о производительности вашего диска. Это изменение можно мотивировать просто потому, что дизайн базы данных намного чище.