Введение
Результаты исследований, проведенных компаниями Gartner и Merill Lynch, показывают, что бизнес-аналитика (
Business Intelligence - BI) остается одним из трех главных приоритетных направлений развития. Поэтому корпорация Oracle, как и ее основные конкуренты, уделяет очень большое внимание аналитическим возможностям своих бизнес-приложений, поскольку именно они являются ключевым фактором, оказывающим влияние на выбор потребителей. Серьезное место в анализе данных начинает занимать глубинный анализ данных (
Data Mining), процесс поиска различных закономерностей в огромном наборе фактических данных. В целом, термин Data Mining обозначает не столько конкретную технологию или подход, сколько сам процесс поиска корреляций, тенденций, взаимосвязей, ассоциаций и закономерностей посредством различных математических и статистических алгоритмов. Цель этого поиска - представить данные в виде, четко отражающем бизнес-процессы, построить модель, при помощи которой можно прогнозировать процессы, критичные для планирования бизнеса и проводить исторический анализ данных для построения планов и бюджетов. Основная задача Data Mining - прогнозирование тех или иных процессов.
Для реализации технологий извлечения знаний в состав СУБД Oracle Database включена специальная опция - Oracle Data Mining, основу которой составляют процедуры, реализующие различные алгоритмы построения моделей, средства подготовки данных, оценки результатов, применения моделей. Использовать все эти возможности можно как на программном уровне с помощью Java API или PL/SQL API, так и с помощью графической среды Oracle Data Miner (ODM). Продукт ODM и Data Mining опция существуют достаточно давно и хорошо известны сообществу Oracle.
Oracle, купив в 2005 году компанию Siebel Systems, приняла решение, что корпоративная линейка средств Business Intelligence (BI) корпорации будет базироваться на Siebel Analytics, а ее CRM-системы - на Siebel CRM. В состав продуктов Siebel Analytics и Siebel CRM в рамках OEM-соглашения включался Real-Time Decisions - специальный инструмент для Data Mining от компании Sigma Dynamics. Эта компания была разработчиком средств так называемой прогнозной аналитики (predictive analytics), позволяющих предсказывать, к примеру, реакцию конкретного заказчика на то или иное коммерческое предложение, опираясь на анализ накопленных ранее данных и принимая во внимание оперативную информацию, поступающую в режиме реального времени. Задачи такого рода стоят перед пользователями CRM-систем (кросс-продажи, удержание клиентов), call-центров (интеллектуальная маршрутизация вызовов), средств обеспечения безопасности (выявление мошенничества) и т. д. Таким образом, очередным шагом корпорации Oracle в этом направлении стало приобретение активов компании Sigma Dynamics. Так появился новый продукт Oracle Real-Time Decisions (Oracle RTD). Рассмотрим основные особенности этого продукта.
Описание Oracle RTD
Oracle RTD - это продукт линейки Data Mining, созданный для прогностической аналитики в режиме реального времени. Он построен полностью на SOA-архитектуре. Oracle RTD публикует наружу различные Web-сервисы, через которые осуществляется работа с сервером. Он состоит из пяти основных компонентов:
- Decision Studio
- специальный инструмент, построенный на основе движка Eclipse, в котором ведется вся разработка;
- Real-Time Decision Server
- движок всей системы, представляющий собой сервер, работающий на J2EE-сервере;
- Decision Center
- приложение для среды J2EE, которое обеспечивает доступ к проектам через Web. Позволяет бизнес-пользователям просматривать и администрировать проекты, следить за работой всей системы, собирать статистику;
- Administration
(JMX) - интерфейс для сетевого администрирования. Настройка всей системы ведется с помощью приложения JConsole, входящего в состав Java SE 1.5;
- Load Generator
- специальный инструмент для моделирования нагрузки на серверы, нужен для тестирования проектов.
Проект в RTD называется Inline Service. Разработка проектов ведется в Decision Studio. Вообще сама разработка моделей в RTD очень схожа с программированием на Java. В конечном итоге весь проект представляет собой набор Java-классов, которые выполняются на сервере приложений. Основным компонентами Inline Service являются
- Application
- описывает свойства всего приложения;
- Performance goals
- набор ключевых показателей, за которыми надо следить и оптимизировать;
- Choices
- это различные альтернативные предложения, которые являются атрибутами проекта (например: причины звонка с службу поддержки);
- Rules
- различные бизнес правила. Бывают правила для вычисления применимостей каждого из предложений или расчета показателей;
- Decisions
- реакции на конкретное предложение. Высчитывается степень влияния каждого из возможных предложений и выбирается наилучшее исходя из ключевых показателей;
- Selection functions
- функции для выбора подходящих предложений;
- Entities
- сущности всей системы (например: клиент, звонок и т.д.);
- Data sources
- описываются источники информации;
- Integration points
- объекты, в которых описывается как Inline Service взаимодействует с внешними системами: либо получая новую порцию данных, либо отправляя реакцию на полученные данные. Существует два типа таких объектов:
- Informants
- получают данные из внешних систем (например: данные о клиенте);
- Advisors
- посылают ответ (совет) в зависимости от ключевых показателей обратно.
- Модели
- самообучающиеся модели, которые позволяют с течением времени улучшать прогностические способности аналитических приложений и быстро приспосабливаться к меняющимся условиям бизнеса;
- Statistical collectors
- специальный модели, используемые для сбора статистических данных;
- Categories
- категории для сегментации данных при отображении в Decision Center.
Oracle RTD может оказаться особенно полезными для реализации адаптируемых бизнес-процессов, т. е. процессов, логика которых определяется не набором фиксированных бизнес-правил, а может меняться со временем. Одно из главных преимуществ этого продукта - функции самообучения. И поскольку основная задача таких приложений - анализ данных, содержащихся в базах предприятия с целью определения намечающихся трендов деятельности, то раннее выявление подобных трендов позволяет принимать решения точнее и быстрее.
ODM и ORTD
Корпорация Oracle на сегодняшний день предлагает два решения класса Data Mining - ODM (Oracle Data Mining), решение на основе Data Mining опции базы данных, и Oracle Real-Time Decisions. Опция для анализа данных Data Mining является мощным движком, который располагается в ядре базы данных и поэтому рассчитан на обработку экстремально больших объемов данных. Именно поэтому Data Mining удобно применять регламентировано при формировании хранилищ данных или при историческом анализе данных и выявлении тенденций, закономерностей и зависимостей. Для Data Mining источником и приемником информации являются таблицы базы данных. С другой стороны, Oracle RTD является продуктом другой категории. Его удобно применять в режиме реального времени, когда объемы поступающих данных не столь велики, но скорость выдачи результатов должна быть высокой. Обычно такая практика распространена в бизнес-приложениях (учетных системах), когда по поступающей информации в режиме реального времени надо делать заключения и выдавать рекомендации.
На сегодняшний день самым развитым способом интеграции приложений является SOA-архитектура. Поэтому ORTD и рассчитан на SOA-среду. Следует отметить, что отличается у двух продуктов и методика работы самого движка, в ODM разработчик должен четко и правильно настроить модели для анализа данных. С другой стороны, ORTD предоставляет механизмы, в котором модели могут самостоятельно настраиваться и меняться. В целом ситуация с ODM и ORTD похожа на ситуацию, которая сложилась с Oracle-продуктами для построения хранилищ данных Oracle Warehouse Builder (OWB) и Oracle Data Integrator (ODI). ODM является аналогом OWB, поскольку работает на уровне базы данных Oracle. RTD, соответственно, является аналогом ODI, рассчитан на работу в SOA-среде, имеет готовые механизмы для настройки модели. Т.е. Oracle предлагает продукты двух категорий: один для разработчиков базовых технологий, которые знают SQL, PL/SQL, Java, и для разработчиков новых и "модных" систем, которые используют SOA-стандарты XML, WSDL и т.д. В соответствии с этим RTD можно легко и просто интегрировать в BPEL-процессы. Еще одной отличительной особенностью этих двух продуктов является то, что ODM предназначен для непосредственного анализа данных, в то время как ORTD предназначен в большей степени для интеграции анализа данных в бизнес-приложения.
Oracle Data Mining |
Oracle Real-Time Decisions |
Сервер |
Опция базы данных, представляет собой набор готовых процедур и пакетов |
J2EE приложение |
Платформы |
Сервер - платформы, на которых существует Oracle Database
Клиент - любая платформа с поддержкой Java |
Сервер - любой J2EE-сервер
Клиенты - любая платформа с поддержкой Java |
Интерфейс |
PL/SQL API, Java API |
Web-сервисы, Java API |
Алгоритмы |
Алгоритмы классификации, кластеризации, поиск существенных атрибутов, регрессия, поиск ассоциаций, выделений признаков |
Сложные модели прогнозирования на основе классификации |
Клиенты |
Oracle Data Miner - "толстый" Java-клиент для создания, отладки, запуска моделей |
Decision Studio - "толстый" Java-клиент для проектной работы
Decision Center - Web-приложение для мониторинга, запуска и администрирования проектов |
Интеграция |
На уровне базе данных |
На уровне Web-сервисов |
Возможности настройки моделей |
Только настройка параметров |
Гибкая настройка моделей на Java |
Заключение
Oracle Real-Time Decisions представляется очень интересным продуктом для расширения аналитических возможностей бизнес-приложений и BI-систем. Он идеально подходит для SOA-среды и легко интегрируется в любые бизнес-процессы на предприятии. Основной его плюс - это самонастраивающиеся прогностические модели, которые можно оперативно запускать через Web-сервисы. С другой стороны, Oracle Data Mining идеально подходит для глубокого и всестороннего анализа больших объемов информации. Его плюсы - большое количество различных алгоритмов для анализа, позволяющих производить тонкую настройку и делать различные пред- и пост- обработки данных. ORTD - это в большей степени законченное бизнес-приложение, которое надо настроить и адаптировать для конкретных бизнес-задач. ODM - это мощный инструмент и технология, которая позволяет строить сложные и разносторонние системы для анализа данных.
В настоящее времени отдел бизнес-анализа и хранилищ данных Консалтинговой группы "Борлас" занимается изучением продукта Oracle Real-Time Decisions. В следующих номерах OM/RE мы покажем на примерах, как работает данный продукт и выполним небольшой бизнес-пример.