вторник, 9 апреля 2024 г.

Виды данных в информационных системах

Неоднократно встречал деление данных в информационных системах (далее ИС) на

  1. справочники,
  2. мастер-данные,
  3. документы,
  4. метаданные.

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

  1. справочники,
  2. ресурсы,
  3. конфигурации,
  4. операции,
  5. транзакции,
  6. деривативы,
  7. метаданные.

Опишу эти виды данных неформально, но доходчиво.

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

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

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

Конфигурации – это данные, представляющие отношения между разными ресурсами, справочниками и параметры этих отношений. Примерами являются договор с поставщиком, маршрут между бизнес-локациями, выкладка товаров на полке магазина, проект (как организация и как структура работ). ЖЦ конфигураций, как правило, короче ЖЦ ресурсов, используемых конфигурациями. Так, для одного поставщика могут существовать несколько договоров с разными периодами действия, выкладка товаров на полке магазина может меняться ежемесячно. Как и ресурсы, конфигурации могут иметь простую или сложную структуру в БД.

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

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

Выполнение бизнес-операций, как правило, порождает транзакционные данные.

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

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

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

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

Вопросы? Комментарии? Дополнения?

Комментариев нет:

Отправить комментарий