SQL Server 2005 / 2008 - несколько файлов / группы файлов - сколько? Почему?

Во-первых я должен сказать, что не использую portmaster, я использую portupgrade, но затем я создаю порты, а не использую пакеты!

Portupgrade позволяет Вам помещать:

portupgrade php\*

, который обновит все php порты. Portmaster может сделать то же самое.

Также можно дать portsnap несколько команд сразу, таким образом, можно поместить

portsnap fetch update
11
задан 20 June 2009 в 13:55
2 ответа

Основное эмпирическое правило состоит в том, чтобы разделить файлы на различные объемы для предотвращения конкуренции, однако anmount увеличения производительности, которое Вы получаете, варьируется дико подсистемой ввода-вывода и рабочей нагрузкой. Например, несколько файлов на единственном физическом шпинделе собирается высосать насколько производительность идет, но то же расположение с объемом, находящимся на LUN SAN с несколькими сотнями дисков от массивов RAID 10, может быть очень хорошо. Дисковые счетчики длины очереди являются Вашим другом как самым простым способом сказать, есть ли у Вас узкое место ввода-вывода.

Вы смотрите на шаблоны ввода-вывода на базах данных - только для чтения, читаете главным образом, чтение-запись, пишете главным образом, только для записи - и базирующиеся вещи на этом. Также необходимо выбрать правильный уровень RAID и удостовериться смещения раздела диска, размер дорожки RAID, и размер единицы выделения NTFS правильно установлен. Некоторым людям нравится разделять некластеризируемые индексы на отдельную группу файлов, но увеличение производительности здесь варьируется, как я объяснил выше.

А также производительность, необходимо рассмотреть управляемость и recovererability. Наличие единственного, монолитного файла данных для базы данных на 100 ГБ означает, что Ваша единица восстановления является тем файлом. Разделение его в 4 группы файлов на 25 ГБ означает, что можно использовать частичную доступность базы данных и постепенное восстановление для только восстановления единственной группы файлов в конечном счете, это повреждено. Путем разделения таблиц и индексов в нескольких группах файлов можно также ограничить, какие части базы данных затронуты техническим обслуживанием (например, индексируйте удаление фрагментации).

Tempdb является целым особым случаем, и я укажу на Вас на мое сообщение в блоге, которое объясняет все о том, почему и как разделить tempdb - существует много неправильных представлений там.

Не давая Вам 'широкое обобщение' рекомендация здесь, я укажу на Вас на набор технических описаний и сообщений в блоге для Вас для чтения:

Надежда это помогает Вам!

16
ответ дан 2 December 2019 в 21:47
  • 1
    +1 большое спасибо, Paul - большое сообщение, большие ссылки - превосходный –  marc_s 21 June 2009 в 15:17
  • 2
    Большой ответ Paul-> я пытался найти некоторые ранее заданные вопросы о SqlServer и дизайне жесткого диска (например, TempDB на Bus1_Disk1, My_DB на Bus2_Disk1, и т.д.).. Время для чтения.... –  Pure.Krome 30 June 2009 в 09:34

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

Существуют некоторые сценарии, которые могли быть интересными под определенным помещением:

  • 2 группы файлов: данные и индекс
  • 3 группы файлов: таблицы только для чтения, таблицы чтения-записи, индекс
  • несколько групп файлов: только для чтения, чтение-запись, индекс, ключевая таблица 1, ключевая таблица 2...

Необходимо проанализировать среду, чтобы решить, помогут ли группы файлов с ростом SQL Server, использованием и потребностями производительности.

Некоторые ключевые показатели для перемещения в несколько групп файлов (от этой статьи):

  • Когда дисковая организация очередей вызывает приложение и пользовательские проблемы опыта
    • Если это верно, считайте усиливающие дополнительные дисководы с новым корпусом групп файлов IO интенсивные таблицы
  • Когда конкретные таблицы составляют 10% или больше базы данных
    • Если это верно, полагайте, что перемещение этих особенно больших таблиц разделяет группы файлов на отдельных дисках базового диска
    • В зависимости от размера таблицы в пропорции к остатку от таблиц рассмотрите создание группы файлов для отдельной таблицы (таблиц)
  • Когда не кластерный индекс и пространство данных равны на больших таблицах
    • Если это верно, рассмотрите разделение данных и кластерного индекса от некластерных индексов
  • Когда почти равный процент только для чтения и данных чтения-записи существует в базе данных
    • Если это верно, рассмотрите разделение данных только для чтения в отдельной группе файлов как данные чтения-записи
  • Когда недостаточное время доступно для выполнения сопровождения базы данных
    • Если это верно, рассмотрите разделение больших таблиц в отдельные группы файлов на различных базовых дисках и выполните обслуживание параллельно
  • Когда бизнес или приложение будут изменяться значительно, и данные собираются расти с намного более высокой скоростью
    • Если это верно, полагайте, что работа с пользователями понимает потенциальный рост
  • Когда заархивированные данные находятся в той же базе данных как производственные данные
    • Если это верно, рассмотрите отдельные группы файлов или один или несколько методов в этой подсказке - Архивация Данных в SQL Server

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

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

4
ответ дан 2 December 2019 в 21:47
  • 1
    +1 превосходное сообщение - благодарит за подсказки и ссылки! –  marc_s 21 June 2009 в 15:18

Теги

Похожие вопросы