Компоненты корпоративной информационной фабрики

Изучим компоненты информационной корпоративной фабрики данных: оперативный склад, хранилища и витрины данных. Раскроем особенности и пользу исследовательских и альтернативных хранилищ данных.

Понятие корпоративной информационной фабрики (КИФ) было впервые введено автором концепции хранилищ данныхБиллом Инмоном в начале 1980-х годов. Он определил ее как «физическое воплощение информационной экосистемы организации». Несмотря на то, что КИФ имеет достаточно общую структуру, для каждой компании она является уникальной, поскольку формируется под влиянием особенностей бизнеса, корпоративной культуры, политики, экономики и информационных технологий.

Бизнес-окружение

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

Одним из основных событий в бизнес-окружении, по крайней мере в том, что касается КИФ, является проведение бизнес-операций, которые порождают транзакции. При этом выделяют несколько их разновидностей:

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

Участниками бизнес-окружения являются как OLTP-системы, так и потребители информации. Транзакции сохраняются и обрабатываются в КИФ, а результаты используются участниками внешнего бизнес-окружения для принятия решений.

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

Уровень приложений

Приложения — это компонент корпоративной информационной фабрики, в котором транзакционные данные из бизнес-окружения собираются напрямую, от конечного пользователя либо непосредственно от клиента. Время обработки транзакции является важным аспектом для приложения. Типичными примерами функций являются:

  • Сбор детализованных транзакционных данных.
  • Непосредственное взаимодействие с конечным пользователем.
  • Профайлинг и очистка данных.
  • Редактирование информации.

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

Одной из важных характеристик приложений является скорость реагирования на действия пользователей. Они ожидают очень быстрого отклика для транзакций, выполняемых приложением. Хорошим считается время 1-2 секунды с момента запроса.

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

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

Наиболее «комфортным» источником данных для КИФ являются учетные и OLTP-системы, поскольку они содержат наиболее полную, точную, актуальную и хорошо структурированную информацию, которая полностью соответствует бизнес-модели компании.

Уровень интеграции и трансформации

С уровня приложений данные поступают на ступень интеграции и трансформации (ИТ). Там они преобразовываются в корпоративные, которые загружаются в хранилище данных (ХД) или оперативный склад данных (ОСД), где они будут доступны пользователям. Поскольку их объемы достаточно велики, а обработка на уровне ИТ имеет высокую сложность, скорость может оказаться критическим фактором.

Интеграция производится в соответствии с моделью данных, которая находится на верхнем уровне ИТ. Логическая модель описывает, как информация должна храниться в фабрике. На ее основе разрабатываются программы, которые преобразовывают сырые данные в корпоративные.

На ИТ-уровень, кроме сырых транзакционных данных, поступают и справочные. Одним из важных результатов его работы является формирование метаданных, описывающих процесс трансформации транзакционных данных.

Оперативный склад данных

Несмотря на преимущества хранилищ данных и связанных с ними витрин, в КИФ существует необходимость в коллективной обработке информации. Для этого и используется оперативный склад данных (ОСД). Он представляет собой гибридную структуру, которая имеет как мощные средства оперативной обработки, так и поддержку принятия решений.

Такая двойственная природа ОСД делает его наиболее сложной структурой в КИФ. Стратегические решения принимаются с использованием хранилищ и витрин данных, в то время как оперативные склады служат для формирования быстрых решений в рамках текущих бизнес-процессов.

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

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

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

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

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

В потоке класса IV данные анализируются в хранилище, а затем передаются обратно в оперативный склад, где они сразу же становятся доступными для поддержки принятия решений. Нет необходимости возвращаться в хранилище, чтобы собирать и анализировать большое количество информации для принятия решений. ОСД класса IV встречаются во многих местах:

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

Класс определяет время прохождения транзакции с уровня приложений через ИТ-уровень в ОСД.

Класс I. Обеспечивает прохождения за несколько секунд. За это время на ИТ-уровне не удается произвести полную обработку, поэтому в этом классе транзакции поступают в ОСД примерно в том же виде, в каком они были получены от приложения, т.е. с минимальным уровнем интеграции. Однако при этом конечный пользователь не ощущает какой-либо временной задержки при работе.

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

Класс III. Имеет место задержка от 12 часов до суток. Такой режим часто называют ночная пакетная обработка, поскольку, как правило, она производится непрерывно. При этом данные на ИТ-уровне обрабатываются столько, сколько необходимо для достижения требуемой степени интеграции. Очевидно, что время ожидания пользователя может быть соответствующим.

Класс IV. Данные поступают непосредственно из хранилища. В этом случае они считываются и анализируются в нем, а результаты передаются в оперативный склад. Типичным результатом может быть обнаруженный сегмент клиентов, класс заемщиков и т.д., что позволяет непосредственно принимать решения по этим группам.

Класс IV особенно важен, поскольку именно с его помощью удается достичь оперативного отклика от хранилища данных.

Выбор класса оперативного склада, который будет использоваться в информационной фабрике, зависит от множества факторов:

  • скорость перемещения информации в ОСД;
  • объем данных, которые необходимо переместить;
  • объем информации, которая должна храниться в промежуточных областях;
  • время обработки данных на ИТ-уровне;
  • интенсивность генерации информации транзакционными системами;
  • время суток, когда должно происходить перемещение материалов.

Выбор класса ОСД является первым и важнейшим решением, которое должен принять разработчик архитектуры КИФ. Если первичным требованием является уровень интеграции, то класс I не будет предпочтительным решением. Как правило, класс II или III являются наиболее универсальными и соответствуют потребностям большинства компаний.

Одной из отличительных черт оперативного склада является то, что в нем хранятся только детализированные сведения. Конечно, агрегированные данные могут быть сформированы из детализированных в любой момент, но хранение агрегированных — это более сложная задача. В ОСД используется так называемая динамическая агрегация, когда результаты зависят от момента времени, в который она выполняется.

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

Кроме этого, ожидание времени отклика на сложные запросы в хранилище, как правило, не превышает 2–3 минуты. Этого можно достичь только за счет свободного использования агрегатов в среде. Из-за различий между динамическими и статическими агрегатами последние следует хранить не в ОСД, а в структурах хранилища или витрин данных.

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

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

В оперативном складе класса II и III загрузка осуществляется асинхронно. При этом проблемы возникают в процессах загрузки больших объемов данных, которые сложно разрабатывать, реализовывать и поддерживать.

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

Хранилище данных

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

Данные поступают в хранилище из оперативного склада и с уровня ИТ. Поток информации из хранилища передается в витрины данных, где он становятся доступными всем пользователям.

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

Интеграция подразумевает физическое объединение и связность данных. Она достигается не простым их копированием из операционной среды, а путем значительных преобразований сырой информации при прохождении через уровень ИТ.

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

Метка времени добавляется к ключу каждой записи. При этом могут использоваться две модели: состояния и события. Запись, использующая первую, содержит дату «от» и «по», которая обозначает период времени, например, ID клиента с некоторой даты по текущую.

Запись, использующая модель «события», содержит дату, отражающую момент времени, когда данные в записи считаются точными, например, дата или номер заказа, даты перевода денег и т.д.

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

Перемещение данных в хранилище с ИТ-уровня формирует значительный поток, который активизируется по мере необходимости: ежедневно, еженедельно и даже ежемесячно или ежеквартально. Данные могут переноситься как в агрегированной, так и в детализированной форме.

Данные, которые перемещаются из альтернативного хранилища в основное, называют «быстрыми», поскольку от скорости их передачи зависит время выполнения запроса. Напротив, данные, которые перемещаются в альтернативное хранилище, называют «ленивыми», поскольку они долгое время находятся в состоянии покоя.

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

ХД передает данные в исследовательское хранилище по мере необходимости, как на разовой, так и на регулярной основе. Используемые данные являются детализированными и историческими.

Выделяют несколько видов обработки данных в хранилище:

  1. Загрузка из ОСД и ИТ-уровня.
  2. Агрегирование и интеграция.
  3. Обработка с помощью утилит обслуживания и эксплуатации.
  4. Реструктуризация данных для формирования витрин данных.
  5. Аналитическая обработка запросов от аналитиков.

Утилиты обслуживания и эксплуатации решают следующие задачи:

  • Отслеживают объем данных, добавляемых в ХД.
  • Контролируют качество информации, загружаемой в ХД.
  • Формируют каталоги содержимого ХД и прогнозируют рост объема.
  • Производят резервное копирование и восстановление данных.
  • Выполняют индексацию.

Таким образом, для обеспечения нормальной работы любого ХД требуется ряд служебных утилит.

Витрины данных

Хранилище данных является ядром процесса аналитической обработки данных с целью поддержки принятия решений в КИФ. Однако оно не является решением всех проблем анализа по следующим причинам:

  • По мере развития хранилища доступ к нему становится все труднее из-за усложнения структуры.
  • В хранилище сохраняется вся информация компании, а не отдельного подразделения.
  • Хранилище данных является многопользовательской средой, поэтому может возникнуть конкуренция за доступ к нему.

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

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

Направления бизнеса, в которых витрины наиболее эффективны, являются маркетинг, финансы, кадры, логистика, проектирование и др.

Преимущества витрин данных:

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

Целесообразность использования витрин данных растет по мере увеличения объема информации в хранилище и числа пользователей.

Одним из важных компонентов КИФ является интерфейс между витриной и хранилищем данных. Информация поступает в витрину из хранилища. Передача инициируется по мере необходимости или по запросу. Как правило, рабочий поток данных, передаваемых по интерфейсу, минимален, по крайней мере, по сравнению с объемами, перемещаемыми в других местах КИФ. Значительное количество данных поступает в витрину только при ее начальной загрузке.

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

Типы витрин данных

Существует три популярных типа витрин данных. Первый представляет собой простую выборку или сводку из хранилища. Два других поддерживают технологии оперативной аналитической обработки — (OLAP), многомерной оперативной аналитической обработки — (MOLAP) и реляционной оперативной аналитической обработки — (ROLAP).

Витрины типа MOLAP используют многомерную модель данных, содержащих измерения и факты. Обычно число измерений в витрине не более 4-6. После создания измерений данные можно агрегировать по любым из них. Преимущество MOLAP-витрин в высокой скорости обработки запросов.

Витрины, использующие ROLAP, хранят данные в нормализованном виде, что позволяет исключить избыточность. Однако из-за необходимости производить денормализацию при выполнении запросов, отклик от таких витрин может быть замедленным.

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

Может использоваться также гибридная структура (HOLAP, Hybrid OLAP), содержащая как MOLAP, так и ROLAP. В ней небольшие объемы быстро меняющихся данных хранятся в многомерных структурах, которые предоставляют гибкую и быструю обработку, но не обеспечивают компактность хранения. Напротив, большие объемы медленно меняющихся данных удобнее хранить в реляционных структурах.

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

Поскольку хранилище данных имеет много пользователей, которые применяет разнообразные методы обработки, практически невозможно сказать, что существует какая-то доминирующая модель. Когда хранилище построено по схеме «звезда» или «снежинка», оно обеспечивает оптимальный доступ для одной группы пользователей за счет всех остальных. Это приводит к серьезному дисбалансу ресурсов, который ощущается во всей организации.

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

Обработка данных в витрине

В витрине может быть реализовано множество процессов обработки данных. Их можно разделить на повторяющиеся (repetitive) и непредсказуемые (unpredictable).

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

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

Первичные и вторичные данные

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

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

Однако с этим контролем и автономией приходит также ответственность и подотчетность. Подразделения больше не могут работать самостоятельно: они должны стать активными членами корпоративного информационного сообщества и быть готовыми обеспечить использование данных в качестве корпоративного ресурса.

Исследовательское и аналитическое хранилища данных

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

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

Хотя защита хранилища данных от исследователей является естественной реакцией администратора, его резервирование только для пользователей, реализующих рутинные бизнес-функции и отправляющих лишь небольшие запросы, ограничивает потенциал КИФ.

Одна из позиций, которую может занять администратор — вообще запретить работу исследователей. Другая позиция — допустить их в хранилище на время, например, длительных праздничных выходных. Третья заключается в том, чтобы заставить исследователей разбить свой запрос на небольшие части и позволить им запускать его, например, с 1:00 до 5:00 столько ночей, сколько потребуется.

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

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

Эволюция ИХД связана с основным хранилищем. По мере того, как задачи и методы анализа данных усложняются, у хранилища начинают проявляться некоторые недостатки:

  • Оно не содержит внешних данных или их недостаточно.
  • Периодически обновляется независимо от потребностей исследователя.
  • Ограничивает доступ аналитика к своим ресурсам.

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

Пока в ИХД проводится лишь небольшой объем исследований и аналитической обработки, в его дальнейшей эволюции нет необходимости. Однако при возрастании потребностей в этом плане необходимость дальнейшего развития становится очевидной.

На этом этапе приходит понимание, что исследовательский и интеллектуальный анализ данных действительно являются отдельными, но тесно связанными направлениям. И тогда создаются два отдельных хранилища — исследовательское и аналитическое.

Не все компании заходят так далеко в эволюции КИФ, когда создаются отдельные хранилища для исследований и анализа. В большинстве случаев потребности в анализе могут быть удовлетворены и с помощью основного хранилища.

Различие между аналитическим и исследовательским хранилищами обусловлено, прежде всего, объемами и характером данных. Исследователь ищет закономерности и зависимости в них, формулирует гипотезы и утверждения о том, почему эти зависимости существуют. Аналитик берет, проверяет их обоснованность. Исследователь и аналитик выполняют, таким образом, совершенно разные, хотя и тесно взаимосвязанные функции.

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

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

Третьим источником данных для исследовательского хранилища является альтернативное хранилище, в котором содержатся большие объемы исторических данных, находящиеся в КИФ. Альтернативное хранилище — это кладезь информации для исследователя. Данные могут передаваться непосредственно в ИХД, минуя основное хранилище, что, помимо всего, позволяет сэкономить его ресурсы.

После создания исследовательского хранилища его инфраструктура изолируется от среды основного, поэтому пользователь может выполнять любое количество больших запросов, не задумываясь о снижении производительности системы. Собственно, именно количество больших и сложных аналитических запросов, выполняемых в компании, и определяет необходимость создания ИХД. Например, может использоваться следующая шкала:

  • раз в год — ИХД не требуется.
  • раз в квартал — вероятно, не требуется.
  • раз в месяц — возможно следует рассмотреть вариант создания.
  • раз в неделю — имеет место насущная потребность в нем.
  • раз в день — ИХД абсолютно необходимо.

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

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

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

Загрузка данных в исследовательское хранилище

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

Кроме того, в большинстве случаев ИХД строится как проект «под прикрытием». Основная причина здесь в том, что преимущества неочевидны и затраты на него иногда сложно оправдать. Данное явление скрыто в самой природе аналитической деятельности: с точки зрения анализа результаты могут быть впечатляющими, но малополезными для компании в данный момент. В итоге ожидания руководства, согласившегося на вложения в ИХД, оказываются обманутыми.

Более того, исследователи часто не могут предсказать, что они обнаружат. У них просто «есть догадка». Деловые люди не любят инвестировать в неопределенность и считают, что вкладываться в ИХД нет смысла. Именно поэтому на первых этапах создание может вестись на общественных началах группой энтузиастов. Во всяком случае, до тех пор, пока полученные ими результаты не принесут очевидную пользу компании, что заставит руководство выделить средства на дальнейшие исследования.

С точки зрения архитектуры между витриной и исследовательским хранилищем данных имеются существенные различия.

  • Детализация. ИХД содержит очень детализированные данные, а витрина сильно обобщенные.
  • Требования. Витрина создается после сбора требований, а ИХД разрабатывается, потому что потребности неизвестны.
  • Технологии. ИХД поддерживается математически ориентированной аналитической технологией, а среда витрины технологией, доступной конечному пользователю.
  • Пользователи. Пользователь витрины данных обычно является лицом, принимающим решения среднего звена, а пользователь ИХД — аналитик, имеющий статистическую и математическую подготовку.
  • Стабильность. Витрина данных — это стабильная структура, а ИХД может быть временным элементом.

Еще одним, хотя и не столь очевидным преимуществом создания ИХД является то, что пользователи, решающие повседневные задачи, и исследователи оказываются разделены, что естественным образом балансирует рабочую нагрузку на ИС компании. Небольшие запросы попадают и обрабатываются витринами данных и основным хранилищем, а сложные аналитические запросы — ИХД. В результате общая производительность системы может оптимизироваться.

Альтернативное хранилище данных

Выше рассмотрены компоненты КИФ, которые помогают анализировать данные, содержащиеся в хранилище: витрины и оперативный склад данных, исследовательское хранилище. Теперь рассмотрим компонент, который позволяет эффективно и экономично хранить большое количество детализированных исторических данных — альтернативное хранилище данных (АХД).

Прежде чем говорить об АХД, необходимо понять, что вызывает необходимость его создания. С течением времени КИФ сталкиваются с двумя проблемами. Первая заключается в том, что объемы данных, которые собираются в основном хранилище, становятся огромными. Вторая состоит в том, что по мере роста объема растут и затраты на инфраструктуру хранения.

Есть несколько причин, по которым объем данных в хранилище растет быстро:

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

Еще одна проблема, связанная с ростом объемов данных, — это потеря управляемости инфраструктурой их хранения. Методы и технологии, которые хороши в условиях оперативной обработки, когда данных немного, оказываются неэффективными при работе с большими массивами исторических данных разных уровней детализации.

Данные в хранилище, к которым практически никогда не производится обращение, называются неактивными или спящими. Они существуют на разных уровнях детализации. В начале создания хранилища неактивных данных мало или вообще нет. Но по мере роста объема используемых данных, как правило уменьшается, а размер неактивных растет.

Есть несколько причин, по которым данные становятся неактивными:

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

Неактивные данные — это нормальное и естественное явление. Просто для них должна быть выработана соответствующая стратегия управления. Простейший вариант решения этой проблемы — отделить неиспользуемые данные от используемых. Это дает следующие преимущества:

  • Значительно повышается производительность системы.
  • Стоимость поддержки хранилища снижается за счет перемещения неактивных данных на недорогой носитель.
  • Альтернативное хранилище может эффективно расширяться практически до бесконечности.

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

Но выбор произвольной разделительной линии — очень грубое и в конечном счете неэффективное решение. Более разумным подходом является использование монитора активности, который дает представление об интенсивности использования данных и позволяет принять более обоснованное решение относительно того, какие из них следует поместить в основное хранилище, а какие — в альтернативное.

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

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

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

Монитор активности обычно размещают между пользователями системы и хранилищем данных. Он просматривает поступающие запросы и отклики на них. При выборе монитора активности важно учитывать следующие аспекты:

  • Сколько дополнительных расходов он требует.
  • Насколько он прост в использовании.
  • С какими уровнями детализации данных он может работать.
  • По какой технологии он работает.
  • Должен ли он работать постоянно или только в определенные периоды.
  • Сколько административных ресурсов требуется для его использования и на каком уровне квалификации.

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

Использование альтернативного хранилища в процессе поддержки принятия решений обусловлено следующими причинами:

  • Экономия средств за счет использования более медленных, но и при этом и дешевых носителей. Удельная стоимость хранения данных в основном хранилище и в альтернативном может отличаться в разы.
  • Повышение производительности запросов. Запросы к основному хранилищу, из которого удалены неактивные данные, выполняются быстрее за счет исключения необходимости просматривать их тоже.
  • Поддержка высокой детализации хранимых данных, которая оказывается слишком затратной при использовании только основного хранилища.

Другие материалы по теме:

Данные в корпоративной информационной фабрике

Дрейф данных

Утечка данных в машинном обучении

Орешков Вячеслав
Рязанский государственный радиотехнический университет, Доцент кафедры САПР ВС

Смотрите также