Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Процессинг куба по частям / 23 сообщений из 23, страница 1 из 1
04.06.2020, 00:04
    #39965947
sposad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Процессинг куба по частям
Доброго времени суток

Пытаюсь заполнять куб по частям по временным срезам в месяц. Ставлю источником данных вьюшку v1, где IDRow ключ и этот столбец присутствует в качестве ключа в одном измерении с несколькими атрибутами, скажем dim1
В v1 содержатся данные, скажем, за январь, февраль, март
Делаем партицию за январь, процессим dim1, процессим партицию - всё нормально и так все три (январь, февраль, март) - в кубе три месяца, все находится по атрибутам dim1.
Меняем v1 так, что в ней есть данные только за апрель
Делаем партицию с условиями отбора за апрель пытаемся её процессить - выдаёт ошибку, что нет значения IDRow=22222. Вроде понятно, в dim1 этого значения нет, оно только в апреле и появилось.
Процессим dim1, потом партицию за апрель и по атрибутам dim1 из куба отбираются данные только за апрель, остальное как бы пропадает.
Непонятно что делать в этом случае. Можно ли процессить dim1 только добавляя туда данные для нового среза или для этого надо будет держать весь исходный массив в источнике данных за все 4 месяца? Я чего-то не догнал, не подскажете чего именно?
...
Рейтинг: 0 / 0
04.06.2020, 11:13
    #39966023
Гулин Федор
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Процессинг куба по частям
sposad,
Dims должны содеражать всю инфу
у меня данных было не многого

я делал Process Update для Всех дим
Process Full для кубов

если с партишинами то обычно
типа старые данные (партиции) не процессятся -
только новые за последний месяц (год)

На практике я не юзал - нужды не быо но по идее дожно все работать (если нет апдейтов старных даных )
...
Рейтинг: 0 / 0
04.06.2020, 13:27
    #39966116
sposad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Процессинг куба по частям
Гулин Федор
sposad,
Dims должны содеражать всю инфу
у меня данных было не многого

я делал Process Update для Всех дим
Process Full для кубов

если с партишинами то обычно
типа старые данные (партиции) не процессятся -
только новые за последний месяц (год)

На практике я не юзал - нужды не быо но по идее дожно все работать (если нет апдейтов старных даных )

Так то так, но тогда непонятно чего толку от партицирования куба, если для того, чтобы dim был полный, при репроцессинге всё равно нужна инфа за весь период. Или есть режим частичного процессинга dim? ProcessAdd это то? У меня он слетает просто, а ProcessFull - проходит без ошибок.
...
Рейтинг: 0 / 0
04.06.2020, 13:33
    #39966126
a_voronin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Процессинг куба по частям
sposad
Доброго времени суток

Пытаюсь заполнять куб по частям по временным срезам в месяц. Ставлю источником данных вьюшку v1, где IDRow ключ и этот столбец присутствует в качестве ключа в одном измерении с несколькими атрибутами, скажем dim1
В v1 содержатся данные, скажем, за январь, февраль, март
Делаем партицию за январь, процессим dim1, процессим партицию - всё нормально и так все три (январь, февраль, март) - в кубе три месяца, все находится по атрибутам dim1.
Меняем v1 так, что в ней есть данные только за апрель
Делаем партицию с условиями отбора за апрель пытаемся её процессить - выдаёт ошибку, что нет значения IDRow=22222. Вроде понятно, в dim1 этого значения нет, оно только в апреле и появилось.
Процессим dim1, потом партицию за апрель и по атрибутам dim1 из куба отбираются данные только за апрель, остальное как бы пропадает.
Непонятно что делать в этом случае. Можно ли процессить dim1 только добавляя туда данные для нового среза или для этого надо будет держать весь исходный массив в источнике данных за все 4 месяца? Я чего-то не догнал, не подскажете чего именно?



1) Начать надо с того, что продумать схему партиционирования на 1) в источнике данных 2) группах мер куба. Я обычно накатываю на таблицу фактов схему партиционирования совпадающую с партициями в кубе.
2) В календаре для того измерения, по которому вы партиционируетесь надо сделать жесткие связи (причем везде между всеми аттрибутами). Не сделаете -- куб деградирует нехило.
3) Изучите, что такое Slice в партиции. Партиции без Slice -- все усилия на ветер.
4) Дальше надо разработать механизм сборки процессинг команды XMLA. Куда включить Process Update измерений, а потом процесс update нужных партиций. Я обычно завожу табличку в БД, куда записываю список все партиций и XMLA на обновление партиций можно получить просто запросом.
...
Рейтинг: 0 / 0
04.06.2020, 13:38
    #39966130
a_voronin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Процессинг куба по частям
sposad
Гулин Федор
sposad,
Dims должны содеражать всю инфу
у меня данных было не многого

я делал Process Update для Всех дим
Process Full для кубов

если с партишинами то обычно
типа старые данные (партиции) не процессятся -
только новые за последний месяц (год)

На практике я не юзал - нужды не быо но по идее дожно все работать (если нет апдейтов старных даных )

Так то так, но тогда непонятно чего толку от партицирования куба, если для того, чтобы dim был полный, при репроцессинге всё равно нужна инфа за весь период. Или есть режим частичного процессинга dim? ProcessAdd это то? У меня он слетает просто, а ProcessFull - проходит без ошибок.


Если не юзали, зачем филосовствовать.

Да измерение при update сканирует все партиции, но это очень быстрая операция, по сравнению с полным обновлением конкретной партиции. Если партиций 100 и измерение большое на 5 лямов, process update при добавлении 10000 записей может занять несколько минут, при том, что одна партиция обновляется полчаса-час.

Не забывайте и про то, что есть ROLAP.
...
Рейтинг: 0 / 0
05.06.2020, 07:40
    #39966343
Владимир Штепа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Процессинг куба по частям
a_voronin,


>Изучите, что такое Slice в партиции. Партиции без Slice -- все усилия на ветер.

Не согласен. Действительно только при определённых условиях.
...
Рейтинг: 0 / 0
05.06.2020, 09:08
    #39966361
a_voronin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Процессинг куба по частям
Владимир Штепа
a_voronin,


>Изучите, что такое Slice в партиции. Партиции без Slice -- все усилия на ветер.

Не согласен. Действительно только при определённых условиях.


Можете не соглашаться, я тут куб переделываю после одного умника, который тоже не соглашался. Скорость возрастает в десятки раз.

Slice важен как для процессинга, так и для выполнения MDX. Даже если в MDX нет измерение, по которому сделано партиционирование, отсутствие Slice приводит к сильной деградации. Также рост размера БД налицо при отсутствии slice.
...
Рейтинг: 0 / 0
05.06.2020, 09:53
    #39966388
ShIgor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Процессинг куба по частям
a_voronin,

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

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

а то я думаю что у меня ракета, а на самом деле черепаха.
...
Рейтинг: 0 / 0
05.06.2020, 10:13
    #39966396
a_voronin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Процессинг куба по частям
ShIgor
a_voronin,

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

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

а то я думаю что у меня ракета, а на самом деле черепаха.


Вес базы уменьшился с 250 Gb до 150 GB при введении слайса -- пропал файл с flex data, который занимал много места,
Трассировка показала, что запросы, которые раньше работали от 10 до 30 минут, теперь работают менее 5 минут. В отдельных случаях ускорение десятки раз.
Вице президент компании, численностью 40000 человек отметил, что "что куб стал работать заметно быстрее".

Ещё вопросы есть?
...
Рейтинг: 0 / 0
05.06.2020, 11:33
    #39966440
ShIgor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Процессинг куба по частям
a_voronin,

да. это все общие слова. факты давайте. версии продуктов, особенности дизайна, настройки.. тесты
...
Рейтинг: 0 / 0
05.06.2020, 11:46
    #39966448
a_voronin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Процессинг куба по частям
ShIgor
a_voronin,

да. это все общие слова. факты давайте. версии продуктов, особенности дизайна, настройки.. тесты


SSAS 2012 Enterprise.

Остальное я сказал выше, RIGID связи в календаре или измерении, по которому идет партиционирования. Slice проставлены во всех партициях.

Спорить я дальше не хочу и возможности нет, тесты делать тоже, потому что не первый раз в боевых кубах это делаю. Буквально несколько месяцев назад делал. Вы если хотите займитесь тестированием со Slice и без. Мне ответ стал очевиден ещё лет 7-8 назад.

Есть странное мнение, что кошение или еще что-то заменит slice. Ерунда.

Вопрос для меня из серии, "докажите, что индексы сокращают время запроса."
...
Рейтинг: 0 / 0
06.06.2020, 18:08
    #39966760
Ferdipux
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Процессинг куба по частям
ShIgor
давайте с примерами:
время процессинга со слайсом и без
время обработки запроса со слайсом и без
обращение к SE со слайсом и без

Тоже подкину - но не примеров, а результатов мини-проекта по введению слайсов в M2M партициях.
  • Время процессинга - уменьшилось на 5-7% - "погрешность измерения"
  • Время обработки запроса - уменьшилось в 1,5 - 3 раза
  • Анализ трассы запроса - явно есть исключение секций, которого не было без слайсов
  • Размеров куба - не сравнивали.
...
Рейтинг: 0 / 0
11.06.2020, 17:59
    #39968335
AlexBra
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Процессинг куба по частям
a_voronin
Slice проставлены во всех партициях.

если не сложно, как в слайсе правильно прописать вот такой простой вариант ?
[календарь].[дата].[дата] >= '2020-01-06'
...
Рейтинг: 0 / 0
11.06.2020, 19:09
    #39968360
Критик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Процессинг куба по частям
AlexBra,

Попробуйте как в третьем примере тут
https://docs.microsoft.com/ru-ru/analysis-services/multidimensional-models/set-the-partition-slice-property-analysis-services?view=asallproducts-allversions

Если не получится, то значит так можно только для мер
...
Рейтинг: 0 / 0
11.06.2020, 21:46
    #39968401
Ferdipux
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Процессинг куба по частям
Критик,

Третий пример не применим к слайсам. Там довольно сильно ограниченное подмножество MDX, можно указывать только перечисления объектов иерархий измерений, и никаких вычислений или логики. По приведенной ссылке - выделяю ключевой момент:
MicrosoftNote that dynamic MDX functions (such as Generate (MDX) or Except (MDX)) are not supported in the Slice property for partitions. You must define the slice by using explicit tuples or member references.

For example, rather than using the range operator (:) to define a range, you would need to enumerate each member by the specific years.
То есть - описать диапазон вида {[2020].[June]:NULL} - не прокатит. Нужно явно перечислить все месяцы в иерархии после июня 2020 года.
Это старая проблема, я ее решаю генерацией выражений для слайсов.
...
Рейтинг: 0 / 0
11.06.2020, 21:46
    #39968402
Ferdipux
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Процессинг куба по частям
-
...
Рейтинг: 0 / 0
14.06.2020, 10:07
    #39968939
Владимир Штепа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Процессинг куба по частям
a_voronin,

Я вот только не пойму какое отношение к слайсу имеет субъективное мнение неспециалиста , а тем более количество душ в его деревне?

Единственный стоящий аргумент который вы назвали это уборка Флекс-связей в измерении времени. К слайсу тоже не имеет отношения.

Вы не перепутали случаем минуты и секунды? 5 минут на запрос это все ещё “Слишком долго» для олап.
...
Рейтинг: 0 / 0
14.06.2020, 10:15
    #39968941
Владимир Штепа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Процессинг куба по частям
Ferdipux,

У вас есть данные о степени положительного влияния ни скорость процессинга и скорость отклика на холодном кэше?
...
Рейтинг: 0 / 0
15.06.2020, 08:17
    #39969186
a_voronin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Процессинг куба по частям
Владимир Штепа
a_voronin,

Я вот только не пойму какое отношение к слайсу имеет субъективное мнение неспециалиста , а тем более количество душ в его деревне?

Единственный стоящий аргумент который вы назвали это уборка Флекс-связей в измерении времени. К слайсу тоже не имеет отношения.

Вы не перепутали случаем минуты и секунды? 5 минут на запрос это все ещё “Слишком долго» для олап.


5 минут много, но есть умники, которые выгружают огромные партяки. В бескопойном ОЛАП хозяйстве, такое не редкость. Понятно, что хотелось бы секудны. Но вот у нас пришлось даже написать джоб, который рубит запросы любителей выгружать гигансткие матрицы. У вас сколько юзеров? Потому что когда юзеров будет 300 и кубов 15 и данные измеряются лярдами, тогда и 5 и 30 минут будет возникать направо и налево.

Что касается слайсов, это вообще такая глупость заявлять, что слайсы в сильно партиционированном кубе не нужны. Это 2 * 2 = 4 , что в партиция нужно ставить слайсы. И тот, кто это не понимает, вообще не может считаться разработчиком ОЛАП, по аналогии с тем, что программист БД не может считаться программистом БД, если он ничего не знает про индексы.
...
Рейтинг: 0 / 0
15.06.2020, 08:19
    #39969187
a_voronin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Процессинг куба по частям
Владимир Штепа
Ferdipux,

У вас есть данные о степени положительного влияния ни скорость процессинга и скорость отклика на холодном кэше?


Меня не очень интересует холодный кеш. На кубе кеш как правило быстро прогревается. Я пускал запросы на старом и новом кубе параллельными потоками и есть замеры времени.
...
Рейтинг: 0 / 0
15.06.2020, 08:23
    #39969188
a_voronin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Процессинг куба по частям
AlexBra
a_voronin
Slice проставлены во всех партициях.

если не сложно, как в слайсе правильно прописать вот такой простой вариант ?
[календарь].[дата].[дата] >= '2020-01-06'


Не получиться.

Нужно поэлементное перечислить элементы календаря.

{[Date].[Date_YMD].[Month].&[201707],[Date].[Date_YMD].[Month].&[201708],[Date].[Date_YMD].[Month].&[201709]}

Даже вот так не дает написать

[Date].[Date_YMD].[Month].&[201707]:[Date].[Date_YMD].[Month].&[201709]

Рекомендую сразу сгенерить партиции на 2 года вперед и закрыть этот вопрос.
...
Рейтинг: 0 / 0
15.06.2020, 08:52
    #39969196
Ferdipux
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Процессинг куба по частям
Владимир Штепа
Ferdipux,

У вас есть данные о степени положительного влияния ни скорость процессинга и скорость отклика на холодном кэше?

Данных - сейчас найти трудно (сырье измерений, планы и трассировки), остались выводы проекта.
Кратко о них - длительность выполнения запросов сократилась на 40-90%. Холодный кеш - скорее диапазон 40-60% (относительно холодного кеша до реализации проекта). Причина таких улучшений - активное исключение партиций во время исполнения запроса за счет правильно установленного slice.
О структуре куба - очень много M2M измерений, запросы в основном используют их, исполнение запросов до проекта слайсов страдало от сканирования ненужных партиций M2M и основной МГ.
...
Рейтинг: 0 / 0
15.06.2020, 09:30
    #39969208
a_voronin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Процессинг куба по частям
Ferdipux
Владимир Штепа
Ferdipux,

У вас есть данные о степени положительного влияния ни скорость процессинга и скорость отклика на холодном кэше?

Данных - сейчас найти трудно (сырье измерений, планы и трассировки), остались выводы проекта.
Кратко о них - длительность выполнения запросов сократилась на 40-90%. Холодный кеш - скорее диапазон 40-60% (относительно холодного кеша до реализации проекта). Причина таких улучшений - активное исключение партиций во время исполнения запроса за счет правильно установленного slice.
О структуре куба - очень много M2M измерений, запросы в основном используют их, исполнение запросов до проекта слайсов страдало от сканирования ненужных партиций M2M и основной МГ.


Мы кстати недавно разбирались с одним таким М2М и пришли к выводу, что его можно заменить одним DISTINCT COUNT.

Вообще схемы звезда и снежинка не предусматривают М2М. И когда я вижу М2М, то сразу задаюсь вопросом, а правильно ли спроектировано ХД.
...
Рейтинг: 0 / 0
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Процессинг куба по частям / 23 сообщений из 23, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]