Горизонтальное разделение таблицы фактов в SQL Server 2005 - Создаем схему разделения

ОГЛАВЛЕНИЕ


Создаем схему разделения

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

CREATE PARTITION SCHEME
  MyPartitionScheme
  AS MyPartitionFunction
  TO (MyFilegroup1, MyFilegroup2,
  MyFilegroup3, MyFilegroup4,
  MyFilegroup5)

MyPartitionScheme - название схемы секционирования, а имя MyPartitionFunction обозначает функцию разделения на секции. Эта команда отображает граничные величины в секции, которые связаны с одной или несколькими группами файлов. Строки с данными со значениями Date_of_Event datetime до 1/01/03 связаны с MyFilegroup1. Строки со значениями datetime больше или равны  1/01/03 и до 1/01/05 назначены MyFilegroup2. Строки со значениями datetime более или равны  1/01/05 и до момента 1/01/07 связаны с MyFilegroup3. Все остальные строки со значениями datetime более или равны 1/01/07 связаны с MyFilegroup4.

Для каждого набора граничных значений (помните, граничные значения находятся в условии FOR VALUES функции разделения)  будет (количество граничных значений + 1) секций. Предыдущее предложение CREATE PARTITION SCHEME включает три ограничения и четыре секции. Независимо от того, созданы ли секции с RANGE RIGHT или RANGE LEFT, здесь будет всегда (число ограничений  + 1) секций, вплоть до 1000 секций на таблицу. Так почему в нашем примере пять групп файлов вместо четырех? Ведь оператор функции разделения имеет только три ограничения. Пятая группа файлов - это дополнительная, «для последующего использования» группа файлов. Давайте рассмотрим, как эта группа используется и насколько важно ее присутствие в схеме секционирования.

В примере с CREATE PARTITION FUNCTION последнее граничное значение - это 1/01/2007, строки со значением Date_of_Event больше или равные 1/01/2007 будут сохранены в секции 4 (P4). Когда пройдет дата 1/01/2009, потребуется создать новую секцию, чтобы поддержать схему хранения, которую вы установили. Если ваш оригинальный оператор CREATE PARTITION SCHEME не включает следующую используемую группу файлов, вы не сможете разбить P4 на секцию P4, которая будет содержать данные с 2007 по конец 2008 года, и секцию 5 (P5), которая будет содержать данные с 1/01/2009 и далее. Если ваш план включает периодическое создание новых разделов, для того чтобы содержать новые данные, как в этом примере, убедитесь, что вы включили следующую группу файлов «для последующего использования» в предложение CREATE PARTITION SCHEME.

Необязательно связывать одну секцию с одной группой файлов, как показано на Рисунке 4.


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

Создание схемы секционирования может быть наиболее важным шагов в процессе разделения  на секции. В будущем может появиться потребность объединить данные из двух смежных секций в одну, добавить ограничение к существующей секции или переместить данные из заполненной секции в пустую. Для того чтобы выполнить эти операции, администратор должен осуществить некоторое планирование и создать схему секционирования так, чтобы эта секция обеспечила такие действия. SQL Server 2005 Books Online (BOL) предусматривает несколько хороших ресурсов для планирования, включая «Planning Guidelines for Partitioned Tables and Indexes» (msdn2.microsoft.com/en-us/library/ms180767.aspx))