|
|
|
Slice property of partitions
|
|||
|---|---|---|---|
|
#18+
SSAS 2008R2 EE В разных источниках пишут по-разному по вопросу надо/не надо устанавливать slice property of partitions в MOLAP-модели: как дополнительное средство контроля загружаемых данных при query-bindig-е; бывали случаи, когда без установки slice property при исполнении MDX-запросов сканировались лишние партиции. Видимо трудности перевода - так как правильно устанавливать сиё свойство, если у меня помесячные партиции, а в измерении времени много атрибутов,иерархий. Кроме того, в партиционируемой ТФ в одной партиции договор есть, а в другой - уже нет (закончился) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2011, 09:47 |
|
||
|
Slice property of partitions
|
|||
|---|---|---|---|
|
#18+
если вы видите что у вас во время запроса читаются "лишние" с вашей точки зрения партиции так и пропишите slice-инг ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2011, 11:01 |
|
||
|
Slice property of partitions
|
|||
|---|---|---|---|
|
#18+
Alex_496, свойство slice необходимо указывать для: 1. ROLAP-секций. 2. MOLAP-секций, если размер секции мал, и поэтому по ней не построены индексы. 3. MOLAP-секций, если допускается, что данные доступны для запросов до построения индексов в секциях. В остальных случаях, указывать slice необязательно, т.к. SSAS будет ориентироваться на данные, полученные в процессе построения индексов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2011, 11:57 |
|
||
|
Slice property of partitions
|
|||
|---|---|---|---|
|
#18+
papalexiВ остальных случаях, указывать slice необязательно, т.к. SSAS будет ориентироваться на данные, полученные в процессе построения индексов. ну-ну :) ох уж эта вера в то что написано в мануалах... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2011, 13:37 |
|
||
|
Slice property of partitions
|
|||
|---|---|---|---|
|
#18+
Есть ТФ, с несколькими партициями, с месячной информацией. Нужно указать соответствующий месяц в Slice. Если у меня по календарю несколько иерархий, то в Slice необходимо указать месяц из всех иерархий или достаточно из первой попавшейся? (В запросах разные иерархии используются примерно с одинаковой регулярностью) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2016, 22:30 |
|
||
|
Slice property of partitions
|
|||
|---|---|---|---|
|
#18+
иерархии строятся из первичных атрибутов измерения (хотя в дереве они могут быть и скрытыми), вот элементы того атрибута по которому режешь на партиции и указывай а не клон из иерархий ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2016, 01:11 |
|
||
|
Slice property of partitions
|
|||
|---|---|---|---|
|
#18+
vikkivиерархии строятся из первичных атрибутов измерения (хотя в дереве они могут быть и скрытыми), вот элементы того атрибута по которому режешь на партиции и указывай а не клон из иерархий Я правильно понимаю, что если у меня в Календаре PK [День], тогда на месячную партицию нужно указать beetwen ([Date].[YMD].&[2016.01.01] and [Date].[YMD].&[2016.01.31]) Верно? Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2016, 17:36 |
|
||
|
Slice property of partitions
|
|||
|---|---|---|---|
|
#18+
Kolvel, лучше наверное если год-месяц атрибут есть - поставить именно его типа [Date].[YM].&[2016].&[01] или [Date].[YM].&[2016.01], а так то оно да - до грануляции листьев можно {[Date].[YMD].&[2016.01.01],[Date].[YMD].&[2016.01.02],...,[Date].[YMD].&[2016.01.31]} только не диапазоном/range типа [Date].[YMD].&[2016.01.01]:[Date].[YMD].&[2016.01.31] а полностью перечисляя элементы, т.к. если помню верно :/Range() не работает т.к. динамическая функция в таком констексте (хотя может Select .. сработает), ну и размер партиции в фактах 20~40М>Х>4К с настроенными связями атрибутов (а для календарных дат это всё равно rigid).. в принципе профайлер показывает сканирование партиций при запросах на SE - по нему можно подобрать оптимальный вариант.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2016, 19:42 |
|
||
|
Slice property of partitions
|
|||
|---|---|---|---|
|
#18+
ещё вопрос если на таком уровне то как ты будешь эти партиции генерировать по мере движения во времени, не в ручную-же каждый месяц создавать.. автоматом обычно - это SSIS пакеты с XMLA генерируемым переменными из функций времени ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2016, 19:53 |
|
||
|
Slice property of partitions
|
|||
|---|---|---|---|
|
#18+
vikkiv, Спасибо, попробую. Планировал погонять "месяц" или "перечисление дней месяца", но пока нет необходимого объема данных Если мне память не изменяет, в справке написано, что функции указывать в слайсе нельзя. Партиции задаваться будут из пакета, уже реализовано. Осталось как раз Slice написать, поэтому и встал вопрос, что именно туда корректней будет прописать Позднее отпишусь, что Профайлер "подскажет" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2016, 12:17 |
|
||
|
Slice property of partitions
|
|||
|---|---|---|---|
|
#18+
Если в партициях не выставлен правильно SLice, то они вообще не нужны. Партиции без правильного Slice замедляют и процессинг и MDX, а вот правильный slice хорошо ускоряет и первое и второе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2016, 11:43 |
|
||
|
Slice property of partitions
|
|||
|---|---|---|---|
|
#18+
если не ошибаюсь, то до версии 2016 даже при правильно выставленных значениях Slice, в случае меры DistinctCount порой сваливается в сканирование разных секций ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2016, 13:53 |
|
||
|
Slice property of partitions
|
|||
|---|---|---|---|
|
#18+
получил забавную ситуацию: MSSQL 2014, создал 3 партиции, в одной слайс пустой, в другой взял значение месяца, в третьей указал один день, первое число выбранного месяца (не смог указать все дни, при процессинге валился, если в выражении использовал beetwen, or или еще какие-то функции, но об этом попозже) затем запускал три разных запроса с выборкой по одному дню каждого из трех месяцев. Профейлер показал, что запрос сканировал только нужную ему партицию, независимо от значения слайса. КАК? или 2014 мускул стал очень умным и анализировал запрос на входе партиции?))) select * from table where date beetwen 20160101 and 20160131 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2016, 20:05 |
|
||
|
Slice property of partitions
|
|||
|---|---|---|---|
|
#18+
Alex_496если не ошибаюсь, то до версии 2016 даже при правильно выставленных значениях Slice, в случае меры DistinctCount порой сваливается в сканирование разных секций Еще больше добавлю, при партициях и слайсах придется отказываться от Last-non-empty, иначе сканирует всё (источник сходу не назову, но "мужик авторитетный" это озвучил) Встречал в инете описание, как можно DistinctCount и L-n-e опустить, реализовав другим способом, так, чтобы партиции "работали" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2016, 20:09 |
|
||
|
Slice property of partitions
|
|||
|---|---|---|---|
|
#18+
a_voroninЕсли в партициях не выставлен правильно SLice, то они вообще не нужны. Партиции без правильного Slice замедляют и процессинг и MDX, а вот правильный slice хорошо ускоряет и первое и второе. такой вариант прописывание slice корректен (партиция с архивом до 2018го года)? Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2018, 15:23 |
|
||
|
Slice property of partitions
|
|||
|---|---|---|---|
|
#18+
StarikNavya_voroninЕсли в партициях не выставлен правильно SLice, то они вообще не нужны. Партиции без правильного Slice замедляют и процессинг и MDX, а вот правильный slice хорошо ускоряет и первое и второе. такой вариант прописывание slice корректен (партиция с архивом до 2018го года)? Код: sql 1. Да. На календаре должны быть rigid связи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2018, 15:46 |
|
||
|
Slice property of partitions
|
|||
|---|---|---|---|
|
#18+
a_voronin, спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2018, 16:57 |
|
||
|
Slice property of partitions
|
|||
|---|---|---|---|
|
#18+
так, а задать "дата">='2018-04-01' получается нельзя? для свежей партиции надо каждый месяц новое значение в перечеслении задавать? Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2018, 18:26 |
|
||
|
Slice property of partitions
|
|||
|---|---|---|---|
|
#18+
StarikNavyтак, а задать "дата">='2018-04-01' получается нельзя? для свежей партиции надо каждый месяц новое значение в перечеслении задавать? Код: sql 1. Да, именно так. Никакими функциями пользоваться нельзя, задать интервалом вида Код: sql 1. тоже нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2018, 10:59 |
|
||
|
Slice property of partitions
|
|||
|---|---|---|---|
|
#18+
обычно это через AMO генерируется напрямую в партицию, а не руками, поэтому шум не очень обоснован (код всё стерпит). StarikNavy...для свежей партиции надо каждый месяц новое значение в перечеслении задавать?..да и в чём проблема сразу наперёд значения диапазона прописать - чтобы каждый раз не обновлять? ну если только измерение дат нужное количество периодов в будущее не показывает, но и тут - несуществующие элементы вроде тоже помнится проходили без проблем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2018, 23:59 |
|
||
|
Slice property of partitions
|
|||
|---|---|---|---|
|
#18+
StarikNavy, Можно просто в одной из секций не задавать значение среза ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2018, 09:18 |
|
||
|
Slice property of partitions
|
|||
|---|---|---|---|
|
#18+
Критик, +1xxxx можно тогда и на всех не указывать slice, при process метаданные объекта всё равно автоматически прописывают те key_id которые входят в партицию - и оптимизатор при построении плана определяя какие объекты читать/сканировать из SE - берёт эту информацию из метаданных. Где-то читал что-то вроде есть конечно более сложные случаи когда последовательность ключей в партиции не натуральная и запрос не с ключевого атрибута с другими диапазонами не по порядку - тогда оптимизатор не может определить где данные и начинает брать всё (тогда Slice нужен чтобы ограничить заваливание в такой сценарий) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2018, 10:07 |
|
||
|
Slice property of partitions
|
|||
|---|---|---|---|
|
#18+
Критик, vikkiv перешел в одном проекте на две партиции: свежая + архив. пересчет "свежей" каждый день, архивной раз в неделю. данные в "свежей" - последние 2 недели соответсвенно ручками все это прописывать лень, поэтому 1) нет ли примера "обычно это через AMO генерируется напрямую в партицию" 2) про такой вариант не слышал "Можно просто в одной из секций не задавать значение среза" . если им воспользоваться - лучше не указывать Slice для архивной? 3) если создать измерение "архив: да /нет" (т.е. проверка дат на уровне SQL) и один единственный раз прописать его в Slice - это будет иметь смысл? или (т.к. пользователи работают с разными датами (через Эксель) и не будут использовать данное измерение) оно не сможет подсказать олапу в какую секцию лезть за данными? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2018, 12:55 |
|
||
|
Slice property of partitions
|
|||
|---|---|---|---|
|
#18+
StarikNavy, 1) Вариантов должно хватать, зависит от целей и фантазии, там просто Properties нужные прописываешь и всё, к примеру если у тебя есть какой-то массив $a с наборами 3х переменных форматом строк Год-Страна-КолВоСтрокПартиции, тогда если по быстрому собрать (не проверял, может цикл нужно будет отдельно выносить, или для клона перестраивать) такой фрагмент может пройти : Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 3) имеет-ли смысл - надо пробовать на своих данных, моделях, запросах (типы, частота, плотность, железо/cache и пр.) А если этот атрибут скрытым добавить в измерение [Даты] - и настроить связи атрибутов [Даты].[Месяц] -> (Flexible) -> [Даты].[Архив] ? (хотя где-то там выше a_voronin намекал что нужно Rigid, но в данном случае не прокатит, т.к. даты периодически будут сбрасываться из одного элемента в другой, т.е. гибко). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2018, 14:57 |
|
||
|
Slice property of partitions
|
|||
|---|---|---|---|
|
#18+
StarikNavy... 2) про такой вариант не слышал "Можно просто в одной из секций не задавать значение среза" . если им воспользоваться - лучше не указывать Slice для архивной? 3) если создать измерение "архив: да /нет" (т.е. проверка дат на уровне SQL) и один единственный раз прописать его в Slice - это будет иметь смысл? или (т.к. пользователи работают с разными датами (через Эксель) и не будут использовать данное измерение) оно не сможет подсказать олапу в какую секцию лезть за данными? 2 - имеется в виду автоматический подбор слайсов/атрибутов в партиции. Известно что оно работает не так эффективно, как заявлено, и слайсы все же лучше выставлять. Думаю, что имеет смысл или выставлять для всех, или ни для кого. 3 - такое измерение должно участвовать в запросе. Если при запросе оно будет .[All], тогда пользы от такого слайса нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2018, 16:15 |
|
||
|
|

start [/forum/topic.php?fid=49&msg=39323504&tid=1857852]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
152ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 487ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...