Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы_БД_ХД.doc
Скачиваний:
14
Добавлен:
20.08.2019
Размер:
172.54 Кб
Скачать

2. Хранилище данных и olap-технология

2.1. Хранилище данных

Хранилище данных обычно создается для решения задач анализа, прогнозирования и планирования, связанных с поддержкой принятия решений. Данные в хранилище представляют собой пополняемый набор, единый для всего предприятия и позволяющий восстановить картину его деятельности на любой момент времени, а структура данных хранилища проектируется таким образом, чтобы выполнение запросов к нему осуществлялось максимально эффективно.

Хранилище данных (Data Warehouse) – предметно-ориентированная информационная корпоративная база большого объема, специально разработанная и предназначенная для сбора и предварительной обработки данных с целью предоставления результирующей информации пользователям для статистического анализа, подготовки отчётов, анализа бизнес-процессов.

Хранилище данных отличается от обычной базы данных следующими особенностями:

– данные, поступающие в хранилище, становятся доступными только для чтения;

– обычные базы данных подвержены постоянным изменениям в процессе работы пользователей, а хранилище данных относительно стабильно: данные в нем обычно обновляются согласно расписанию (например, еженедельно, ежедневно или ежечасно в зависимости от потребностей). Процесс пополнения представляет собой добавление новых данных за определенный период времени без изменения прежней информации, уже находящейся в хранилище;

– данные, находящиеся в хранилищах предназначены не для повседневной работы, как в обычных БД, а для обеспечения принятия решений, требующих анализа, прогнозирования, планирования. Например, продажа товара и выписка счета производятся с использованием базы данных, предназначенной для обработки транзакций, а анализ динамики продаж за несколько лет, позволяющий спланировать работу с поставщиками, – с помощью хранилища данных.

Обычные базы данных являются основными источниками данных, попадающих в хранилище. Кроме того, хранилище может пополняться и за счет других источников, например статистических отчетов.

2.2. Основные особенности olap-технологии

OLAP (OnLine Analytical Processingаналитическая обработка в реальном времени)– это совокупность концепций, принципов и требований, лежащих в основе программных продуктов, облегчающих аналитикам доступ к данным. OLAP используется аналитиками для быстрой обработки сложных запросов к хранилищу данных, служит для подготовки отчётов по продажам, маркетингу, в целях управления.

Основная причина использования OLAP для обработки запросов – это скорость. Реляционные БД хранят сущности в отдельных таблицах, сложные многотабличные запросы в них выполняются относительно медленно. Время обработки запросов в OLAP-средствах значительно меньше и составляет около 0,1 % от аналогичных запросов в реляционную БД.

OLAP – это ключевой компонент организации хранилищ данных, его основу составляет технология комплексного многомерного представления данных.

При решении различных задач анализа требуется формирование разнообразных выборок, которые носят характер “набор атрибутов – числовой параметр”. OLAP-технология направлена на извлечение таких данных из хранилища и предоставление в удобном для пользователей виде. При этом данные могут располагаться в разных исходных таблицах и их извлечение может производиться по сложным алгоритмам.

Событие (например, продажа) характеризуется множеством параметров, принимающих качественные и количественные значения (дата, время, отдел продажи, товар, количество, сумма продажи и т.д.). Часть этих параметров – качественные (например, отдел продажи, товар), а другая часть – количественные (количество, сумма продажи).

Каждое конкретное событие (конкретная продажа) представляется последовательностью конкретных значений этих параметров. Например,

12.03.2011; 14:15; 3; Йод; 5; 75,5

В данной технологии предполагается, что сущность события отражена в количественных (числовых) параметрах. Цель технологии состоит в анализе зависимости значений количественных параметров от значений качественных параметров.

Количественные параметры называются фактами, а качественные – измерениями. Например,

Задачей аналитика является выявление стойких взаимосвязей между измерениями (зависимыми данными) и фактами (числовыми параметрами).

Таким фактом может быть, например, объем продаж. Если требуется проанализировать зависимость этого параметра от поставщиков, вида товара и периода времени, то OLAP-технология позволяет быстро сформировать необходимую выборку, извлекая данные из хранилища, и предоставить ее пользователю. При этом исходные данные могут быть и не сгруппированы заранее так, как это требуется (например, нас интересуют годовые периоды, а в хранилище данные поступали по итогам дня).

Основная идея OLAP заключается в построении так называемых многомерных кубов, которые будут доступны для пользовательских запросов. В таком кубе по одной оси откладываются значения первого измерения, по другой оси – значения второго измерения и т.д.

Например, если по одной оси этого куба откладываются поставщики, по другой – виды товара, по третьей – годы, а значениями анализируемого факта в этой трехмерной структуре являются соответствующие объемы продаж, то

Здесь серым сегментом показано, что для Поставщик_1 и Товар_2 в Год_1 данных нет.

На самом деле, с точки зрения строгой математики кубом такой массив будет далеко не всегда: у настоящего куба количество элементов во всех измерениях должно быть одинаковым, а у кубов OLAP такого ограничения нет. Тем не менее, несмотря на эти детали, термин "кубы OLAP" ввиду своей краткости и образности стал общепринятым.

Количество измерений в кубе определяет его размерность. Куб OLAP может быть двух-, трех- и т.д. многомерным – в зависимости от количества измерений. Простые настольные приложения поддерживают около 6 измерений, более развитые OLAP-системы рассчитаны на большее количество измерений.

В кубе OLAP могут быть указаны не все значения фактов (как например, в приведенном выше примере). Совершенно необязательно также, чтобы приложение OLAP хранило данные непременно в многомерной структуре – главное, чтобы для пользователя эти данные выглядели именно так. Кстати именно благодаря специальным способам компактного хранения многомерных данных незаполненные элементы (“вакуум”) в кубах не приводят к бесполезной трате памяти.

Однако для пользователя куб может быть и не удобен, поскольку представить или изобразить куб размерностью большей трех сложно. Поэтому перед использованием из многомерного куба с помощью сечения плоскостями, параллельными его граням, извлекают обычные двумерные таблицы. Эта операция называется разрезанием куба. Это образный термин: пользователь как бы разрезает измерения куба по интересующим его меткам, в результате чего получает двумерный срез куба и с ним работает. Разрезая кубы по измерениям, аналитик получает фактически интересующие его обычные двумерные таблицы.