SQL Server 2005/2008 - несколько файловых групп? - PullRequest
13 голосов
/ 13 февраля 2009

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

Каковы ваши стратегии / лучшие практики, когда дело доходит до работы с базой данных SQL Server разумного размера (чем-то большим, чем Northwind или AdventureWorks) - вы используете несколько файловых групп? Если так: сколько? А почему?

По каким критериям вы решаете отойти от подхода «одна файловая группа для всего»:

  • размер базы данных?
  • сложность базы данных?
  • требования к доступности / надежности?
  • что еще?

Если вы используете несколько групп файлов, сколько вы используете? Один для данных, один для индекса, один для журнала? Несколько (сколько) для данных? Каковы ваши причины для выбора - почему вы используете именно такое количество файловых групп :-)

Ответы [ 6 ]

13 голосов
/ 13 февраля 2009

Методика, подготовленная Microsoft и передовая практика, выглядит следующим образом:

  • Файлы журнала размещаются на отдельном физическом диске
  • Файлы данных размещаются на отдельном физическом диске
  • Несколько групп файлов: когда конкретная таблица очень большая. Часто дело в транзакционной базе данных (отдельный физический диск)
  • Несколько групп файлов: при использовании диапазонов или при желании разделить данные поиска в файл базы данных только для чтения (отдельный физический диск)

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

3 голосов
/ 01 марта 2010

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

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

Существует не менее ОДНА веская причина для наличия нескольких (не менее двух) групп файлов в SQL Server 2008: если вы хотите использовать функцию FILESTREAM, вы должны иметь выделенную и настраиваемую файловую группу для вашей Данные FILESTREAM: -)

Марк

1 голос
/ 03 апреля 2009

Как правило, у вас должна быть только одна основная файловая группа и один файл журнала.

Иногда, когда у вас есть очень статические данные, вы можете создать файловую группу SECOND , которая содержит эти статические данные. Затем вы можете создать файловую группу READONLY , которая повысит вашу производительность. В конце концов, это довольно статичные данные. Это не стоит, если у вас небольшое количество строк только для чтения (например, значения таблицы поиска). Но для некоторых вещей (например, для архивированного контента, который еще можно прочитать), это может быть отличным вариантом.

Я получил идею из этого поста в блоге .

НТН.

0 голосов
/ 30 апреля 2013

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

0 голосов
/ 13 февраля 2009

Я работал с большим количеством БД, и мы использовали файловые группы только в том случае, когда на диске не хватало места, и нам пришлось создать новую файловую группу на другом шпинделе. Я уверен, что есть хорошие причины производительности, почему это не идеально, но это было реальностью.

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