Главная
страница 1 ... страница 2страница 3страница 4страница 5страница 6страница 7

2.2 Архитектура подхода


Архитектура предлагаемого подхода представлена ниже (рис. 2.2). В левой части рисунка представлена архитектура подсистемы многомерного анализа данных, а в правой – типичная архитектура СППР.

Рис. 2.2 Архитектура подхода

Архитектура состоит из четырёх основных модулей и сетью передачи данных между ними:


  1. OLAP-хранилище данных

  2. Модуль преобразования и загрузки данных

  3. OLAP-сервер

  4. OLAP-клиент

OLAP-хранилище содержит исходные данные для анализа. Структура данных многомерна и оптимизирована специально для OLAP-анализа. Данные, находящиеся в хранилище, всегда актуальны для аналитика, работающего с подсистемой.

Основная функция модуля преобразования и загрузки данных – это поддержка данных в хранилище в актуальном состоянии. Другая не менее важная функция – это преобразование данных. Структура данных хранилища СППР может кардинальным образом отличаться от многомерной структуры. Задача модуля – преобразовать данные из структуры СППР в многомерную структуру данных и загрузить их в OLAP-хранилище. Необходимо учесть, что данная операция выполняется каждый раз при начале работы пользователя с подсистемой, поэтому должна выполняться за приемлемое время.

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

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

OLAP-клиент может быть исполнен в виде настольного (desktop) приложения, либо в виде веб-приложения. Во втором случае в роли OLAP-клиента выступают веб-браузер и веб-сервер.

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

Все модули исполнены в виде функционально завершённых элементов, поэтому архитектура инвариантна к структуре исходных данных хранилища СППР и количеству создаваемых многомерных кубов для анализа.

2.3 Достоинства подхода


Достоинства предлагаемого подхода:

  • ориентирован на уменьшение времени обработки запросов;

  • анализируемые данные всегда актуальны;

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

2.4 Выводы


В данной главе был предложен модифицированный подход к созданию подсистем многомерного анализа данных для СППР, учитывающих влияние изменяемых с течением времени факторов, основанный на классической трехзвенной архитектуре построения OLAP-систем. В подходе были учтены все недостатки классических подходов к построению OLAP-подсистем в СППР, учитывающих влияние изменяемых с течением времени факторов. Была предложена архитектура подсистемы, реализующей предложенный подход, состоящей из четырёх модулей и сетью передачи данных между ними. Также были перечислены достоинства предлагаемого подхода.

3. Реализация предложенного подхода

3.1 Выбор OLAP-сервера


Основные требования, предъявляемые к OLAP-серверу:

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

  • доступ OLAP-клиентов по унифицированному протоколу;

  • возможность добавления новых кубов;

  • широкий спектр поддерживаемых СУБД.

На сегодняшний день существует множество поставщиков OLAP-серверов. Все крупные поставщики СУБД, такие как Oracle, Microsoft, IBM, Sybase, выпускают также и OLAP-сервера к своим СУБД. Помимо крупнейших производителей СУБД на рынке OLAP-продуктов фигурируют и другие компании, работающие в области Business Intelligence, такие как MicroStrategy, Pentaho, SAS Institute, Jedox.

Все современные OLAP-серверы удовлетворяют принципам аналитической обработки в реальном времени, изложенным Коддом в 1993 году (см. подразд. 1.1), а позднее дополненными в 1995 году.

Основными проблемами использования OLAP-серверов являются проблемы производительности, разреженности данных и «взрыва» данных.

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

Предварительное вычисление и хранения в БД агрегатных значений порождает новую проблему – проблему эффекта «взрыва данных», т.е. к резкому увеличению объёма хранимых данных. Это вызвано тем, что количество хранимых агрегатов растёт в экспоненциальной зависимости от числа измерений в кубе. Синдром взрыва может приводить к еще большим проблемам при разреженном распределении исходных данных по многомерному кубу. Отсутствующие или недопустимые значения данных создают разрежение в модели данных OLAP. Наиболее удачные OLAP-серверы борются с этой проблемой, не сохраняя пустые значения, таким образом, даже плохо заполненные кубы «не раздуваются» в объеме.

Все современные OLAP-серверы могут работать одновременно с несколькими кубами, поддерживать работу с большим числом измерений, мер и иерархий. Некоторые продукты поддерживают несколько иерархий для измерения, несбалансированные иерархии, полуаддитивные меры и некоторые другие функции, такие как «write-back», позволяющую аналитику изменить любое значение в таблице-отчёте, посмотреть к каким последствиям оно приведёт и при необходимости сохранить новое значение в хранилище данных.

У каждого сервера есть свои протоколы обмена информацией и языки запросов к многомерным данным – в области OLAP на данный момент не существует каких-либо стандартизованных протоколов обмена информацией. Но при этом почти каждый сервер поддерживает стандарты «де факто» обмена информацией – XMLA (XML for Analysis) и языка запросов к многомерным данным фирмы Microsoft – MDX (Multidimensional Expressions).

Для выбора OLAP-сервера, удовлетворяющего заявленным требованиям, было принято решение провести сравнительный анализ наиболее известных серверов.


3.1.1 Сравнительный анализ существующих OLAP-серверов


В виду достаточно большого количества производителей OLAP-серверов было принято решение рассмотреть только наиболее известные и долго работающие на рынке фирмы, а также ряд бесплатных продуктов. Таким образом, были выбраны следующие продукты (табл. 3.1):

Таблица 3.1

Исследуемые OLAP-сервера




Фирма-производитель

Название OLAP-сервера

1

Microsoft

Analysis Services

2

Oracle

Essbase

3

IBM

Cognos TM1

4

Pentaho

Mondrian

5

Jedox

Palo

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

Таким образом, были выбраны следующие критерии:



  1. Список поддерживаемых СУБД.

  2. Список поддерживаемых форм хранения данных (MOLAP/ROLAP/HOLAP).

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

  4. Возможность создания пользовательских агрегирующих функций. Агрегирующие функции – функции, вычисляющие суммарный результат, например сумма значений, среднее значение, количество элементов и др. Помимо стандартных агрегирующих функций, необходимо предусмотреть возможность создания пользовательских функций, вычисляющих агрегирующее значение по определённой формуле.

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

  6. Масштабируемость и расширяемость. Масштабируемость – возможность работы с различными объемами данных: от очень маленьких (менее 10 тыс. записей) до очень больших (более 1 млн. записей) без изменения состава программного продукта. Расширяемость – возможность добавления новых многомерных кубов данных без изменения состава программного продукта.

  7. Удобные средства создания кубов и администрирования.

  8. Решение проблемы «взрыва данных».

  9. Решение проблемы разреженности данных.

  10. Список поддерживаемых API и языков запросов. Необходимо, чтобы API и язык запросов, используемые OLAP-сервером, поддерживались OLAP-клиентом.

  11. Поддержка Unix-подобных операционных систем.

  12. Документирование. OLAP-сервер должен иметь хорошую документацию для быстрого освоения продукта.

  13. Цена продукта на минимальную конфигурацию.

Проанализируем каждый продукт по предложенным критериям:

  1. OLAP-сервер Microsoft Analysis Services

Microsoft Analysis Services (MSAS) - часть Microsoft SQL Server, включающий в себя набор средств для работы с OLAP и интеллектуальным анализом данных. Последняя версия - Microsoft Analysis Services 2008.

  1. MSAS поддерживает только одну СУБД - Microsoft SQL Server.

  2. MSAS поддерживает все три вида хранения данных: MOLAP, ROLAP и HOLAP.

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

  4. MSAS поддерживает создание пользовательских агрегирующих функций.

  5. MSAS предусматривает оптимизацию схемы агрегирования. Используя Storage Design Wizard можно найти компромисс между быстродействием системы и размером хранимых на диске агрегатов.

  6. MSAS поддерживает гибкую модель масштабирования, включающую оптимизацию хранения, компрессию данных и распределённые вычисления (т.е. часть вычислений можно перенести на клиент).

  7. MSAS содержит множество различных «мастеров» и «дизайнеров» по созданию кубов, измерений, иерархий и администрированию.

  8. Проблема «взрыва данных» в MSAS решена.

  9. Проблема разреженности данных в MSAS также решена (посредством компрессии данных).

  10. MSAS поддерживает спецификации OLE DB, ADO DB, XMLA. Язык запросов к многомерным данным – MDX.

  11. MSAS может быть установлен только на ОС Windows совместно с Microsoft SQL Server.

  12. MSAS очень подробно документирован. Документация на русском языке.

  13. Стоимость SQL Server 2008 Workgroup Edition - 4000$.

Следует отметить, что данный продукт поддерживает все типы иерархий и мер, а также функцию «write-back».

  1. OLAP-сервер Oracle Essbase

Oracle Essbase (в дальнейшем Essbase) – первый в мире OLAP-сервер. Данный сервер изначально создавался фирмой Hyperion как расширение электронных таблиц Lotus 1-2-3 и Microsoft Excel, но впоследствии в 2007 году Oracle купил Hyperion и переименовал продукт в Oracle Essbase. Последняя версия - Oracle Essbase V.11.1.2

  1. Essbase поддерживает только свою СУБД – Oracle.

  2. Essbase поддерживает 2 вида хранения данных: MOLAP и HOLAP.

  3. Essbase поддерживает создание вычисляемых меток. Стоить отметить, что помимо обычных математических формул можно использовать процедурный язык программирования - PL/SQL.

  4. Essbase поддерживает создание пользовательских агрегирующих функций, используя язык PL/SQL.

  5. Essbase, так же как и MSAS, предусматривает гибкую оптимизацию схемы агрегирования.

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

  7. Essbase содержит удобный графический интерфейс, напоминающий интерфейс Microsoft Office, поэтому освоить такой интерфейс не будет проблемой даже для новичка.

  8. Проблема «взрыва данных» в Essbase решена.

  9. Проблема разреженности данных в Essbase также решена.

  10. Essbase поддерживает API для языков Java, C, Visual Basic и спецификацию XMLA. Язык запросов к многомерным данным – MDX.

  11. Essbase может быть установлен как на ОС Windows, так и на Unix-подобную ОС.

  12. Essbase, так же как и MSAS, очень подробно документирован. Документация на русском языке.

  13. Стоимость Oracle Essbase V.11.1.2– 40 000 $

Стоит отметить, что данный продукт поддерживает все типы иерархий и мер, а также функцию «write-back».

  1. OLAP-сервер IBM Cognos TM1

Изначально продукт разрабатывался фирмой Cognos, но в 2009 году Cognos была поглощена компанией IBM и продукт был переименован в IBM Cognos TM1. Основное отличие TM1 от предыдущих двух серверов заключается в том, что это запатентованный 64-разрядный OLAP-сервер, использующий подход In-memory OLAP. Данный подход состоит в кешировании исходных данных и агрегатов в оперативной памяти, тем самым увеличивается производительность сервера. Последняя версия - Cognos TM1 9.5

  1. Сервер хранит данные в своих собственных многомерных структурах данных. Для импорта данных в свою БД используется дополнительный инструмент Turbo Integrator, поддерживающий большинство существующих СУБД. Подключение в данном случае происходит через ODBC-драйвер.

  2. TM1 поддерживает один вид хранения данных – MOLAP.

  3. TM1 поддерживает создание вычисляемых меток.

  4. TM1 поддерживает создание пользовательских агрегирующих функций.

  5. Помимо кеширования TM1 позволяет сохранять подсчитанные агрегаты в БД, тем самым предусматривается гибкая оптимизация схемы агрегирования.

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

  7. TM1 содержит удобный графический интерфейс, встраиваемый в Microsoft Excel, а также собственный Web-интерфейс.

  8. Проблема «взрыва данных» в TM1 решена.

  9. Проблема разреженности данных в TM1 также решена.

  10. TM1 поддерживает спецификации OLE DB, XMLA. Язык запросов к многомерным данным – MDX.

  11. TM1 может быть установлен как на ОС Windows, так и на Unix-подобную ОС.

  12. TM1, так же как Essbase и MSAS, очень подробно документирован. Документация на русском языке.

  13. Стоимость IBM TM1 – 50 000 $

Стоит отметить, что данный продукт поддерживает все типы иерархий и мер, а также функцию «write-back».

  1. OLAP-сервер Pentaho Mondrian

В отличие от вышеперечисленных OLAP-серверов данный продукт является открытым и распространяется под лицензией EPL. Mondrian написан на Java, что с одной стороны уменьшает быстродействие (ввиду java-машины), но с другой – добавляет свойство гетерогенности среды, в которой будет использоваться сервер. Так же, как и IBM TM1, данный сервер использует принцип In-Memory (кеширование агрегатов). Данный сервер используется в коммерческом продукте Pentaho Analysis. Последняя версия сервера - Mondrian 3.0.4

  1. Для подключения к хранилищам данных Mondrian используется JDBC-драйвер. Таким образом, сервер поддерживает СУБД, к которым можно подключаться через JDBC.

  2. Mondrian поддерживает только один вид хранения данных – ROLAP.

  3. Mondrian поддерживает создание вычисляемых меток. Выражения для меток строятся на основе математических формул и языков SQL/MDX.

  4. Mondrian не поддерживает создание пользовательских агрегирующих функций.

  5. Mondrian изначально хранит все агрегаты в оперативной памяти, но существует возможность создавать для агрегатов свои таблицы в хранилище данных.

  6. Mondrian масштабируем только с точки зрения увеличения исходных данных. Функций кластеризации и отказоустойчивости у сервера нет.

  7. Mondrian содержит достаточно простой, но с другой стороны, удобный графический интерфейс для создания кубов. Графического интерфейса для администрирования сервера нет – всё администрирование сводится к изменениям параметров в XML-файлах.

  8. Проблема «взрыва данных» в Mondrian решена.

  9. Проблема разреженности данных в Mondrian также решена.

  10. Mondrian поддерживает API для языков Java (OPAL4J) и спецификации XMLA и OLE DB. Язык запросов к многомерным данным – MDX.

  11. Mondrian может быть установлен любую машину, для которой существует Java-машина. В частности, на Windows и Unix-подобную ОС.

  12. Сервер документирован достаточно хорошо. Документация на английском языке.

  13. Продукт предоставляется бесплатно. Кроме того доступны исходные коды продукта.

Следует отметить, что данный продукт поддерживает все типы иерархий, но не поддерживает полуаддитивные меры и функцию «write-back».

  1. Jedox Palo

Данный продукт, так же как Mondrian является открытым и распространяется под лицензией GPL. Так же, как IBM TM1 и Mondrian, данный сервер использует принцип In-Memory (кеширование агрегатов). Данный сервер используется в коммерческом продукте Palo Suite. Последняя версия сервера - Palo 3.1

  1. Сервер хранит данные в своих собственных многомерных структурах данных. Для импорта данных в свою БД используется продукт Palo ETL Server, поддерживающий большинство существующих СУБД.

  2. Palo поддерживает только один вид хранения данных – MOLAP.

  3. Palo поддерживает создание вычисляемых меток. Выражения для меток строятся на основе математических формул и языков SQL/MDX.

  4. Palo не поддерживает создание пользовательских агрегирующих функций.

  5. Palo хранит все агрегаты в оперативной памяти. Не существует возможности сохранять агрегаты на жёстком диске. Стоить отметить, что сервер использует процессор видеоадаптера (GPU), что способствует уменьшению времени вычисления агрегатов.

  6. Palo масштабируем с точки зрения увеличения исходных данных. Palo очень эффективно использует ресурсы процессоров (CPU и GPU), поэтому сервер хорошо масштабируем в сторону увеличения количества процессов (ядер процессоров). Функций кластеризации и отказоустойчивости у сервера нет.

  7. Palo содержит достаточно удобный графический интерфейс для создания кубов и администрирования сервера. Palo может быть встроен в Microsoft Excel и в Open Office, поэтому освоить такой интерфейс не будет проблемой даже для новичка.

  8. Проблема «взрыва данных» в Palo решена.

  9. Проблема разреженности данных в Palo также решена.

  10. Palo поддерживает API для языков Java, C/C++, PHP, .NET и спецификации OLE DB и XMLA. Язык запросов к многомерным данным – MDX.

  11. Palo может быть установлен как на ОС Windows, так и на Unix-подобную ОС.

  12. Сервер документирован достаточно хорошо, но только на английском языке.

  13. Продукт предоставляется бесплатно. Кроме того доступны исходные коды продукта.

Стоит отметить, что данный продукт поддерживает все типы иерархий и мер, а также функцию «write-back».

Результаты сравнительного анализа

Объединим результаты сравнения OLAP-серверов в одну сводную таблицу:

Таблица 3.2



Сравнительный анализ OLAP-серверов

Критерий/OLAP-сервер

MSAS

Essbase

TM1

Mondrian

Palo

Поддержка PostgreSQL

-

-

+

+

+

Поддерживаемые формы хранения данных (MOLAP/ROLAP/HOLAP)

(+/+/+)

(+/-/-)

(+/-/-)

(-/+/-)

(+/-/-)

Создание вычисляемых меток

+

+

+

+

+

Создание пользовательских агрегирующих функций

+

+

+

-

-

Окончание табл. 3.2

Оптимизация схемы агрегирования

+

+

+

+

-

Масштабируемость

+

+

+

+

+

Удобные средства создания кубов и администрирования

+

+

+

+

+

Решение проблемы «взрыва данных»

+

+

+

+

+

Решение проблемы разреженности данных

+

+

+

+

+

Поддержка XMLA и MDX

+

+

+

+

+

Поддержка Unix-подобных операционных систем

-

+

+

+

+

Подробное документирование на русском языке

+

+

+

-

-

Цена продукта на минимальную конфигурацию

4000$

40000$

50000$

беспл.

беспл.

В ходе проведённого анализа можно сделать следующие выводы:

  • все рассматриваемые продукты полностью соответствуют принципам аналитической обработки в реальном времени, изложенным Коддом, и тесту FASMI (см. подразд. 1.1);

  • у платных продуктов очень гибкая схема масштабирования, включающая кластеризацию, функции отказоустойчивости;

  • платные продукты поддерживают все типы иерархий и мер, а также функцию «write-back»;

  • платные продукты очень подробно документированы (на русском языке);

  • все рассматриваемые продукты поддерживают создание вычисляемых меток;

  • бесплатные продукты не поддерживают создание пользовательских агрегирующих функций;

  • во всех продуктах решена проблема «взрыва данных» и разреженности данных;

  • все рассматриваемые продукты поддерживают спецификацию XMLA и язык запросов к многомерным данным - MDX;

  • TM1, Mondrian, Palo используют принцип In-Memory OLAP, что увеличивает быстродействие OLAP-сервера;

  • Mondrian и Palo имеют открытый исходный код.

Для предлагаемого подхода было принято решение использовать OLAP-сервер Pentaho Mondrian, исходя из следующих соображений:

  • Стоимость - сервер Mondrian абсолютно бесплатен.

  • Открытость исходного кода. Сервер изначально не поддерживает создание пользовательских агрегирующих функций (в отличие от платных серверов), но существует возможность доработать сервер и добавить недостающую функциональность (решение этой проблемы описано в подразд. 4.2.1).

  • Mondrian написан на языке Java, являющимся кроссплатформенным. Это позволяет использовать предлагаемый подход в любой среде. Palo написан на языке C++, который не является кроссплатформенным.

  • Графический интерфейс создания и администрирования кубов у Mondrian удобнее, чем у Palo.

<< предыдущая страница   следующая страница >>
Смотрите также:
Диссертация посвящена вопросу оперативного многомерного анализа данных (olap) в системах поддержки принятия решений (сппр). Рассматривается класс систем, учитывающих для формирования оптимальных решений изменяемые с течением времени факторы
945.67kb.
7 стр.
«модели представления времени и их применение в интеллектуальных системах»
44.04kb.
1 стр.
На выполнение работ по созданию информационной системы поддержки оперативного принятия решений на основе цифровых ситуационных карт шельфовых проектов
115.71kb.
1 стр.
Программа «Методы анализа и синтеза проектных решений»
26.32kb.
1 стр.
Трехуровневая модель планирования и принятия решений
586.19kb.
5 стр.
Представленная Соколовой Татьяной Петровной диссертация
28.8kb.
1 стр.
Разработка программных средств для интерактивного анализа публикаций на основе olap-технологии
27.73kb.
1 стр.
Теоретические особенности принятия управленческого решения 2 1 Роль и место принятия решений в процессе управления 2
441.69kb.
2 стр.
Маркетинговые информационные системы
187.16kb.
1 стр.
Перспективы создания информационной системы поддержки принятия решений абитуриентами Г. И. Болтунов, А. Л. Лымарь
30.16kb.
1 стр.
Технология принятия управленческих решений
1188.33kb.
7 стр.
Лабораторная работа №5 «Анализ оптимального решения в условиях риска и неопределенности» Задание на лабораторную работу
253.42kb.
1 стр.