Информационное хранилище и технология анализа данных
В настоящее время весьма актуальной является тема хранилищ данных. Приведем определение, сформулированное в 1992 г. «отцом-основателем» хранилищ данных Биллом Инмоном:
«Хранилище данных – это предметно-ориентированное, привязанное ко времени и неизменяемое собрание данных для поддержки процесса принятия управляющих решений».
Началом истории российского рынка хранилищ данных и средств оперативного анализа принято считать 1996 год, когда в России появилось сразу несколько поставщиков программных продуктов этого класса.
Развивая бизнес, руководство компании вынуждено принимать решения на основе информации, которая порой является противоречивой, поскольку хранится в различных источниках. Трудности, с которыми приходится сталкиваться потребителям информации, связаны не с объемом доступных данных, а с их противоречивостью, различной степенью достоверности и уровнем сложности их последующей обработки.
Актуальность этой проблемы в последнее время привела к появлению таких приложений, как системы поддержки принятия решений и управленческие информационные системы. Эти системы, как правило, загружают информацию из разных источников и используют специальные программы для преобразования данных в формат, позволяющий выполнять запросы на основе полученной информации. Многие из этих систем не получили широкого распространения, и причин для этого достаточно:
· OLTP-системы не предназначены для анализа данных;
· данные имеют разнообразную и сложную структуру;
· организация пользовательского доступа представляет собой весьма сложную задачу;
· процесс доступа пользователей замедляет выполнение бизнес-операций.
Решить указанные проблемы помогает организация корпоративного хранилища данных, которое позволяет оперативно получать необходимую информацию в нужном формате, что способствует значительному повышению эффективности процесса принятия решений. Благодаря хранилищам данных финансовые учреждения могут использовать весь информационный потенциал, рассредоточенный ранее в разнородных источниках.
Хранилище данных – это централизованное специальное хранилище сводных данных из разнородных систем учета и внешних источников, информация из которых интегрируется, суммируется и сохраняется в хранилище данных.
К хранилищу могут затем получить доступ пользователи. Эти данные тематически организованы (например, клиенты, продукты, географические регионы), поэтому их легче анализировать по сравнению с данными, сгруппированными «вокруг» приложений.
Задача хранилища – предоставить «сырье» для анализа в одном месте и в простой, понятной структуре.
Есть и еще одна причина, оправдывающая появление отдельного хранилища – сложные аналитические запросы к оперативной информации тормозят текущую работу компании, надолго блокируя таблицы и захватывая ресурсы сервера.
Под хранилищем можно понимать не обязательно гигантское скопление данных – главное, чтобы оно было удобно для анализа. Вообще говоря, для маленьких хранилищ предназначается отдельный термин – Data Marts (киоски данных), но в нашей российской практике его практически не услышишь.
Хранилище данных строится на базе клиент-серверной архитектуры, реляционной СУБД (система управления базами данных) и утилит поддержки принятия решений. Данные, поступающие в хранилище данных, становятся доступны только для чтения.
Дадим краткое определение вышеприведенным терминам.
Клиент-сервер – вычислительная или сетевая архитектура, в которой задания или сетевая нагрузка распределены между поставщиками услуг (сервисов), называемыми серверами, и заказчиками услуг, называемыми клиентами. Нередко клиенты и серверы взаимодействуют через компьютерную сеть и могут быть как различными физическими устройствами, так и программным обеспечением.
СУБД (система управления базами данных) –совокупность программных и лингвистических средств общего или специального назначения, обеспечивающих управление созданием и использованием баз данных.
OLTP-системы – предназначены для ввода, структурированного хранения и обработки информации (операций, документов) в режиме реального времени.
Транзакция – группа последовательных операций, которая представляет собой логическую единицу работы с данными.
OLAP-анализ (аналитическая обработка в реальном времени) – технология обработки информации, включающая составление и динамическую публикацию отчётов и документов. Используется аналитиками для быстрой обработки сложных запросов к базе данных. Служит для подготовки бизнес-отчётов по продажам, маркетингу, в целях управления.
Принципы организации хранилища:
1. Проблемно-предметная ориентация. Данные объединяются в категории и хранятся в соответствии с областями, которые они описывают, а не с приложениями, которые они используют.
2. Интегрированность. Данные объединены так, чтобы они удовлетворяли всем требованиям предприятия в целом, а не единственной функции бизнеса.
3. Некорректируемость. Данные в хранилище данных не создаются: т.е. поступают из внешних источников, не корректируются и не удаляются.
4. Зависимость от времени. Данные в хранилище точны и корректны только в том случае, когда они привязаны к некоторому промежутку или моменту времени.
Задачи и содержание оперативного (OLAP) анализа. Признаки OLAP-системы.
Оперативный анализ – это функция ИАС, обеспечивающая быстрый доступ к любой необходимой информации, содержащейся в информационном хранилище или, точнее в факт-таблице, представляемой также в виде многомерного куба (на практике трёхмерного).
Извлечение информации сопровождается обработкой её по несложным алгоритмам, например: производится суммаризация, определение процентов от заданных величин, получение относительных показателей, вычисление величин с заданными коэффициентами и другие действия над данными на разных уровнях детализации. Анализ производится с данными, представленными в виде электронных таблиц, над которыми предоставляется возможность оперативно производить различные более сложные вычисления.
Извлечение необходимой информации для построения отчётов производится путём использования ряда процедур. К ним относятся:
· сечение или срез ( slice and dice ) – извлечение данных из факт-таблицы по каким-либо определённым значениям одного или нескольких измерений, например из гиперкуба (факт-таблицы ), содержащей сведения об издержках, в отчёт (раздел отчёта) помещают данные только по какому–либо одному виду или группе издержек;
· поворот, под которым понимают изменение координат, их порядка или добавление измерений; эта процедура обеспечивает замену в готовом отчёте «Издержки», к примеру, аргумента – время на регионы или центры затрат; если рассматривалась взаимозависимость «возраст – семейное положение» то можно в качестве аргумента брать любое из этих измерений и менять их местами;
· свёртка – агрегируются данные по заданным признакам и алгоритмам; можно группировать необходимые данные, содержащиеся в информационном хранилище в детальном виде, так при занесении сведений в операционную БД ежесуточно в информационное хранилище их можно передавать в агрегированном виде – еженедельно или ежемесячно, соответственно агрегированные данные можно помещать в отчёты;
· развёртка или раскрытие – процедура, обратная свёртке, данные детализируются, например группы товаров представляются по конкретным товарам, более крупные временные периоды разбиваются на мелкие и т.д.;
· создание кросс-таблиц – то есть совмещение данных из разных таблиц по заданным признакам; например, создаётся отчёт, в котором сводятся данные об издержках и выручке по одним и тем же изделиям и временным периодам;
· проекция – конструирование отчётов, являющихся подмножествами из множества единичных реквизитов или атрибутов, содержащихся в операционных базах или в информационных хранилищах;
· построение трендов – зависимость числовых или качественных значений показателя от тех или иных параметров, времени, технологии и т.д.
Инструменты OLAP-систем обеспечивают возможность сортировки и выборки данных по заданным условиям. Могут задаваться различные качественные и количественные условия.
Термин «OLAP» неразрывно связан с термином «хранилище данных». Централизация и удобное структурирование – это далеко не все, что нужно аналитику. Ему ведь еще требуется инструмент для просмотра, визуализации информации. Традиционные отчеты, даже построенные на основе единого хранилища, лишены одного – гибкости. Их нельзя «покрутить», «развернуть» или «свернуть», чтобы получить желаемое представление данных. В качестве такого инструмента и выступает OLAP.
Многомерность в OLAP-системах может быть разделена на три уровня:
· Многомерное представление данных – средства конечного пользователя, обеспечивающие многомерную визуализацию и манипулирование данными; слой многомерного представления абстрагирован от физической структуры данных и воспринимает данные как многомерные.
· Многомерная обработка – средство (язык) формулирования многомерных запросов (традиционный реляционный язык SQL здесь оказывается непригодным) и процессор, умеющий обработать и выполнить такой запрос.
· Многомерное хранение – средства физической организации данных, обеспечивающие эффективное выполнение многомерных запросов.
Первые два уровня в обязательном порядке присутствуют во всех OLAP-средствах. Третий уровень, хотя и является широко распространенным, не обязателен, так как данные для многомерного представления могут извлекаться и из обычных реляционных структур; процессор многомерных запросов в этом случае транслирует многомерные запросы в SQL-запросы, которые выполняются реляционной СУБД.
Все ИАС, сертифицированные как OLAP –системы, имеют в своём составе соответствующие программные модули. Реализация их направлена на максимальное упрощение действий пользователя в процессе анализа. В процессе оперативного создания отчётов затруднительно по времени использование языковых средств. По этой причине широко используются упрощающие такую работу и сокращающие трудозатраты средства графического конструирования.
Основной принцип действия – сборка из элементов, представленных в графическом виде структур отчётов. Представленная общая структура базы данных в виде схемы с условно отображёнными атрибутами (реквизитами) и классами, являющаяся по существу заранее заготовленной витриной данных. Из неё простым перетаскиванием на отведённую часть экрана компонуется отчёт. Отпадает необходимость написания SQL–запроса. В некоторых инструментах в процессе графического конструирования автоматически формируется соответствующий SQL–запрос. Конструирование отчётов может быть организовано и на основе электронных таблиц. Для реализации такого подхода созданы специальные программные модули, реализующие систему диалоговых меню, шаблоны, графические конструкторы. Сценарий анализа формируется с использованием технологии drag & drop (перенести и оставить), а также выбором из предложенных в диалоговом окне альтернатив, нажатием курсором соответствующих кнопок, определяющих те или иные режимы, настройкой иерархического дерева атрибутов и т.д. С помощью перечисленных методов и соответствующих средств выбирается нужная база данных, соответствующие поля и записи, определяются подлежащие анализу показатели, задаются режимы фильтрации, взаиморасположение функций и параметров (повороты, срезы и другие процедуры OLAP-анализа).
Результаты анализа представляются в виде напечатанных отчётов или презентаций, которые состоят из следующих компонентов: страница, таблица, график. Для окончательного оформления с учётом эстетических и психофизиологических требований используют собственные средства ИАС или полученные результаты анализа в составе перечисленных компонентов переносят в другие среды, в которых могут быть добавлены различные дополнительные компоненты в виде рисунков, кино, фото, аудио, видеоматериалов. Экспорт данных может быть осуществлён и в Web–среду. Возможен и обратный вариант: все перечисленные дополнительные компоненты импортируются в качестве внедряемых OLE-объектов.