Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Стратегия секционирования: Скользящие окна, что-то не так  [new]
IgorElse
Member

Откуда:
Сообщений: 6
В конторе используется следующая идея работы со скользящими окнами:
1. Секционирование по дням
2. Создано 6 filegroups
3. Каждый день одна секция отключается и передвигается в Staging table.
4. После этого делается switch

Вроде все правильно, классика жанра, НО:

Таблица Staging также секционирована той же функцией, что и основная таблица
Мне это интуитивно не нравится.
Я ошибаюсь или как?

ПыСы. После того, как данные передвинуты, они либо убиваются truncate, либо сливаются в файл с помощью bcp, так что объединения данных нет.
21 сен 09, 11:35    [7685999]     Ответить | Цитировать Сообщить модератору
 Re: Стратегия секционирования: Скользящие окна, что-то не так  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6723
IgorElse
3. Каждый день одна секция отключается и передвигается в Staging table.

Таблица Staging также секционирована той же функцией, что и основная таблица
Мне это интуитивно не нравится.

ALTER TABLE <Main Table> SWITCH PARTITION <Partition Number> TO <Staging Table>;
Как вы видите <Staging Table> обычная пустая табла.
21 сен 09, 12:12    [7686313]     Ответить | Цитировать Сообщить модератору
 Re: Стратегия секционирования: Скользящие окна, что-то не так  [new]
IgorElse
Member

Откуда:
Сообщений: 6
Это работает, я не спорю. В документации нигде не сказано, что нельзя сделать staging таблицу секционированную той же функцией. У меня просто сомнение, хорошее ли это решение.
21 сен 09, 12:22    [7686386]     Ответить | Цитировать Сообщить модератору
 Re: Стратегия секционирования: Скользящие окна, что-то не так  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6723
IgorElse
Это работает, я не спорю. В документации нигде не сказано, что нельзя сделать staging таблицу секционированную той же функцией. У меня просто сомнение, хорошее ли это решение.
Твоя моя не понимать.

Вы можете сделать 6-ть несекционированных обычных таблиц и SWITCH-ить туда. Или одну таблицу и постоянно менять ей файловую группу. Только будет ли вам удобно?!
Теперь интуиция спокойна?

Вы можете и не делить на 6-ть файловых групп (это в зависимости от стратегии дисковой подсистемы) и staging табла будет нам не секционирована.
22 сен 09, 09:44    [7690335]     Ответить | Цитировать Сообщить модератору
 Re: Стратегия секционирования: Скользящие окна, что-то не так  [new]
IgorElse
Member

Откуда:
Сообщений: 6
Действительно не понимать :)
Любое из этих решений - рабочее.
В небезысвестной статье Кимберли Трип предлагается каждый раз создавать новую таблицу в нужной группе и свитчить туда. Решения с одной таблицей или 6-ю - очевидны, все это - дело вкуса. Просто ни в этой статье, ни в микрософтовской документации я не натолкнулся в общем-то напрашиваюшийся сценарий с одной таблицей staging с той же схемой партиционирования. И вот тут моя интуиция и задумалась: а может это неспроста и я чего-то не понимаю? Об том, собсно, и вопрос.
22 сен 09, 11:56    [7691429]     Ответить | Цитировать Сообщить модератору
 Re: Стратегия секционирования: Скользящие окна, что-то не так  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6723
IgorElse
В небезысвестной статье Кимберли Трип предлагается каждый раз создавать новую таблицу в нужной группе и свитчить туда.
У нас бы ей руки оторвали за динамический CREATE/ALTER/DROP где не попадя.
Все случаи не расписать. Забейте.
22 сен 09, 13:19    [7692112]     Ответить | Цитировать Сообщить модератору
 Re: Стратегия секционирования: Скользящие окна, что-то не так  [new]
mike909
Member

Откуда:
Сообщений: 662
Mnior
IgorElse
В небезысвестной статье Кимберли Трип предлагается каждый раз создавать новую таблицу в нужной группе и свитчить туда.
У нас бы ей руки оторвали за динамический CREATE/ALTER/DROP где не попадя.
Все случаи не расписать. Забейте.

А чем динамика не катит ?
imho без динамики можно обойтись только в том случае, когда схема секционирования построена на одной файловой группе типа "PRIMARY", и откусываем всегда одну и ту-же сецию (2_ю для правосторонней функции).
Поубивал бы за такие решения "в лоб".

to IgorElse,

Кстати,
IgorElse
Таблица Staging также секционирована той же функцией
А это как ?
Варианты ответа:
1) Таблица Staging создается в той же схеме секционирования что и основная
2) Существует еще одна схеме секционирования на той-же функции что и схема секционирования основной таблицы

Если нужно только откусить секцию, то абсолютно неважно, куда переключать - в простую таблицу или секционированную. А для варианта ответа №1 - минимум кода, да и без динамики можно обойтись, т.к. схема секционирования не меняется со временем ж-(

Хотя ...
Если схема секционирования собрана на разных файловых группах, часть из которых ReadOnly, то откусить можно только в простую таблицу.
Или в другую схему секционирования у которой все файловые группы ReadWrite и откусываемая секция в файловой группе в обеих схемах да еще и в одинаковых "позициях" (короче - геморой).

А если простую таблицу нужно обратно засунуть в ту-же или другую схему, то тут-же вылезает необходимость в constraint'ах по полю секционирования...
22 сен 09, 16:26    [7693779]     Ответить | Цитировать Сообщить модератору
 Re: Стратегия секционирования: Скользящие окна, что-то не так  [new]
IgorElse
Member

Откуда:
Сообщений: 6
О!
Вот теперь утряслось, что мне не нравилось!
Был микс из предложенных Вами вариантов, а именно (1), но при этом разные группы файлов.
В результате, людей удалось переубедить, что разные файловые группы им ... не нужны, и можно все сделать в одной, то есть ... ALL TO [ARCHIVE].
Двигаем всегда 2ю секцию, потом ее сливаем в файл с помощью bcp, урезаем и все тип-топ, и всегда можно поднять из файла без всяких динамических приблуд - терпеть их не могу.
Как вариант, думал о способе (2), и сразу задать секции вправо до даты своей пенсии :)

ПыСы. А какой гемор человек сваял... Динамическое изменение как размера секции, так и их количества, опциональное усечение, поиск свободной файловой группы для USE NEXT... песня!
Позвали меня разобраться, у них там "что-то не так работало" и "иногда переключение брало много времени или последняя секция оставалась". Чел чего-то там надыбал в интернете, потом подправил, подкрутил, улучшил, углУбил - короче, коллектив из 5и процедур, куча динамического кода, 2 недели работы и так не хотел это выбрасывать )
22 сен 09, 17:51    [7694508]     Ответить | Цитировать Сообщить модератору
 Re: Стратегия секционирования: Скользящие окна, что-то не так  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6723
Нифига не понял. Каждый говорит о своём. IgorElse, первоначальный пост совершенно не содержит необходимых данных. Надо базовые цели и положение дел описывать сразу. А так какой то блог получается. Не против, только мало кому будет понятно.

mike909
А чем динамика не катит ?
Излишняя динамика не катит. Если каждому программеру вздумалось делать динамику где не попадя, был бы полный хаос. А так есть свои права и привилегии согласно функции. Например, если надо не секционированную таблицу в другой группе, то можно например не DROP+CREATE, а ALTER MOVE TO. Соответственно права не нужно расширять. Это я к примеру, короче минимум всего: кода, прав ... Оптимальность не только в перформансе (динамика не очень то и способствует), но и в безопастности и менеджменте.

mike909
Если схема секционирования собрана на разных файловых группах, часть из которых ReadOnly ...
А такие ограничения только в 2005 или на 2008 тоже распространились? Лично сомневаюсь, на основании "особенностей" в 2005 со SWITCH + SCHEMABINDING. Конечно я в ReadOnly нуль, но ограничение какое-то логическое, сама же файловая группа при этом не меняется, секции же отсутствуют.
22 сен 09, 21:16    [7695127]     Ответить | Цитировать Сообщить модератору
 Re: Стратегия секционирования: Скользящие окна, что-то не так  [new]
mike909
Member

Откуда:
Сообщений: 662
Mnior
mike909
Если схема секционирования собрана на разных файловых группах, часть из которых ReadOnly ...
А такие ограничения только в 2005 или на 2008 тоже распространились? Лично сомневаюсь, на основании "особенностей" в 2005 со SWITCH + SCHEMABINDING. Конечно я в ReadOnly нуль, но ограничение какое-то логическое, сама же файловая группа при этом не меняется, секции же отсутствуют.

Я не совсем точно выразился, ReadOnly помешает создать/грохнуть секционированную Staging таблицу. Только и всего ...

IgorElse
ПыСы. А какой гемор человек сваял... Динамическое изменение как размера секции, так и их количества, опциональное усечение, поиск свободной файловой группы для USE NEXT... песня!

Я пошел другим путем - динамичиское вычисление имен,размеров,внутренней структуры новых файловых групп для "USE NEXT".
На счет кол-ва секций - правильная мысль. У меня еще и кол-во ReadOnly прописано...

А геморой, обычно связан с отсутствием автора/документации. И возникает после изменений условий эксплуатации системы, конечно, если она до этого работала...
23 сен 09, 10:11    [7696150]     Ответить | Цитировать Сообщить модератору
 Re: Стратегия секционирования: Скользящие окна, что-то не так  [new]
IgorElse
Member

Откуда:
Сообщений: 6
Хммм... Ну, если это действительно надо, то выбора нет. В моем случае это было сделано "ну что бы было, мало ли потом вдруг, да и чтоб не администрировать"
23 сен 09, 12:12    [7696946]     Ответить | Цитировать Сообщить модератору
 Re: Стратегия секционирования: Скользящие окна, что-то не так  [new]
IgorElse
Member

Откуда:
Сообщений: 6
Если плохо изначально объяснил, извиняюсь. Хотя перечитал - вроде нормально. Главное - пришли к пониманию.
23 сен 09, 12:13    [7696953]     Ответить | Цитировать Сообщить модератору
 Re: Стратегия секционирования: Скользящие окна, что-то не так  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6723
mike909
Mnior
mike909
Если схема секционирования собрана на разных файловых группах, часть из которых ReadOnly ...
А такие ограничения только в 2005 или на 2008 тоже распространились? Лично сомневаюсь, на основании "особенностей" в 2005 со SWITCH + SCHEMABINDING. Конечно я в ReadOnly нуль, но ограничение какое-то логическое, сама же файловая группа при этом не меняется, секции же отсутствуют.

Я не совсем точно выразился, ReadOnly помешает создать/грохнуть секционированную Staging таблицу. Только и всего ...
Да как раз я так и понял.
Поэтому и спрашивал, помешает ли создать секционированную таблицу файловая группа в ReadOnly на 2008м. Проверил, не поменялось - также как и на 2005м.
Потом подумал и понял, что логично - при отсутствии файла нельзя было бы сказать, есть ли данные для данной таблы.
23 сен 09, 12:54    [7697220]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить