OLAP — online analytical processing
Начиная разговор об OLAP не обойтись без экскурса в историю. Безусловно, мы проследуем интересной витиеватой дорогой, которую для нас проложили разработчики этой технологии, но сперва определимся, о чем же будет речь.
Расшифровка аббревиатуры OLAP звучит как online analytical processing. Дословный перевод этого словосочетания с английского языка – онлайновая аналитическая обработка данных. Однако англоязычное понятие онлайна несколько изменилось с тех времен, когда термин OLAP зазвучал в миру программистов и аналитиков впервые. В ту пору онлайн означал скорее интерактивность процесса обработки, нежели факт присутствия в сети интернет, как это принято трактовать сейчас.
Итак, OLAP – это технология интерактивной обработки данных. Возможности технологии сосредоточены в её быстродействии, с которым OLAP анализирует сложные пользовательские запросы к хранилищу данных. Также, технология включает в себя возможность развертывания разнообразных отчетов и документов.
Нужно ли говорить, что за более чем 30-ти летнюю историю развития технология нашла широчайшее применение практически во всех сферах бизнеса. Продажи, маркетинг, управление, экономический анализ, аудит – нет такого направления работы, где технология OLAP была бы бесполезной.
Но обо всем по порядку, а для начала – обещанная история.
Краткий экскурс в историю OLAP
Возникновение систем OLAP было спровоцировано развитием систем поддержки принятия решений (DSS — Decision Support Systems). Первой в своём роде стала IBM System 360 – масштабная система корпоративного менеджмента, появившаяся в 1965 году. До её появления такой масштаб системы данных казался несбыточной мечтой, подкрепленной нереальностью финансовых затрат на проектирование и содержание, даже будь эта мечта реализованной. Первые системы информационного менеджмента, MIS — management information systems, имели цель оповещения руководителей упорядоченными массивами данных о жизнедеятельности предприятия.
К началу 70-ых годов системы поддержки принятия решений оказались на волне популярности, а продукты этой отрасли уже насчитывали сотни наименований. Дальше – больше. Так, к середине 70-ых годов проблемам поддержки принятия решений в лице компьютерных технологий посвящались форумы и собрания, академические исследования и научные конференции.
К концу 70-ых выделились критерии оценки систем, разрабатываемых на основе технологии DSS. В ту пору и стали выделяться первые интерактивные компьютерные приложения, способные структурировать небольшие массивы данных для решения информационных задач.
Лишь к началу 90-ых годов интерактивные терминалы стали сменяться персональными компьютерами. В итоге, изменение архитектуры DSS-систем произошло, как говориться, в корне. Системы перестали быть сервер-ориентированными, вместо чего появились решения типа «клиент-сервер».
Следующему ключевому событию в истории технологии OLAP суждено было случиться в 1993 году. В это время Эдгар Кодд предложил 12 критериев соответствия приложения технологии OLAP. Немногим позже, критерии были сформированы в тест, получивший название FASMI.
Критерии FASMI
Fast (Быстрый) – максимальная скорость доступа приложения OLAP к хранилищу данных. В среднем, время обработки запроса составляет 5 секунд. Конечно, для простых запросов срок ожидания может быть сокращен и до секунды, а для сложных – растянут до 20 секунд. Однако независимо от сложности обрабатываемого массива ожидание отклика от системы не должно превышать 30 секунд. Это установлено статистикой, по которой пользователь, ожидая свыше данного интервала времени, принимает однозначное решение – система бесполезна, и после этого перестает к ней обращаться.
Разумеется, что разработчикам систем OLAP приходится отыскивать всё новые и более сложные решения по увеличению быстродействия своих продуктов. Для этого используются методы непрерывной динамической предварительной обработки базы данных, создание специальных конструкций и другие.
Analysis (Анализ) – возможность осуществления приложением OLAP числового и статистического анализа данных из базы. В соответствии с этим критерием продукт OLAP должен справляться с любой логикой, задаваемой пользователем или прикладной программой. В этот же критерий включена возможность графического представления результатов анализа, и гибкость к пользовательским запросам.
При этом совершенно неважно, какими средствами достигнут результат OLAP анализа, главное – удобство для пользователя и результат. В числе аналитических возможностей такие операции, как: анализ распределения ресурсов, анализ поиска цели, анализ изменений структуры, анализ транзакций, анализ последовательности временных диаграмм, и другие инструменты.
Shared (Разделяемый доступ) – приложение OLAP подразумевает одновременную работу с многомерными базами данных нескольких пользователей. Этот критерий OLAP накладывает свои ограничения, в частности – конфиденциальность информации. Это в свою очередь подразумевает использование механизмов авторизации пользователей и распределенные возможностей управления.
Зачастую это свойство приложений OLAP не всегда реализовано на должном уровне. Многие системы OLAP нашли простое решение – работу в режиме «только чтение». Более сложные продукты OLAP, например многопользовательская система Microsoft OLAP Services, поддерживают режим «чтение-запись», но без проявления достаточной гибкости.
Multidimensional (Многомерность) – приложения OLAP должны состоять из многомерных информационных массивов. Так, любые данные в OLAP представляются в виде многомерной структуры. Следовательно, OLAP системы должны работать в многомерном пространстве и уметь оперировать развитыми иерархиями. Однако этот критерий не накладывает ограничений на определенную размерность пространств данных или размеры этих измерений.
Information (Информация) – этот критерий предписывает приложениям OLAP обеспечивать пользователям возможность получать данные со всех электронных хранилищ информации. При этом приложения OLAP решают задачи предоставления данных, действительно имеющих ценность для пользователя, а не всех хранимых в базе.
Важно отметить, что различные системы OLAP реализуют разные способы обработки информации, а не что-либо конкретное и обязательное для всех. В общем виде, этих способов обработки данных OLAP тысячи. Естественно, что такое разнообразие, да и само количество способностей систем OLAP требует значительных ресурсов постоянной и оперативной памяти, а также других вычислительных средств, объединенных в масштабные комплексы, объемных хранилищ данных и сопутствующих компонентов анализа информации.
Таким образом, подытоживая результаты критериев FASMI, дадим ещё одно определение OLAP-приложениям. OLAP приложения – это системы скоростного доступа множества пользователей к многомерному пространству аналитических данных, с предоставлением числовых и статистических анализов.
OLAP и хранилища данных
Для большинства людей, знакомых с термином OLAP, он ассоциируется с хранилищами данных (Data Warehouse). Билл Инмон, основатель как самого термина «хранилище данных», так и его реализации на практике определил это понятие так: «Хранилище данных — это предметно-ориентированное, привязанное ко времени и неизменяемое собрание данных для поддержки процесса принятия управляющих решений».
Наполнением хранилищ данными занимаются оперативные системы (OLTP-систем), используемые в контексте автоматизации бизнес-процессов. Также, в хранилища поступает и внешняя информация в виде различных отчетов.
Здесь у многих пользователей возникает вопрос: для чего нужны хранилища данных?
Любой здравомыслящий человек понимает, что, по сути, они избыточны и оперируют информацией, которая уже есть в операционной системе в виде файлов, баз и статистических отчетов. Загвоздка состоит в том, что анализировать такие данные, пусть даже имеющиеся в операционной системе в избытке, невозможно, или же очень и очень сложно. Данные представлены в разрозненном виде и рассредоточены по разным узлам корпоративной сети предприятия.
Хранилища данных строятся с целью предоставления материала для анализа в понятной форме и в одном месте. Кроме того, структура этого материала, то есть данных, должна быть предельно простой. Наконец, есть ещё одно назначение выделенных хранилищ данных – разгрузка сетевых и серверных ресурсов. Без организации хранилища данных, запросы пользователей, требующие сложного анализа имеющейся информации, будут «сводить на нет» работу сервера и сети, и при том надолго.
OLAP: простота, скорость, удобство
Однако, для анализа данных не достаточно простоты структурирования и централизации хранения. Нужны возможности удобного просмотра, визуализации и гибкости этих инструментов. Зачастую, результаты анализа не так наглядны, как хотелось бы. И им может не хватать самой малости – возможности «прокрутки», «развертывания», «вращения», «разреза» оперируемых массивов информации. При этом желательно получать быстрый отклик от системы по предоставлению результата этих действий. Простота, скорость, удобство – вот характеристики инструмента OLAP.
Как же работает инструмент OLAP?
Максимально эффективно. Прежде всего, идет сбор данных со всевозможных источников. Поступающая информация фильтруется, объединяется по группам, и сосредотачивается в реляционном хранилище. После этого идет подготовка данных к анализу OLAP. Для этого потоки информации могут быть направлены в отдельные базы данных, или же сгруппированы непосредственно в реляционном хранилище. Здесь наиболее значимыми являются метаданные – информация о самой структуре хранилища, порядке размещения и преобразования данных. С помощью метаданных технология становится эффективной и реализует оптимальное взаимодействие всех компонентов хранилища.
Итак, OLAP – это быстродействующий инструмент доступа, просмотра и различного анализа корпоративной информации.
При этом приложения OLAP интуитивны для пользователя благодаря представлению массивов данных в виде наглядных многомерных кубов (Cubes). В качестве системы координат используются критерии анализируемого бизнес-процесса. Например, месяца, года, наименования товаров, объем продаж в различных торговых точках, процент выполнения планов представительствами и другие необходимые оси развертывания данных.
Важно, что пользователь может перекраивать такой куб по своему усмотрению, получая необходимый ему результат. Манипуляции с ячейками куба, заполненными необходимой информацией могут быть любыми, при этом, результаты сводов данных будут независимыми или наоборот, спровоцированными предыдущими действиями.
Многомерность
Приложения OLAP многомерны. Это свойство можно разделить по уровням:
- Многомерность представления данных – благодаря чему достигается многомерная визуализация и возможность различных манипуляций данными.
- Многомерность обработки – в основе которой лежит язык программирования многомерных запросов;
- Многомерность хранения – полный набор средств физического размещения данных.
Производители
Сегодня существует немало компаний, выпускающих различные приложения на основе OLAP. К их числу принадлежит и ряд крупнейших разработчиков систем управления реляционными базами данных.
Среди лидеров рынка продукция компаний Microsoft, IBM, Oracle, Sybase, Computer Associates.
Также к числу производителей надежных приложений OLAP относится компания Radar-Soft, LLC. В основе её OLAP продуктов отдельные компоненты для бизнес-процессов (Business Intelligence), так и компоненты для анализа и визуализаций.
С помощью OLAP приложений, интегрированных в единый бизнес-процесс, пользователи получают возможности:
- Анализа данных в реальном времени посредством OLAP браузера;
- Получения качественных отчетов;
- Графического представления анализа;
- Быстрого и действенного манипулирования многомерных массивов данных;
- Наглядного отображения «горячих» точек;
- Детализации полученных результатов;
- Принятия оптимальных решений.
OLAP – это инструмент, жизненно необходимый бизнесу.