|
|
|
Процессинг куба по частям
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток Пытаюсь заполнять куб по частям по временным срезам в месяц. Ставлю источником данных вьюшку v1, где IDRow ключ и этот столбец присутствует в качестве ключа в одном измерении с несколькими атрибутами, скажем dim1 В v1 содержатся данные, скажем, за январь, февраль, март Делаем партицию за январь, процессим dim1, процессим партицию - всё нормально и так все три (январь, февраль, март) - в кубе три месяца, все находится по атрибутам dim1. Меняем v1 так, что в ней есть данные только за апрель Делаем партицию с условиями отбора за апрель пытаемся её процессить - выдаёт ошибку, что нет значения IDRow=22222. Вроде понятно, в dim1 этого значения нет, оно только в апреле и появилось. Процессим dim1, потом партицию за апрель и по атрибутам dim1 из куба отбираются данные только за апрель, остальное как бы пропадает. Непонятно что делать в этом случае. Можно ли процессить dim1 только добавляя туда данные для нового среза или для этого надо будет держать весь исходный массив в источнике данных за все 4 месяца? Я чего-то не догнал, не подскажете чего именно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2020, 00:04 |
|
||
|
Процессинг куба по частям
|
|||
|---|---|---|---|
|
#18+
sposad, Dims должны содеражать всю инфу у меня данных было не многого я делал Process Update для Всех дим Process Full для кубов если с партишинами то обычно типа старые данные (партиции) не процессятся - только новые за последний месяц (год) На практике я не юзал - нужды не быо но по идее дожно все работать (если нет апдейтов старных даных ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2020, 11:13 |
|
||
|
Процессинг куба по частям
|
|||
|---|---|---|---|
|
#18+
Гулин Федор sposad, Dims должны содеражать всю инфу у меня данных было не многого я делал Process Update для Всех дим Process Full для кубов если с партишинами то обычно типа старые данные (партиции) не процессятся - только новые за последний месяц (год) На практике я не юзал - нужды не быо но по идее дожно все работать (если нет апдейтов старных даных ) Так то так, но тогда непонятно чего толку от партицирования куба, если для того, чтобы dim был полный, при репроцессинге всё равно нужна инфа за весь период. Или есть режим частичного процессинга dim? ProcessAdd это то? У меня он слетает просто, а ProcessFull - проходит без ошибок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2020, 13:27 |
|
||
|
Процессинг куба по частям
|
|||
|---|---|---|---|
|
#18+
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 на обновление партиций можно получить просто запросом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2020, 13:33 |
|
||
|
Процессинг куба по частям
|
|||
|---|---|---|---|
|
#18+
sposad Гулин Федор sposad, Dims должны содеражать всю инфу у меня данных было не многого я делал Process Update для Всех дим Process Full для кубов если с партишинами то обычно типа старые данные (партиции) не процессятся - только новые за последний месяц (год) На практике я не юзал - нужды не быо но по идее дожно все работать (если нет апдейтов старных даных ) Так то так, но тогда непонятно чего толку от партицирования куба, если для того, чтобы dim был полный, при репроцессинге всё равно нужна инфа за весь период. Или есть режим частичного процессинга dim? ProcessAdd это то? У меня он слетает просто, а ProcessFull - проходит без ошибок. Если не юзали, зачем филосовствовать. Да измерение при update сканирует все партиции, но это очень быстрая операция, по сравнению с полным обновлением конкретной партиции. Если партиций 100 и измерение большое на 5 лямов, process update при добавлении 10000 записей может занять несколько минут, при том, что одна партиция обновляется полчаса-час. Не забывайте и про то, что есть ROLAP. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2020, 13:38 |
|
||
|
Процессинг куба по частям
|
|||
|---|---|---|---|
|
#18+
a_voronin, >Изучите, что такое Slice в партиции. Партиции без Slice -- все усилия на ветер. Не согласен. Действительно только при определённых условиях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2020, 07:40 |
|
||
|
Процессинг куба по частям
|
|||
|---|---|---|---|
|
#18+
Владимир Штепа a_voronin, >Изучите, что такое Slice в партиции. Партиции без Slice -- все усилия на ветер. Не согласен. Действительно только при определённых условиях. Можете не соглашаться, я тут куб переделываю после одного умника, который тоже не соглашался. Скорость возрастает в десятки раз. Slice важен как для процессинга, так и для выполнения MDX. Даже если в MDX нет измерение, по которому сделано партиционирование, отсутствие Slice приводит к сильной деградации. Также рост размера БД налицо при отсутствии slice. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2020, 09:08 |
|
||
|
Процессинг куба по частям
|
|||
|---|---|---|---|
|
#18+
a_voronin, давайте с примерами: время процессинга со слайсом и без время обработки запроса со слайсом и без обращение к SE со слайсом и без и Ваше мнение с указанием отличительных особенностей дизайна Ваших баз по какой причине слайс работает. а то я у себя тоже не наблюдаю деградаций, к тому же в каждой партиции есть файлик отвечающий за границы каждого измерения внутри нее.. а то я думаю что у меня ракета, а на самом деле черепаха. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2020, 09:53 |
|
||
|
Процессинг куба по частям
|
|||
|---|---|---|---|
|
#18+
ShIgor a_voronin, давайте с примерами: время процессинга со слайсом и без время обработки запроса со слайсом и без обращение к SE со слайсом и без и Ваше мнение с указанием отличительных особенностей дизайна Ваших баз по какой причине слайс работает. а то я у себя тоже не наблюдаю деградаций, к тому же в каждой партиции есть файлик отвечающий за границы каждого измерения внутри нее.. а то я думаю что у меня ракета, а на самом деле черепаха. Вес базы уменьшился с 250 Gb до 150 GB при введении слайса -- пропал файл с flex data, который занимал много места, Трассировка показала, что запросы, которые раньше работали от 10 до 30 минут, теперь работают менее 5 минут. В отдельных случаях ускорение десятки раз. Вице президент компании, численностью 40000 человек отметил, что "что куб стал работать заметно быстрее". Ещё вопросы есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2020, 10:13 |
|
||
|
Процессинг куба по частям
|
|||
|---|---|---|---|
|
#18+
a_voronin, да. это все общие слова. факты давайте. версии продуктов, особенности дизайна, настройки.. тесты ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2020, 11:33 |
|
||
|
Процессинг куба по частям
|
|||
|---|---|---|---|
|
#18+
ShIgor a_voronin, да. это все общие слова. факты давайте. версии продуктов, особенности дизайна, настройки.. тесты SSAS 2012 Enterprise. Остальное я сказал выше, RIGID связи в календаре или измерении, по которому идет партиционирования. Slice проставлены во всех партициях. Спорить я дальше не хочу и возможности нет, тесты делать тоже, потому что не первый раз в боевых кубах это делаю. Буквально несколько месяцев назад делал. Вы если хотите займитесь тестированием со Slice и без. Мне ответ стал очевиден ещё лет 7-8 назад. Есть странное мнение, что кошение или еще что-то заменит slice. Ерунда. Вопрос для меня из серии, "докажите, что индексы сокращают время запроса." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2020, 11:46 |
|
||
|
Процессинг куба по частям
|
|||
|---|---|---|---|
|
#18+
ShIgor давайте с примерами: время процессинга со слайсом и без время обработки запроса со слайсом и без обращение к SE со слайсом и без Тоже подкину - но не примеров, а результатов мини-проекта по введению слайсов в M2M партициях.
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2020, 18:08 |
|
||
|
Процессинг куба по частям
|
|||
|---|---|---|---|
|
#18+
a_voronin Slice проставлены во всех партициях. если не сложно, как в слайсе правильно прописать вот такой простой вариант ? [календарь].[дата].[дата] >= '2020-01-06' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2020, 17:59 |
|
||
|
Процессинг куба по частям
|
|||
|---|---|---|---|
|
#18+
AlexBra, Попробуйте как в третьем примере тут https://docs.microsoft.com/ru-ru/analysis-services/multidimensional-models/set-the-partition-slice-property-analysis-services?view=asallproducts-allversions Если не получится, то значит так можно только для мер ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2020, 19:09 |
|
||
|
Процессинг куба по частям
|
|||
|---|---|---|---|
|
#18+
Критик, Третий пример не применим к слайсам. Там довольно сильно ограниченное подмножество 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 года. Это старая проблема, я ее решаю генерацией выражений для слайсов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2020, 21:46 |
|
||
|
Процессинг куба по частям
|
|||
|---|---|---|---|
|
#18+
a_voronin, Я вот только не пойму какое отношение к слайсу имеет субъективное мнение неспециалиста , а тем более количество душ в его деревне? Единственный стоящий аргумент который вы назвали это уборка Флекс-связей в измерении времени. К слайсу тоже не имеет отношения. Вы не перепутали случаем минуты и секунды? 5 минут на запрос это все ещё “Слишком долго» для олап. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2020, 10:07 |
|
||
|
Процессинг куба по частям
|
|||
|---|---|---|---|
|
#18+
Ferdipux, У вас есть данные о степени положительного влияния ни скорость процессинга и скорость отклика на холодном кэше? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2020, 10:15 |
|
||
|
Процессинг куба по частям
|
|||
|---|---|---|---|
|
#18+
Владимир Штепа a_voronin, Я вот только не пойму какое отношение к слайсу имеет субъективное мнение неспециалиста , а тем более количество душ в его деревне? Единственный стоящий аргумент который вы назвали это уборка Флекс-связей в измерении времени. К слайсу тоже не имеет отношения. Вы не перепутали случаем минуты и секунды? 5 минут на запрос это все ещё “Слишком долго» для олап. 5 минут много, но есть умники, которые выгружают огромные партяки. В бескопойном ОЛАП хозяйстве, такое не редкость. Понятно, что хотелось бы секудны. Но вот у нас пришлось даже написать джоб, который рубит запросы любителей выгружать гигансткие матрицы. У вас сколько юзеров? Потому что когда юзеров будет 300 и кубов 15 и данные измеряются лярдами, тогда и 5 и 30 минут будет возникать направо и налево. Что касается слайсов, это вообще такая глупость заявлять, что слайсы в сильно партиционированном кубе не нужны. Это 2 * 2 = 4 , что в партиция нужно ставить слайсы. И тот, кто это не понимает, вообще не может считаться разработчиком ОЛАП, по аналогии с тем, что программист БД не может считаться программистом БД, если он ничего не знает про индексы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2020, 08:17 |
|
||
|
Процессинг куба по частям
|
|||
|---|---|---|---|
|
#18+
Владимир Штепа Ferdipux, У вас есть данные о степени положительного влияния ни скорость процессинга и скорость отклика на холодном кэше? Меня не очень интересует холодный кеш. На кубе кеш как правило быстро прогревается. Я пускал запросы на старом и новом кубе параллельными потоками и есть замеры времени. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2020, 08:19 |
|
||
|
Процессинг куба по частям
|
|||
|---|---|---|---|
|
#18+
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 года вперед и закрыть этот вопрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2020, 08:23 |
|
||
|
Процессинг куба по частям
|
|||
|---|---|---|---|
|
#18+
Владимир Штепа Ferdipux, У вас есть данные о степени положительного влияния ни скорость процессинга и скорость отклика на холодном кэше? Данных - сейчас найти трудно (сырье измерений, планы и трассировки), остались выводы проекта. Кратко о них - длительность выполнения запросов сократилась на 40-90%. Холодный кеш - скорее диапазон 40-60% (относительно холодного кеша до реализации проекта). Причина таких улучшений - активное исключение партиций во время исполнения запроса за счет правильно установленного slice. О структуре куба - очень много M2M измерений, запросы в основном используют их, исполнение запросов до проекта слайсов страдало от сканирования ненужных партиций M2M и основной МГ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2020, 08:52 |
|
||
|
Процессинг куба по частям
|
|||
|---|---|---|---|
|
#18+
Ferdipux Владимир Штепа Ferdipux, У вас есть данные о степени положительного влияния ни скорость процессинга и скорость отклика на холодном кэше? Данных - сейчас найти трудно (сырье измерений, планы и трассировки), остались выводы проекта. Кратко о них - длительность выполнения запросов сократилась на 40-90%. Холодный кеш - скорее диапазон 40-60% (относительно холодного кеша до реализации проекта). Причина таких улучшений - активное исключение партиций во время исполнения запроса за счет правильно установленного slice. О структуре куба - очень много M2M измерений, запросы в основном используют их, исполнение запросов до проекта слайсов страдало от сканирования ненужных партиций M2M и основной МГ. Мы кстати недавно разбирались с одним таким М2М и пришли к выводу, что его можно заменить одним DISTINCT COUNT. Вообще схемы звезда и снежинка не предусматривают М2М. И когда я вижу М2М, то сразу задаюсь вопросом, а правильно ли спроектировано ХД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2020, 09:30 |
|
||
|
|

start [/forum/topic.php?fid=49&fpage=8&tid=1857306]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
| others: | 225ms |
| total: | 371ms |

| 0 / 0 |
