финансы. ИАС. Литература по теме Тема Инструменты интеграции данных из различных источников Вопрос Источники данных для формирования отчетности
Скачать 1.21 Mb.
|
Тема 5. Инструментальные средства оперативной аналитической обработки данных (OLAP) Цель: Сформировать представление об инструментальных средствах оперативной аналитической обработки данных (OLAP). Задачи: · Ознакомиться с классификацией OLAP решений. · Изучить структуру OLAP решений. · Освоить принципы работы OLAP клиентов. · Ознакомиться с инструментальными OLAP средствами, присутствующими на рынке ПО. Вопросы темы: 1. Классификация и структура OLAP решений. 2. Принципы работы OLAP клиентов. 3. Выбор архитектуры OLAP решения. 4. Рынок OLAP решений. Основные понятия: · MOLAP (Multidimensional OLAP); · ROLAP (Relational OLAP); · HOLAP (Hybrid OLAP); · OLAP-машины; · OLAP-серверы; · OLAP-клиенты; · OLAP-продукты; · OLAP-компоненты; · семантический слой; · бизнес-объект; · Analyze then query; · Query then analyze. Вопрос 1. Классификация и структура OLAP решений. На сегодняшний день в мире разработано множество продуктов, реализующих OLAP-технологии. Чтобы легче было ориентироваться среди них, используют классификации OLAP-продуктов по: · способу хранения данных; · месту нахождения OLAP-машины; · степени готовности к применению. Классификация по способу хранения данных. OLAP-продукты по способу хранения данных делятся на три аналогичные категории: 1. MOLAP (Multidimensional OLAP). 2. ROLAP (Relational OLAP). 3. HOLAP (Hybrid OLAP). Multidimensional OLAP. В случае MOLAP, исходные и агрегированные данные хранятся в многомерной БД или в многомерном локальном кубе: специальном формате, определенном OLAP-приложением. Данные передаются от источника данных в многомерную БД, а затем БД подвергается агрегации. Предварительный расчет агрегатов ускоряет OLAP-запросы. Такой способ хранения обеспечивает высокую скорость выполнения OLAP-операций. Relational OLAP. В ROLAP-продуктах исходные данные хранятся в реляционных БД или в плоских локальных таблицах на файл-сервере. Агрегатные данные могут помещаться в служебные таблицы в той же БД. Преобразование данных из реляционной БД в многомерные кубы происходит по запросу OLAP-средства. При этом скорость построения куба будет сильно зависеть от типа источника данных и порой приводит к неприемлемому времени отклика системы. Главный недостаток ROLAP по сравнению с многомерными СУБД – меньшая производительность. Hybrid OLAP. При использовании Гибридной архитектуры исходные данные остаются в реляционной базе, а агрегаты размещаются в многомерной. Построение OLAP-куба выполняется по запросу OLAP-средства на основе реляционных и многомерных данных. Такой подход позволяет избежать взрывного роста данных. При этом можно достичь оптимального времени исполнения клиентских запросов. Классификация по месту размещения OLAP-машины. Существует два варианта расположения OLAP-машины – вычислительного ядра любой OLAP-системы – на центральном сервере или на стороне клиента. По этому признаку OLAP-продукты делятся на OLAP-серверы и OLAP-клиенты. OLAP-серверы. В серверных OLAP-средствах вычисления и хранение агрегатных данных выполняются на сервере. Сервер в OLAP-системах является источником, поставляющий данные для анализа. Он выполняет всю работу (в зависимости от модели системы), и хранит в себе всю информацию, к которой обеспечивается активный доступ. Клиентское приложение получает только результаты запросов к многомерным кубам, которые хранятся на сервере. OLAP-клиенты. OLAP-клиент устроен по-другому. Построение многомерного куба и OLAP-вычисления выполняются в памяти клиентского компьютера. Классификация по степени готовности к применению. Различают: 1. OLAP-компоненты. 2. Инструментальные OLAP – системы. 3. Конечные OLAP-приложения. OLAP-компоненты. OLAP-компонент – это инструмент разработчика. С его помощью разрабатываются клиентские OLAP-программы. Различают MOLAP и ROLAP-компоненты. MOLAP-компоненты являются инструментами генерации запросов к OLAP-серверу. Они также обеспечивают визуализацию полученных данных. ROLAP-компоненты содержат собственную OLAP-машину, которая обеспечивает построение OLAP-кубов в оперативной памяти и отображает их на экране. Одна из наиболее доступных OLAP-компонент – это Decision Cube в составе Borland Delphi. Инструментальные OLAP-системы – это программные продукты, предназначенные для создания аналитических приложений. Различают две категории инструментальных OLAP-систем: 1) системы для программирования – это среда разработчика аналитических систем; 2) системы для быстрой настройки – это средства, которые предоставляют визуальный интерфейс для создания OLAP-приложений без программирования. Конечные OLAP-приложения. Это готовые прикладные решения для конечного пользователя. Они требуют только установки, и, не всегда, настройки под специфику пользователя. Пример такого решения – это OLAP-приложения Аналитической платформы Контур, подготовленные для анализа данных в различных отраслях и для решения различных аналитических задач. Структура OLAP решений. OLAP-система состоит из следующих крупных блоков: 1. Внешний источник данных. 2. OLAP-машина. 3. Многомерный куб. 4. Инструменты отображения и управления. 1. Источник данных. В качестве источника данных выступает реляционная или не реляционная БД, текстовый файл, электронная таблица и др. Система может быть постоянно связанной с источником данных, чтобы получать новые порции данных в процессе работы пользователя по его командам или, получив данные однократно, в дальнейшем работать в режиме off-line. Источником данных может служить любая внешняя информационная система: АБС, бэк-офисная система, БД отдела, Хранилище данных. 2. OLAP-машина – это программный модуль, который производит вычисления: · Преобразует плоские данные в многомерные в момент создания куба. · Выполняет запросы пользователя в режиме реального времени в момент работы с отчетом. 3. Многомерная база данных (куб). Куб – это многомерная БД, хранящая два вида полей: измерения и факты в иерархической структуре, оптимизированной для мгновенного получения агрегатов фактов на пересечении значений (или членов) измерений. Куб может храниться на диске или в оперативной памяти компьютера. Он может содержать предварительно вычисленные агрегаты или предоставлять специальные выборки данных для расчета этих агрегатов в режиме реального времени. Его структура обеспечивает мгновенное выполнение манипуляций над данными: фильтрацию, поиск, изменение правил агрегации (взаимного расположения измерений) и т.д. 4. Инструменты отображения и управления. Для проектирования куба, отображения данных и интерактивного управления отчетом применяются различные визуальные компоненты. Средства отображения и управления могут быть раздельными или интегрированными, например, пользователь может давать команду на выполнение расчетов по новым правилам агрегации, перемещая колонки таблицы или используя кнопки специальной инструментальной панели. Вопрос 2. Принципы работы OLAP клиентов. Во время настройки куба проектировщик описывает запрос к исходной БД и то, как поля плоского источника будут преобразованы в поля многомерного куба (измерения и факты). Во время наполнения куба OLAP-машина получает из источника набор данных и загружает их в куб, перекладывая плоские данные в иерархическую, многомерную структуру хранения, создавая специальные индексы и вычисляя агрегаты (не всегда). При этом многомерный куб физически может сохраняться на диске или создаваться «на лету» в оперативной памяти, в зависимости от реализации системы. Во время настройки отчетов визуальные компоненты – средства отображения и управления пользователя – настраиваются на поля многомерного куба, эти поля переименовываются, задается их формат и другие параметры отображения, расположение полей в областях таблицы или осях диаграммы. Во время работы с отчетом, OLAP-машина получает команды пользователя, производит вычисления и возвращает иерархические наборы данных. При этом OLAP-машина может работать в режиме online c источником данных, по мере надобности генерируя новые запросы к реляционному источнику данных (ROLAP-режим), или в режиме offline, используя только данные куба, сохраненные на диске (MOLAP-режим). Работа OLAP-системы на примере работы OLAP-клиента. OLAP-клиент – это система, предоставляющая конечному пользователю интерфейс для выполнения произвольных запросов, многомерного анализа и выпуска интерактивных отчетов. Общий принцип работы OLAP-клиентов – предварительное описание семантического слоя, за которым скрывается физическая структура исходных схем данных, используются данные внешних источников. Семантический слой – это набор каталогов бизнес-терминов, характерных для предметной области и соответствующих определенным данным, а также их параметров и методов извлечения. После его создания пользователь может самостоятельно манипулировать понятными ему объектами в терминах предметной области для создания кубов и аналитических интерфейсов. Разработка аналитических приложений с помощью клиентских OLAP-средств – процесс быстрый, не требующий специальной подготовки исполнителя. Пользователь, знающий физическую реализацию БД, может разработать аналитическое приложение самостоятельно, без привлечения ИТ-специалиста. Процесс создания OLAP-приложения с помощью клиентского инструментального средства (рис. 22). Источниками данных могут быть: локальные таблицы, реляционные базы данных (РСУБД) и др. Список поддерживаемых источников данных определяется конкретным программным продуктом. При создании семантического слоя источники данных – таблицы Sales и Deal – описываются понятными конечному пользователю терминами и превращаются в «Продукты» и «Сделки». Поле «ID» из таблицы «Product» переименовывается в «Код», а поле «Name» – в «Товар» и т.д. Затем создается бизнес-объект «Продажи» – выборка (result set или query), в которой настраиваются: алгоритм объединения таблиц по ключевым полям, условия фильтрации и набор возвращаемых полей. Рис. 22. Создание OLAP-приложения с помощью клиентского ROLAP-средства Бизнес-объект – это плоская таблица, на основе которой формируется многомерный куб. При создании бизнес-объекта таблицы «Продукты» и «Сделки» объединяются по полю «Код» товара. Поскольку для отображения в отчете не потребуются все поля таблиц, бизнес-объект использует только необходимые, в данном случае, поля: «Товар», «Дата» и «Сумма». Бизнес-объектов может быть несколько. Далее на базе бизнес-объектов создаются OLAP-отчеты. Пользователь выбирает бизнес-объект и располагает его атрибуты в области колонок или строк таблицы отчета, формируя пользовательский интерфейс. В нашем примере на базе бизнес-объекта «Продажи» создан отчет по продажам товаров по месяцам. При работе с интерактивным отчетом пользователь может задавать условия фильтрации и группировки данных. В этот момент ROLAP-клиент обращается к данным в памяти. Например, применив в отчете о продажах фильтр по товарам, можно получить отчет о продажах интересующих нас товаров. Все настройки OLAP-приложения могут храниться в выделенном репозитории метаданных, в приложении или в системном репозитории многомерной БД. Реализация зависит от конкретного программного продукта. Разные OLAP-клиенты имеют различную архитектуру. Некоторые из них могут быть развернуты в нескольких вариантах архитектур. OLAP-клиенты могут работать в: · однопользовательском режиме с локальными данными; · файл-серверной архитектуре; · клиент-серверной архитектуре; · трехуровневой клиент-серверной архитектуре с сервером приложения. Точно также в OLAP-клиентах может быть организована и работа с метаданными. Источники данных могут быть локальными таблицами, РСУБД, локальными многомерными кубами или OLAP-серверами. Вычисляющая OLAP-машина может располагаться на клиенте, в OLAP-сервере, в ROLAP-сервере (сервере приложения). Может быть реализован «тонкий» Web-клиент, который работает как минимум в трехуровневой архитектуре, где сервером приложения служит интернет-сервер. OLAP-клиент может быть применен для решения различных бизнес-задач, например, создания: · аналитической инфраструктуры предприятия силами предприятия или внедренческой фирмы; · тиражируемого аналитического приложения для популярной OLTP-системы силами независимого разработчика; · тиражируемого Хранилища данных, или высокоуровнего инструмента для построения Хранилищ данных; · интегрированного аналитического модуля для OLTP-системы разработчиком этой системы. Перечисленные бизнес-задачи могут быть решены с использованием различных конфигураций информационных систем, построенных с помощью OLAP-клиента. Вопрос 3. Выбор архитектуры OLAP-решения. При реализации информационно-аналитической системы важно не ошибиться в выборе архитектуры OLAP-приложения. Оперативная аналитическая обработка подразумевает, что аналитик интерактивно работает с актуальными данными. При этом актуальность данных определяется частотой обновления данных в хранилищах, моментом наполнения гиперкуба новыми данными. Время формирования многомерной БД (гиперкуба) существенно зависит от объема загружаемых в нее данных, поэтому разумно ограничить этот объем. Но как при этом не сузить возможности анализа и не лишить пользователя доступа ко всей интересующей информации? Существует два альтернативных пути: 1) Analyze then query («Сначала проанализируй – затем запроси дополнительную информацию»). 2) Query then analyze («Сначала запроси данные – затем анализируй»). Оба подхода отличаются на концептуальном уровне и имеют свои достоинства и недостатки. В первом случае (Analyze then query) в многомерную БД загружается обобщенная информация, например, месячные, квартальные, годовые итоги по подразделениям. А при необходимости детализации данных пользователю предлагается сформировать запрос к реляционной базе, содержащий требуемую выборку, например, по дням для данного подразделения или по месяцам и сотрудникам выбранного подразделения. При подходе Analyze then query объем данных, загружаемых в многомерную БД, может быть достаточно велик, наполнение должно выполняться по регламенту и может занимать достаточно много времени. Однако все эти недостатки окупаются впоследствии, когда пользователь имеет доступ практически ко всем необходимым данным в любой комбинации. Обращение к исходным данным в реляционной базе данных осуществляется лишь в крайнем случае, когда необходима детальная информация. Наиболее яркими представителями подхода «Analyze then query» являются инструментальные IBM Cognos Transformer и Powerplay. Во втором случае (Query then analyze) пользователь, прежде всего, должен определиться с данными, которые он собирается анализировать и именно их загружать в микрокуб (небольшую многомерную БД). К достоинствам второго подхода следует отнести «свежесть» информации, которую пользователь получает в виде многомерного отчета – «микрокуба». Микрокуб формируется на основе только что запрошенной информации из актуальной реляционной БД. Работа с микрокубом осуществляется в интерактивном режиме, т.е. получение срезов информации и ее детализация в рамках микрокуба осуществляется моментально. Другой положительный момент – проектирование структуры и наполнение микрокуба осуществляется пользователем «на лету», без участия администратора БД. Однако подход страдает и серьезными недостатками. Пользователь, не видит общей картины и должен заранее определяться с направлением своего исследования. Подход Query then analyze реализует инструментальное средство SAP BusinessObjects. Выбор и подхода, и инструмента его реализующего, зависит в первую очередь от преследуемой цели: всегда приходится балансировать между экономией бюджета и повышением качества обслуживания конечных пользователей. Вопрос 4. Рынок OLAP решений. Анализируя рынок с целью приобретения аналитических средств, специалисты руководствуются определенными требованиями. Одним из наиболее важных критериев является технология хранения данных. По этому признаку продукты можно разделить на следующие категории: · Клиентский OLAP. · ROLAP-сервер. · MOLAP-сервер. Клиентский OLAP. При данной реализации OLAP-средства вычисления выполняются на клиентской станции. PivotTable (Microsoft) – это самый распространенный в мире OLAP-продукт, поскольку он входит в состав MS Office. PivotTable или «Сводная таблица» может использоваться в Excel для отображения данных электронной таблицы или внешней БД, а также как клиент для MS Analysis Services. PivotTable может применяться на web-страницах для создания решений в Интернет/Интранет сетях. Достоинством продукта является его простота и удобство, недостатками – ограниченная производительность (без Analysis Services) и относительно небогатая функциональность. Сводная таблица Excel (PivotTable) представляет собой интерактивную таблицу, применяемую для суммирования или статистического анализа большого количества исходных данных, обычно содержащихся в одном из диапазонов ячеек Excel, либо являющихся результатом запроса к какой-либо БД. Структура сводной таблицы изображена на рисунке 23. Рис. 23. Структура сводной таблицы При необходимости в Excel можно построить сводную диаграмму, синхронизированную со сводной таблицей. IBM Cognos Analytics(ранееIBM Cognos Business Intelligence) – это единое решение, обеспечивающее полный спектр возможностей Business Intelligence (BI) в одном продукте. Позволяет легко и быстро анализировать любые тенденции развития бизнеса. Этот продукт работает в режиме MOLAP и позволяет получать отчеты, построенные на локальных многомерных кубах. Продукт отличают богатые вычислительные возможности. SAP BusinessObjects. BusinessObjects – это целостное, интерактивное и открытое решение для бизнес-аналитики в любой организации. BusinessObjects – платформа бизнес-аналитики для управления работой организации, создания отчетов, запросов и анализа, а также управления корпоративной информацией. Contour Business Intelligence (Contour Components). Contour Business Intelligence (Contour BI) – это программная платформа для регулярного выпуска, актуализации и распространения отчетов, обеспечивающая интерактивное проектирование отчетов по данным разных информационных систем, и предоставляющая широкий набор инструментов для оперативного анализа данных. Программные продукты Contour BI реализуют технологию оперативной аналитической обработки данных (OLAP) и могут быть рекомендованы в качестве базового инструмента для формирования отчетности по произвольным и регулярным запросам. Программы Contour BI обеспечивают выпуск отчетов для публикации и распространения по сети Интрернет/Интранет или локальной сети. При этом используется уникальная технология микрокубов, позволяющая передавать большие объемы информации в экономичном формате (10–1000 кратное сжатие данных). Технология микрокубов. Contour микрокуб – это новая концепция многомерной БД, представленной в виде мобильного интерактивного отчета. Contour микрокуб – это файл, который может быть размещен в локальной сети, на персональном компьютере, web-сервере, FTP-сервере, а также передан по e-mail. В файле микрокуба хранятся не только сильно сжатые многомерные данные, но и описание отчетов. В зависимости от состава исходных данных они сжимаются в микрокубе на 90–99.9 %. В результате огромная выборка становится небольшим файлом микрокуба. Микрокуб содержит данные, выгруженные из источника, описание структуры многомерной БД, алгоритмы расчета вычисляемых полей, а также набор отчетов для просмотра и анализа данных (рис. 24). Рис. 24. Содержание микрокуба Contour Структура микрокуба включает несколько обязательных элементов: Куб, Срез, Таблица, Диаграмма. В структуре микрокуба может быть настроено произвольное количество срезов, содержащих любое количество интерактивных таблиц и диаграмм (рис. 25). Рис. 25. Структура микрокуба Contour В состав Contour BI включены следующие программные продукты: Contour Reporter – это универсальная система для доступа к данным, выпуска интерактивных отчетов, просмотра и анализа данных, а также описания регламентов обновления и рассылки отчетов. Contour Publisher –программа для автоматического создания и обновления отчетов по заданному регламенту и доставки их до конечных пользователей. Contour BI Portal. Web – сервер для публикации интерактивных отчетов в интернет/интранет для руководителей, специалистов и широких кругов пользователей. Contour DW. Декларативное хранилище данных для сбора, хранения данных и предоставления их аналитическим и репортинговым программам. ROLAP-сервер. Продукты этого класса основаны на сервере, который получает запросы от клиента, генерирует SQL-запросы к реляционным БД, выполняет вычисления и передает клиенту данные для отображения. MicroStrategy (Microstrategy) – набор программных продуктов с широким диапазоном функций, построенный на унифицированной серверной архитектуре. Архитектурным базисом платформы MicroStrategy является MicroStrategy Intelligence Server™. Intelligence Server динамически собирает объекты метаданных для создания многопроходного запроса SQL, оптимизированного для различных реляционных СУБД. Сервер получает данные, производит дополнительные аналитические вычисления недоступные в БД, форматирует отчет и отправляет отчет бизнес пользователям через MicroStrategy Web, MicroStrategy Office, Desktop, или Narrowcast Server. WebFocus (Information Builder) представляет собой интегрированный набор средств анализа данных масштаба предприятия, позволяющий использовать данные из различных СУБД и предоставлять результаты анализа пользователям, в том числе через Internet. Система состоит из сервера, который выполняет запросы к источникам данных, и тонкого клиента, реализованного как динамический html и add-ins к Excel. Особенность системы – упрощенный пользовательский интерфейс, в котором всегда отображается плоская таблица. Новая версия WebFocus Business User Edition (BUE) позволяет легко генерировать отчеты, дашборды и визуализации данных без содействия ИТ-отдела или разработчиков BI и делиться своими результатами. WebFocus BUE включает: · авторский инструмент аналитики InfoAssist+ с самообслуживанием, предназначенный для пользователей без специальных знаний; · BUE Portal для управления контентом и сборки страниц с аналитикой; · столбцовое хранилище, обеспечивающее высокую скорость обнаружения данных. MOLAP-сервер. В случае MOLAP-сервера, исходные и многомерные данные хранятся в многомерной БД или в многомерном локальном кубе. Вычисления и хранение агрегатных данных выполняет сервер. Клиентское приложение получает только результаты запросов к многомерным кубам, которые хранятся на сервере. Analysis Services (Microsoft). OLAP-сервер компании Microsoft входит в состав Microsoft SQL Server и является одним из лидеров рынка. Система может получать данные из произвольных источников, выполнять сложные вычисления и запросы от клиентских приложений, основанные на языке MDX. Кубы служб Analysis Services – это многомерные структуры, обеспечивающие высокоскоростной доступ к большим объемам предварительно объединенных данных, и позволяющие конечным пользователям воспринимать интересующие их бизнес-данные со скоростью мысли. В службах Analysis Services хранятся бизнес-данные в формате с высокой степенью оптимизации и сжатия, носящем название многомерного OLAP (MOLAP). Вопросы для самопроверки: 1. Какие OLAP продукты включает в себя классификация по способу хранения данных? 2. Опишите принцип работы ROLAP-клиентов. 3. Назовите преимущества OLAP-клиентов. 4. В каких архитектурах могут работать OLAP-клиенты? 5. Что представляет собой Микрокуб Контур? 6. Изобразите структуру сводного отчета в Excel. 7. Для чего предназначены Инструментальные OLAP-системы? 8. Что такое OLAP-машина? 9. Какие программные продукты входят в состав Contour BI? 10. Опишите последовательность создания OLAP-приложения. Литература по теме: 1. Информационные аналитические системы: учеб. / Т.В. Алексеева, Ю.В. Амириди, В.В. Дик. – М.: Московский финансово-промышленный университет «Синергия», 2013. 2. Туманов В.Е. Проектирование хранилищ данных для систем бизнес-аналитики: учеб. пособие / В.Е. Туманов. – М.: Интернет-Университет Информационных Технологий, 2010. – Режим доступа: http://biblioclub.ru – Лекция 18. Интернет-ресурсы: 1. Сайт компании «Contour Components». – Режим доступа: www.contourcomponents.ru 2. Сайт компании «IBM». – Режим доступа: http://www-01.ibm.com/software/ru/data/cognos/ 3. Сайт компании «SAP». – Режим доступа: www.sap.com/ 4. Сайт компании «Strategy Companion». – Режим доступа: http://strategycompanion.com/ 5. Сайт компании «Microsoft». – Режим доступа: www.microsoft.com/Rus 6. Сайт компании «Information Builders». – Режим доступа: http://www.informationbuilders.com/products/webfocus |