Аналитические (OLAP) системы

ИС можно разделить на два класса: системы операционной обработки данных и системы, ориентированные на анализ данных и поддержку принятия решений.

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

Транзакция – это некоторое законченное, с точки зрения пользователя, действие над БД. Такие системы называются OLTP – On-line Transaction Processing – оперативная обработка транзакций или выполнение транзакций в режиме реального времени.

Другой класс ИС – аналитические системы - ориентированы на выполнение более сложных запросов, требующих статистической обработки исторических (накопленных за некоторый промежуток времени) данных, моделирования процессов предметной области, прогнозирования развития тех или иных явлений. Эти системы оперируют большими объемами исторических данных, позволяя выделить из них содержательную информацию – получить знания. Такие системы получили название OLAP – On-line Analysis Processing – программные средства, которые дают инструмент анализа данных, содержащихся в хранилище.

Оба класса основаны на СУБД, но типы выполняемых ими запросов сильно отличаются. Например, в OLTP-системе. „Есть ли свободные места в купе поезда Запорожье – Киев на 30 ноября?”.

В аналитической системе запрос может быть таким: „Каким будет объем продаж железнодорожных билетов в денежном выражении в следующие три месяца с учетом сезонных колебаний?”.

В OLTP – системе банка можно создать запрос о состоянии счета клиента.

В OLAP – системе – «Найти среднее значение промежутка времени между выставлением счета и оплатой его клиентом в текущем и прошедшем году отдельно для разных групп клиентов».

В большинстве случаев сложный аналитический запрос невозможно сформулировать в терминах языка SQL, поэтому для получения информации приходится применять специализированные языки, ориентированные на аналитическую обработку данных. К их числу можно отнести, например, язык 4GL фирмы Oracle.

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

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

12 определяющих принципов OLAP сформулировал в 1993 г. Е. Ф. Кодд - "изобретатель" реляционных БД. Позже его определение было переработано в так называемый тест FASMI, требующий, чтобы OLAP-приложение предоставляло возможности быстрого анализа разделяемой многомерной информации.