Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
В первую очередь нужно сказать о том, что поскольку аналитик всегда оперирует некими суммарными (а не детальными) данными, в базах данных OLAP практически всегда хранятся наряду с детальными данными и так называемые агрегаты, то есть заранее вычисленные суммарные показатели. Примерами агрегатов может служить суммарный объем продаж за год или средний остаток товара на складе. Хранение заранее вычисленных агрегатов - это основной способ повышения скорости выполнения OLAP-запросов.
Однако построение агрегатов может привести к значительному увеличению объема базы данных. Рассмотрим небольшой пример - куб, хранящий данные об объемах продаж. В нем есть два измерения - период и регион. В каждом измерении присутствует два значения. Мы хотим построить все возможные агрегаты:
1999 год | 2000 год | Сумма | |
Север | |||
Юг | |||
Сумма |
В итоге мы имеем 4 значения исходных данных и 5 значений агрегатов, то есть объем данных увеличился в 2,25 раза. Степень увеличения объема зависит от количества измерений и количества уровней суммирования. В одном из недавно опубликованных стандартных тестов полный подсчет агрегатов для 10 Мбайт исходных данных потребовал 2,4 Гбайт дисковой памяти.
Другой проблемой хранения OLAP-данных является разреженность многомерных данных. Например, если в 1999 году продаж на Юге не было, то на пересечении соответствующих измерений куба не будет никакого значения. Если OLAP-сервер будет хранить в таком случае некое соответствующее значение, то при значительной разреженности данных количество пустых ячеек (требующих, тем не менее, места для хранения) может во много раз превысить количество заполненных и в результате общий объем неоправданно возрастет. Решения, предлагаемые для этого компанией Microsoft, приводятся ниже.
Дата публикования: 2014-12-11; Прочитано: 239 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!