sergeyt написал:
Timak написал(а):
Куб чистил. Подскажите, а в чем смысл компрессии? Я данные в кубе вижу и без нее
поправьте меня, если я ошибаюсь.
До компрессии данные находятся в одних физических таблицах куба, после сжатия переезжают в другие, при этом компрессируется избыточная информация. Физические таблицы сильно отличаются на уровне СУБД (у нас Oracle), первые не копмрессионные имеют очень много партиций. Время от времени компрессировать куб надо, иначе могут быть проблемы с производительностью. С другой стороны, запросы которые закомпрессованы уже не удалить из куба, что порою совсем не айс для повторной загрузки данных.
Про опорные точки описано в How to, скорее всего они тоже хранятся в других таблицах. Одно ясно, что остатки на складах являются некоммулятивными показателями, поэтому для них используются свои фенечки. Если в куб загрузить вообще все исторические движения , то 2lis_03_bx будет не нужен.
Уточню - при сжатии записи "схлопываются" по признакам куба + по ID запроса. То есть если в кубе XXX в таблице фактов /BIC/FXXX было 3 загрузки и хранится что-то вроде
Номер запроса, Завод, Сумма
1, 1000, 100
2, 1000, 100
3, 1000, 1
то после сжатия таблица /BIC/FXXX станет пустой, а в /BIC/EXXX (таблица сжатых данных) появится одна запись -
Завод, Сумма
1000, 201
Таким образом, очевидны 2 вещи: первая - что сжатых данных может быть в разы меньше, особенно если в куб данные грузятся давно и по одним и тем же комбинациям признаков, и второе - что сжатые запросы нельзя откатить из куба (в моем примере - как мы можем удалить, например, запрос 3 после сжатия? Ведь истории-то уже не сохранилось). Еще можно ставить при сжатии галку "со скрытием нулей", тогда дополнительно удаляются записи, в которых все показатели = 0.