Консалтинг и автоматизация в области управления
эффективностью банковского бизнеса

Журнал ВРМ World

Как улучшить аналитические возможности

Современный бизнес с рекордной скоростью накапливает все время возрастающие объемы данных из различных источников. Например, только один успешный web-сайт способен в день генерировать более миллиарда записей маршрутов перемещения пользователей. А данные, которые появляются ежедневно в результате крупномасштабной обработки транзакций и добавляются к детальным историческим транзакциям, уже находящимся в Хранилище? Плюс данные о товарно-материальных запасах и счетах, детальная финансовая информация, данные о потребителях и многое другое. И в то время как рост объема данных приводит к удлинению времени обработки, увеличению расходов на оборудование и усилению административных требований, спрос на данные также все время растет. Автор, ведущий технический аналитик компании Syncsort Incorporated, на основе собственного опыта и опыта коллег предлагает два способа подготовки данных, которые могут помочь справиться с этими трудностями: преобразование данных и использование метаданных.

Преобразование данных для ускорения выполнения запросов

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

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

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

Операции на уровне полей. Эти операции включают преобразования типов и форматов данных, арифметические операции, операции над строками, операции дата/время, сопоставление с образцом и условные операции.

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

Использование метаданных для быстрого поиска необходимой информации

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


Рис. 1. Метаданные делают данные более управляемыми

Метаданные также необходимы для интеграции данных, т.е. сбора и объединения наборов данных из несовместимых источников, находящихся в разных местах. Они помогают идентифицировать наборы данных, чтобы можно было собирать только действительно необходимую информацию. Далее в интеграции используется процесс ETL (extraction, transformation, loading - извлечение, преобразование и загрузка) - последовательность приложений, которые извлекают данные из различных источников, обеспечивают их поступление в область перемещения данных и применяют последовательность процессов, чтобы подготовить данные к отправке в Хранилище и реальному процессу загрузки. После извлечения данных может осуществляться целый ряд преобразований для подготовки консолидации данных, а затем преобразованные данные загружаются в витрины и Хранилища данных или же в многомерные структуры, используемые для принятия решений или систем Business Intelligence. А метаданные затем предоставляют информацию о контексте, необходимую для эффективного анализа данных.

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

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

Более быстрое создание резервных копий с помощью метаданных

Метаданные также могут использоваться в области создания резервных копий и восстановления утраченной информации. Например, в программе NetWare версии 6.5 и выше можно создавать резервные копии данных, используя так называемый "моментальный снимок" пула (pool snapshot), который является копией пула данных в определенный момент времени в форме метаданных. Помимо сокращения времени на создание резервных копий, эта технология исключает сбои в работе, вызванные неудачными попытками создать резервные копии открытых файлов. Как только этот "моментальный снимок" сделан, исходный пул данных немедленно становится доступным для пользователей, в отличие от традиционной технологии, при использовании которой пул данных остается недоступным все время, пока создается копия. Скрипты, предназначенные для изменения состояния базы данных, сбора информации в момент выполнения этой операции или в процессе работы, или для других ручных действий, могут функционировать как до, так и после осуществления "моментального снимка".

Заключение

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