Автор Malcolm Chisholm
Дата публикации оригинала 2008-02-06
Перевод: Олег Усольцев
Источник: сайт B-Eye Network

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

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

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

Данные - это только данные?

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

Шесть категорий данных

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

Рисунок 1 - Шесть категорий данных

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

Метаданные, в данном понимании, играют важную роль, т.к. представляют семантическую информацию, которой необходимо управлять. Таблицы и столбцы имеют определенные системные значения, связанные с ними. Метаданные должны быть подготовлены до того, как будет реализована база данных, и не изменяться на протяжении всего ее жизненного цикла. Любые изменения в метаданных могут иметь значительное влияние на всю систему. Например, если тип поля, в котором хранится фамилия клиента, должен быть изменен с Char(20) на Char(40), то в этом случае могут быть затронуты реализации программ, экранов и отчетов.

Справочные данные

Ниже метаданных по иерархии находятся справочные данные. В своем общем значении, справочные данные могут иметь множество определений. В значении, которое используется в данной статье, они представляют собой т.н. “таблицы кодов”. Также они могут называться поисковыми таблицами или таблицами доменных значений. Справочные таблицы чаще всего состоят из двух столбцов: код и описание, и имеют всего несколько записей. Данные в этих таблицах изменяются очень редко. Несмотря на то, что, в силу своей очевидной простоты, малого объема хранимых данных и почти полного отсутствия изменений в них, такие таблицы получили мало признания, они могут представлять от 20% до 50% таблиц в базе данных. Также, в силу определенных причин, ИТ-специалисты стараются самостоятельно не менять данные, хранимые в справочных таблицах.

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

Таким образом, справочные данные могут быть определены как:

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

Данные о структуре предприятия

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

Данные о структуре транзакции

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

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

Т.е. мы должны что-то знать о клиенте и продукте до того, как сможем продать продукт клиенту.

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

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

Так что же такое основные данные?

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

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

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

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


Для удобства отслеживания новых публикаций рекомендуем подписаться на рассылку или на канал RSS.

Читайте также: