Что такое моделирование данных?
Модель данных - это архитектурный артефакт, который является элементом архитектуры данных организации и служит мостиком между бизнес-определениями (глоссарием) и бизнес-правилами.
Бизнес-правила лежат в основе моделирования и описывают отношения и связи между сущностями (или бизнес-сущностями). Для моделирования данных используют различные виды диаграмм: ERD, DFD, Class и т.п. Диаграмма - это визуальное представление процесса или сервиса с ракурса данных.
Модели данных дают компаниям и их клиентам представление о структурах данных, взаимосвязях и о том, как данные передаются между различными объектами, такими как процессы, сервисы, приложения или хранилища данных.
Просматривая модели данных и работая с ними, организации понимают, какие данные в каких процессах возникают/обрабатываются, куда они передаются, когда и как. Кроме того, ИТ-специалисты и бизнес-пользователи используют моделирование данных для выявления объектов данных в различных информационных системах и приложениях, чтобы лучше понимать их взаимосвязи и структуру, а также с целью уточнения или перепроектирования, обеспечения эффективного доступа к данным и их последующей обработки. Думайте о моделях данных как об инструменте коммуникации, обеспечивающем согласие между разработчиками и бизнес-заказчиками.
Модель данных может показывать происхождение и жизненный цикл данных из начальной точки - там, где они впервые появляются, и до конечного потребителя, обеспечивая таким образом функцию Data Lineage. А некоторые модели данных описывают только один сервис или процесс, или отдельное приложение. Модели данных проектируются для процессов и систем в зависимости от бизнес-контекста и целей, которые обсуждаются участниками проекта/продукта и заинтересованными лицами. Самое главное, модели данных позволяют членам команды обнаруживать и анализировать информацию, находящуюся внутри ИТ-систем, а также иметь представление обо всём ИТ-ландшафте организации с ракурса данных и бизнес-определений.
Как правило, компании создают комбинацию из трех различных типов моделей данных, каждая из которых описана ниже:
Концептуальная модель данных (CDM - Conceptual Data Model) - высокоуровневое представление предметной области, содержит обычно только бизнес-критичные бизнес-сущности, связи и зависимости между ними. Описание бизнес-сущностей может быть представлено текстом или набором бизнес-значимых атрибутов. На примере диаграммы ниже показаны основные сущности процесса покупки товаров и связи между клиентами, заказами, продуктами и документами доставки.
Логическая модель данных (LDM - Logical Data Model) - это модель данных предметной области или процесса, описанная в терминах бизнеса и не зависящая от конкретной системы управления базами данных или технологии хранения. Приведенная ниже логическая модель содержит уже не только основные сущности процесса, но и их описание в виде атрибутов - бизнес-критичных свойств.
Физическая модель данных (PDM - Physical Data Model) - это представление структуры данных, реализованной или предназначенной для реализации в системе управления базами данных. На приведенной ниже диаграмме физического слоя данных, кроме атрибутов есть описание форматов данных, точные названия полей в таблицах и их размерность. Важным элементом PDM является наличие на ней информации о первичных ключах PK - primary key, и внешних ключах FK - foreign key (подробно о ключах в Толковом словаре Data Governance).
Для поддержания всех моделей данных в актуальном состоянии обычно требуется наличие инструмента, который позволяет не только визуализировать данные, но и хранить объекты данных в специальном словаре - репозитории данных. Такой инструмент может входить в состав эко-системы управления данными или использоваться отдельно для целей Архитектуры данных. Совокупность всех моделей, позволяющая получить представление о компании с разных ракурсов, а также обеспечивающая непротиворечивость, достоверность и управляемость данных, называется Корпоративной моделью данных (EDM - Enterprise Data Model).
Компаниям пригодится моделирование данных для следующих целей:
- Разработка более качественного программного обеспечения за счет снижения количества ошибок
- Сокращение затрат на разработку за счет использования шаблонов данных для основных сущностей
- Сокращение времени выхода новых продуктов на рынок и времени на разработку интеграционных потоков за счет сокращения времени на поиск и описание переиспользуемых данных
- Получение более четкого представление о бизнес-контексте, использовании данных, их поведении и обработки в различных системах и приложениях
- Повышение производительности приложений и баз данных
- Предоставление высококачественной документации
- Повышение управляемости данными: снижение рисков и повышение качества данных
Ещё больше информации про архитектуру данных и подходы в моделировании данных в продукте читай в подборке статей на дзен.