Нужно ли использовать секционирование в 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 (3)

  1. mazzy says:

    А можно более детально обосновать утверждение “Данные на RAID 10, что гораздо более эффективно, чем использование секционирования”?

    Какие причины больше всего подтверждают это утверждение?

  2. Данное утверждение основывается на опыте и проведенных в штаб-квартире внутренних тестах.

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

    Имелось ввиду, что желательно использовать RAID 10 (0+1), и распределять данные равномерно между множеством дисков (и контроллеров).

    Как инструмент, можно использовать sys.dm_db_operational_index_stats для экземпляра для анализа статистики для индексов. Наиболее часто используемые индексы могут быть перемещены на отдельный диск.

  3. «В версии 5 будут введены изменения в процесс синхронизации для поддержки секционирования» – было ли это воплощено в жизнь?

Skip to main content