logo
Voprosy_KIS_A1607_4

Olap-технологии в кис: назначение. Классификация задач olap в кис.

OLAP-технологии являются одной из наиболее эффективных методик анализа больших объемов данных. Краткое определение данной методике можно дать следующим образом.

OLAP (англ. online analytical processing, аналитическая обработка в реальном времени) — технология организации хранения информации и доступа к ней, отвечающая принципам FASMI (Fast Analysis of Shared Multidimensional Information).

После того как данные получены, очищены, приведены к единому виду и помещены в хранилище, их необходимо анализировать. Для этого используется технология OLAP.

OLAP - передовая технология анализа

Двенадцать определяющих принципов OLAP были сформулированы в 1993 году Е.Ф.Коддом, "изобретателем" реляционных баз данных. OLAP - это OnLine Analytical Processing, то есть оперативный анализ данных. Позже определение Кодда было переработано в так называемый тест FASMI (Fast Analysis of Shared Multidimensional Information - быстрый анализ разделяемой многомерной информации), который требует, чтобы OLAP-приложение предоставляло следующие возможности быстрого анализа разделяемой многомерной информации:

Многомерное представление. OLAP предоставляет организациям максимально удобные и быстрые средства доступа, просмотра и анализа деловой информации. Что наиболее важно - OLAP обеспечивает пользователя естественной, интуитивно понятной моделью данных, организуя их в виде многомерных кубов (Cubes). Осями [L1][L2](dimensions) многомерной системы координат служат основные атрибуты анализируемого бизнес-процесса. Например, для процесса продаж это может быть категория товара, регион, тип покупателя. Практически всегда в качестве одного из измерений используется время. Внутри куба находятся данные, количественно характеризующие процесс, - так называемые меры (Measures). Это могут быть объемы продаж в штуках или в денежном выражении, остатки на складе, издержки и т.п. Пользователь, анализирующий информацию, может "нарезать" куб по разным направлениям, получать сводные (например, по годам) или, наоборот, детальные (по неделям) данные и осуществлять прочие операции, которые необходимы ему для анализа.

Хранение данных OLAP. В первую очередь нужно сказать о том, что, поскольку аналитик всегда оперирует некими суммарными (а не детальными) данными, в базах данных OLAP практически всегда хранятся наряду с детальными данными и так называемые агрегаты, то есть заранее вычисленные суммарные показатели. Примерами агрегатов может служить суммарный объем продаж за год или средний остаток товара на складе. Хранение заранее вычисленных агрегатов - это основной способ повышения скорости выполнения OLAP-запросов.

Однако построение агрегатов может привести к значительному увеличению объема базы данных. Рассмотрим небольшой пример - куб, хранящий данные об объемах продаж. В нем есть два измерения - период и регион. В каждом измерении присутствует два значения. Мы хотим построить все возможные агрегаты: 

 

1997 год   

1998 год   

Сумма   

Север   

20

50

70

Юг

30

80

110

Сумма

50

130

180

В итоге мы имеем 4 значения исходных данных и 5 значений агрегатов, то есть объем данных увеличился в 2,25 раза. Степень увеличения объема зависит от количества измерений и количества уровней суммирования. В одном из недавно опубликованных стандартных тестов полный подсчет агрегатов для 10 Мбайт исходных данных потребовал 2,4 Гбайт дисковой памяти.

Другой проблемой хранения OLAP-данных является разреженность многомерных данных. Например, если в 1997 году продаж на юге не было, то на пересечении соответствующих измерений куба не будет никакого значения. Если OLAP-сервер будет хранить в таком случае некое отсутствующее значение, то при значительной разреженности данных количество пустых ячеек (требующих, тем не менее, места для хранения) может во много раз превысить количество заполненных), и в результате общий объем неоправданно возрастет. Решения, предлагаемые для этого компанией Microsoft, приводятся ниже.

Разновидности OLAP. Для хранения OLAP-данных могут использоваться: