Нужно ли использовать секционирование в Microsoft SQL Server 2005 для DAX 3.0
Сразу хочу заметить, что речь пойдет о Microsoft Dynamics AX 3.0, не о новой версии 4.0.
Если рассматривать пути увеличения производительности и использование для этого секционирования, то получение эффекта от секционирования не очевидно.
Лучше рассматривать стандартные пути увеличения производительности:
- TempDb на разных устройствах. С Microsoft SQL Server 2005 возможность возникновения проблемы конкуренции в tempDB гораздо более высока по сравнению с Microsoft SQL Server 2000. Файловая группа для базы данных tempdbдолжна содержать несколько идентичных файлов одинакового размера; количество файлов должно определяться числом процессоров сервера (логических процессоров при гипертрейдинге, или физических при использовании процессоров с несколькими ядрами). Желательно разместить файлы на разных физических дисках, использующие разные контроллеры.
- Журналы на отдельном от данных устройстве с RAID 10.
- Данные на RAID 10, что гораздо более эффективно, чем использование секционирования.
Основная цель использования секционирования в случае DAX 3.0 – для целей администрирования. Обычно, администратор баз данных создает дополнительные файловые группы для операций обслуживания (резервное копирование, восстановление, и т.п.), а не для повышения производительности.
В версии 5 будут введены изменения в процесс синхронизации для поддержки секционирования.
Следует также заметить, что для оптимальной работы Microsoft Dynamics AX 3.0 с Microsoft SQL Server 2005 необходим достаточно серьезный анализ оптимальности использования индексов, в частности кластерных по сравнению с Microsoft SQL Server 2000.
Также, рекомендуется использовать последние пакеты обновления для Microsoft SQL Server 2005, поскольку в базовой версии базы данных были проблемы, влияющие на производительность системы и исправленные в пакетах обновления, например, работа с автоматическим расширением файлов или возникновение ошибок при работе с курсорами (Microsoft Dynamics AX использует курсоры).
Comments
Anonymous
March 17, 2007
А можно более детально обосновать утверждение "Данные на RAID 10, что гораздо более эффективно, чем использование секционирования"? Какие причины больше всего подтверждают это утверждение?Anonymous
March 22, 2007
Данное утверждение основывается на опыте и проведенных в штаб-квартире внутренних тестах.Возможно, фраза построена не очень точно, имелось ввиду, что следует уделить внимание оптимизации дисковой подсистемы и типу RAID; и это дает гораздо больший эффект, чем использование секционирования на неоптимально настроенном хранилище.Имелось ввиду, что желательно использовать RAID 10 (0+1), и распределять данные равномерно между множеством дисков (и контроллеров).Как инструмент, можно использовать sys.dm_db_operational_index_stats для экземпляра для анализа статистики для индексов. Наиболее часто используемые индексы могут быть перемещены на отдельный диск.Anonymous
March 20, 2008
«В версии 5 будут введены изменения в процесс синхронизации для поддержки секционирования» - было ли это воплощено в жизнь?