Вопросы
Войти

В SQL сервере, когда вы должны разделить первичной файловой группы данных во вторичные файлы данных?

Jarrod Dixon

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

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

sql-server
files
groups
3 Ответов
Brent Ozar

Есть две части к этому вопрос: когда нужно добавить новую файловую группу, и когда, чтобы добавить новый файл в файловой группе. Теория сначала поговорим:

Справа знак о основной причине того, производительности.

Вторичная причина аварийного восстановления. С SQL Server 2005 и более новых, Вы можете выполнять резервное восстановление. Когда приходит беда, можно восстановить только ваша первичная файловая группа первая и привести базу данных частично Онлайн для запросов. Пользователи могут выполнять запросы в то время как вы восстанавливаете других групп. Это полезно для баз данных с большим объемом исторических данных, что не может быть потребовано немедленно, или склады данных, которые нужно загрузить данные в текущей таблицы без исторические данные для доступа.

Другая причина-это чтение/запись профиль групп данных. Если у вас есть некоторые данные, которые постоянно писали и другие данные, которые получает тяжелые операции чтения, вы можете строить различные типы хранения, чтобы удовлетворить эти потребности. Вы могли бы поставить тяжелый-написать материал на рейд 10, а также оставить чтение ангажированные вещи о дешевле в RAID 5.

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

Если вы разрабатываете для хранения, и у вас есть 80 жестких дисков, есть несколько способов, вы можете разбить его:

  • Один бассейн из 80 дисков
  • Два бассейна из 40 дисков
  • Четыре бассейна 20 дисков, и т. д...

Различных подсистем хранения данных имеют различные профили производительности. Я работал с некоторыми Санс, который выполнил лучше с 12-16 дисковых массива, и ничего больше не было повышения производительности. Другой пример-Санс с многоканальностью: если у вас несколько адаптеров подключения вашего сервера к хранилищу, и если ваше программное обеспечение многопутевого ввода / вывода не настоящий "активный/активный", то вы, возможно, потребуется один массив в путь для того, чтобы распределить нагрузку. Четыре пути, четыре бассейна дисков будет получить лучшую производительность на те типы дисков.

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

Mark S. Rasmussen

Основная причина-это производительность. Когда у вас закончатся ИППО мощности на основной диск как файловая диск, вам потребуется развернуть на другую файловую группу для разделения операций ввода-вывода на несколько дисков/томов в зависимости от хранилища конфигурации.

Редактировать: Брэд Уилсон сделал хороший комментарий по поводу SSD-накопители. Если вы используете композитный ССД/Сата/ФК системы хранения, вы можете иметь разные файловые группы на разные типы хранения. Затем вы можете положить ваши экстремальные ИППО таблицы требование на SSD-диски filegropus, в то время как история/статистика таблицы могут храниться на дешевых SATA и файловые группы.

Jason Horner

Я также хотел бы отметить, есть recoverabiltiy / аспект доступности данных на этот вопрос, а также. С помощью нескольких файловых групп, и не устанавливать каких-либо определенных пользователем объектов по первичной файловой группе, у вас есть больше гибкости в обеспечении оперативного восстановления. это позволяет поэтапного восстановления на уровне группы файлов.

Онлайн восстановление доступно в Enterprise и Developer SQL сервер позднее 2005 года

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