46588 (607871), страница 2
Текст из файла (страница 2)
1.3 OLAP-технологии в подсистеме анализа объекта исследований.
Для начала расшифруем: OLAP - это Online Analytical Processing, т. е. оперативный анализ данных. 12 определяющих принципов OLAP сформулировал в 1993 г. Е. Ф. Кодд - "изобретатель" реляционных БД. Позже его определение было переработано в так называемый тест FASMI, требующий, чтобы OLAP-приложение предоставляло возможности быстрого анализа разделяемой многомерной информации (подробнее).
Тест FASMI:
-
Fast (Быстрый) - анализ должен производиться одинаково быстро по всем аспектам информации. Приемлемое время отклика - 5 с или менее;
-
Analysis (Анализ) - должна быть возможность осуществлять основные типы числового и статистического анализа, предопределенного разработчиком приложения или произвольно определяемого пользователем;
-
Shared (Разделяемой) - множество пользователей должно иметь доступ к данным, при этом необходимо контролировать доступ к конфиденциальной информации;
-
Multidimensional (Многомерной) - это основная, наиболее существенная характеристика OLAP;
-
Information (Информации) - приложение должно иметь возможность обращаться к любой нужной информации, независимо от ее объема и места хранения.
OLAP предоставляет удобные быстродействующие средства доступа, просмотра и анализа деловой информации. Пользователь получает естественную, интуитивно понятную модель данных, организуя их в виде многомерных кубов (Cubes). Осями многомерной системы координат служат основные атрибуты анализируемого бизнес-процесса. Например, для продаж это могут быть товар, регион, тип покупателя. В качестве одного из измерений используется время. На пересечениях осей - измерений (Dimensions) - находятся данные, количественно характеризующие процесс - меры (Measures). Это могут быть объемы продаж в штуках или в денежном выражении, остатки на складе, издержки и т. п. Пользователь, анализирующий информацию, может "разрезать" куб по разным направлениям, получать сводные (например, по годам) или, наоборот, детальные (по неделям) сведения и осуществлять прочие манипуляции, которые ему придут в голову в процессе анализа.
Все, что говорилось выше про OLAP, по сути, относилось к многомерному представлению данных. Многомерность в OLAP-приложениях может быть разделена на три уровня:
-
Многомерное представление данных - средства конечного пользователя, обеспечивающие многомерную визуализацию и манипулирование данными; слой многомерного представления абстрагирован от физической структуры данных и воспринимает данные как многомерные;
-
Многомерная обработка - средство (язык) формулирования многомерных запросов (традиционный реляционный язык SQL здесь оказывается непригодным) и процессор, умеющий обработать и выполнить такой запрос;
-
Многомерное хранение - средства физической организации данных, обеспечивающие эффективное выполнение многомерных запросов.
Первые два уровня в обязательном порядке присутствуют во всех OLAP-средствах. Третий уровень, хотя и является широко распространенным, не обязателен, так как данные для многомерного представления могут извлекаться и из обычных реляционных структур; процессор многомерных запросов в этом случае транслирует многомерные запросы в SQL-запросы, которые выполняются реляционной СУБД.
Конкретные OLAP-продукты, как правило, представляют собой либо средство многомерного представления данных, OLAP-клиент (например, Pivot Tables в Excel 2000 фирмы Microsoft или ProClarity фирмы Knosys), либо многомерную серверную СУБД, OLAP-сервер (например, Oracle Express Server или Microsoft OLAP Services).
Как уже говорилось выше, средства OLAP-анализа могут извлекать данные и непосредственно из реляционных систем. Такой подход был более привлекательным в те времена, когда OLAP-серверы отсутствовали в прайс-листах ведущих производителей СУБД. Но сегодня и Oracle, и Informix, и Microsoft предлагают полноценные OLAP-серверы и т.о. могут купить (точнее, обратиться с соответствующей просьбой к руководству компании) OLAP-сервер той же марки, что и основной сервер баз данных.
OLAP-серверы, или серверы многомерных БД, могут хранить свои многомерные данные по-разному. Прежде чем рассмотреть эти способы, нам нужно поговорить о таком важном аспекте, как хранение агрегатов.
Термин "OLAP" неразрывно связан с термином "хранилище данных" (Data Warehouse). Хранилище данных - это предметно-ориентированное, привязанное ко времени и неизменяемое собрание данных для поддержки процесса принятия управляющих решений. Данные в хранилище попадают из оперативных систем (OLTP-систем), которые предназначены для автоматизации бизнес-процессов. Кроме того, хранилище может пополняться за счет внешних источников, например статистических отчетов. Таким образом, задача хранилища - предоставить "сырье" для анализа в одном месте и в простой, понятной структуре.
Подытоживая, можно определить OLAP как совокупность средств многомерного анализа данных, накопленных в хранилище.
Теперь о различных вариантах хранения информации. Как детальные данные, так и агрегаты могут храниться либо в реляционных, либо в многомерных структурах. Многомерное хранение позволяет обращаться с данными как с многомерным массивом, благодаря чему обеспечиваются одинаково быстрые вычисления суммарных показателей и различные многомерные преобразования по любому из измерений. Некоторое время назад OLAP-продукты поддерживали либо реляционное, либо многомерное хранение. Сегодня, как правило, один и тот же продукт обеспечивает оба этих вида хранения, а также третий вид - смешанный. Применяются следующие термины:
-
MOLAP (Multidimensional OLAP) - и детальные данные, и агрегаты хранятся в многомерной БД. В этом случае получается наибольшая избыточность, так как многомерные данные полностью содержат реляционные;
-
ROLAP (Relational OLAP) - детальные данные остаются там, где они "жили" изначально - в реляционной БД; агрегаты хранятся в той же БД в специально созданных служебных таблицах;
-
HOLAP (Hybrid OLAP) - детальные данные остаются на месте (в реляционной БД), а агрегаты хранятся в многомерной БД.
Каждый из этих способов имеет свои преимущества и недостатки и должен применяться в зависимости от условий - объема данных, мощности реляционной СУБД и т. д.
При хранении данных в многомерных структурах возникает потенциальная проблема "разбухания" за счет хранения пустых значений. Ведь если в многомерном массиве зарезервировано место под все возможные комбинации меток измерений, а реально заполнена лишь малая часть (например, ряд продуктов продается только в небольшом числе регионов), то большая часть куба будет пустовать, хотя место будет занято. Современные OLAP-продукты умеют справляться с этой проблемой.
2.1. Разработка базы данных объёмов продаж на фармацевтическом рынке с использованием MS Access .
Основные этапы разработки:
1. Для отображения имеющейся информации по фармацевтическому рынку Украины, необходимо создать соответствующие таблицы в MS Access. Для создания таблиц следует открыть новую базу данных. Затем в режиме конструктора создать таблицы. В данном случае первая таблица будет отображать информацию о препаратах. Следовательно, таблица будет содержать следующие поля:
-
«Код препарата» – тип данных – счётчик; размер поля – длинное целое;
поле индексированное без совпадений – ключевое поле
-
«наименование» - тип данных – текстовый; размер поля – 50; обязательное; индексированное
Рисунок 2.11 – Таблица «Препараты»
Следующая таблица отражает информацию о производителях данных препаратов и состоит из полей:
-
«Код производителя» – тип данных – счётчик, размер поля – длинное целое; поле индексированное без совпадений
-
«Код препарата» - тип данных – мастер подстановок с использованием одноимённого поля из таблицы «Препараты», поле ключевое.
-
«Страна» - тип данных – текстовый; размер поля – 50; обязательное; индексированное.
-
«Наименование» - тип данных - текстовый; размер поля 50; обязательное; индексированное.
Рисунок 2.12 – таблица «Производители»
Далее таблица под названием «Доля продаж за 3 квартала 2007 г» со следующими полями:
-
«Код препарата» - мастер подстановок, ключевое
-
«Код производителя» - тип данных – счётчик.
-
«Наименование» - мастер подстановок из таблицы «Препараты»
-
«Доля рынка в деньгах» - тип данных – числовой, размер – двойное с плавающей точкой, обязательное, индексированное.
Рисунок 2.13 – таблица «Доля продаж»
2. После создания таблиц их необходимо заполнить имеющейся информацией.
Рисунок 2.14 – Заполненная таблица «Препараты»
Рисунок 2.15 – заполненная таблица «Производители»
Рисунок 2.16 – заполненная таблица «Доля продаж»
3. Окончательная форма с полученными таблицами имеет вид:
Рисунок 2.17 – База данных
2.2 Построение OLAP – куба в MS Excel для анализа данных.
Заходим в программу MS Excel. Во вкладке «Данные» выбираем «Сводные таблицы». Появится Мастер сводных таблиц и диаграмм, который предложит три последовательных шага для построения OLAP – куба. Прежде необходимо выбрать источник данных, на основе которых куб будет создаваться. Необходимые данные находятся во внешнем источнике, поэтому отметим радиоточку напротив данной строки.
Рисунок 2.21 – Установка типа данных и типа отчёта
Далее – следующий шаг. Необходимо получить данные.
Рисунок 2.22 – Получение данных для сводной таблицы
Выбираем источником данных базу данных MS Access, указывая полный путь к ней.
Рисунок 2.23 – Выбор источника данных
Рисунок 2.24 – Путь к исходным данным
Следующий шаг – создание запроса, и в частности – выбор столбцов. Для полного отображения всей информации выбираем все столбцы.
Рисунок 2.25 – Определение столбцов куба
Далее заключительный шаг – Создание OLAP-куба из данного запроса.















