1. Плотные (dense) измерения
Использовать нужно всегда т.к. это ведет к уменьшению размера блока => размер куба будет меньше => производительность расчетов улучшится, производительность извлечения данных (retrieve) меняется незначительно +/- 1%! Необходимо только избегать динамических элементов с комплексными формулами т.е. когда при расчете формулы необходимо смотреть в другие блоки. Кандидаты на изменения типа храния на динамический – родители или любой элемент с простой формулой.
Примеры (Период и Статья – плотные, Страна – разряженные):
- Кварталы (Q1, Q2, Q3, Q4) – можно сделать динамическими
- (+) Acc_Total: Выручка итого
-
(+) Acc_01: Выручка A
(+) Acc_02: Выручка БСтатью Acc_Total можно сделать динамической
- Статья: Prof_01 = Acc_01 / Acc_Total – можно сделать динамической (расчет в пределах одного блока)
- Статья: Prof_Russia = Acc_Total->Entity_Russia – нужно делать хранимой т.к. при распаковке любого блока (расчете или просмотре) Essbase будет смотреть на блок по стране Entity_Russia
2. Разряженные (sparse) измерения
Использовать можно только для уменьшения времени агрегации, при этом ухудшается время извлечения данных (retrieve).
Пример:
- (+) Entity_Russia – dynamic
-
(+) Entity_Msc – store
(+) Entity_Spb – storeЕсли пользователь строит запрос по Entity_Russia, то серверу необходимо прочитать 2 дополнительных блока по Msc и Spb
Когда не нужно делать динамическими плотные элементы:
- Когда элемент участвует в выгрузках (report script, dataexport)
- Когда элемент участвует в партициях
- Когда элемент участвует в создании блоков (datacopy с динамических элементов не работает)
- Когда на элементе хранят расчетные данные (аллокации, элиминации)
3. Выводы
Динамические элементы – это хорошая возможность улучшить производительность, но конечно же со своей спецификой.