Что такое домены? Нужны ли они в данных?
Много разговоров сейчас про домены, все проектируют у себя внутри организации структуры, базирующиеся на доменах. Часто можно слышать такие фразы или высказывания:
- Мы идём в доменную систему
- У нас будет DDD (domain driven design)
- Мы внедрили у себя доменную схему
Но понимание того, что такое домен, как он выглядит и из чего состоит, до сих пор есть не у всех.
Если заглянуть в различные вики- и прочие -педии, то можно найти приблизительно вот такое вот определение домена:
Домен - это семантическое понятие, которое представляет собой подмножество допустимых элементов некоторого типа, имеющих одинаковый контекст. Это некая область с понятными смысловыми границами, все элементы которой могут быть связаны одним логическим условием.
Во многих областях знаний Домен является самым верхним рангом или уровнем в группировке или классификации, иначе говоря, верхним уровнем в иерархии.
Если переводить всё выше сказанное на простой язык, то на примере цветовой гаммы выглядит это примерно так.
Наш мир наполнен множеством цветов всевозможных оттенков, но чтобы быстро сориентироваться в этом множестве элементов, человечество придумало очень простую схему или доменную структуру. Помните поговорку, которая позволяла запомнить нам все цвета радуги?
Каждый охотник желает знать где сидит фазан
Красный, оранжевый, жёлтый, зелёный, голубой, синий, фиолетовый - это примитивная структура доменов в области знаний про цвета. В каждом домене, например в красном, хранится множество оттенков красного: розовый, бордовый, алый и т. д. Как только вы говорите кому-то, что штаны или футболка имеют красный оттенок, вы мысленно обращаетесь к домену "Красный" и предлагаете вашему собеседнику представить палитру цветов именно из этого диапазона оттенков.
Цифровые модели цветов имеют свой уникальный код и принадлежат к подмножеству одного из доменов цвета. Если вы пользовались на компьютере одной из программ, позволяющей выбирать и накладывать цвета, то обратили внимание, что зачастую сначала вам предлагают выбрать основной цвет - домен, а уже только потом оттенок из его палитры.
Такой доменный подход можно применить абсолютно в любой области знаний. Вернемся к нашей типовой организации:
Мы видим целую структуру из различных видов доменов (на рисунке слева), т.е. в любой организации есть несколько видов знаний: знания о бизнесе, знания о данных, знания об информационных технологиях и т.д., которые можно разбить на домены, структурировав таким образом всю информации внутри этих областей знаний.
Например, в предыдущем посте Материал к статье: Data Governance - Автоматизация процессов управления данными, все термины в бизнес-глоссарии тоже были отнесены к одному из бизнес-доменов. Вот примеры бизнес-доменов: Маркетинг, Продажи, Цепочки поставок, Финансы, Управление персоналом и т.д. Как и насколько доменов делить организацию - дело внутренней политики самой организации.
Домен играет большую роль в проектировании и анализе данных. Захман (Zachman Framework) предлагал категоризировать все функции, задачи и структуры организации в разрезе супер-доменов или супер-концептов (онтология предприятия).
Взяв за основу фреймворк Захмана, все данные, все бизнес-сущности можно разделить на шесть основных категорий (на рисунке справа):
- Общество (Role)
- Ресурсы (Material)
- Операции (Process)
- Пространство (Location)
- Время (Event)
- Показатели (Goal)
Далее внутри этих супер-доменов выделяются базовые концепты или домены данных, описывающие тот или иной объект реального мира.
Примеры доменов данных: Человек, Имущество, Календарь. Наборы и состав доменов данных зависит от принятых в организации архитектурных политик и стандартов.
Подробнее про фреймворк моделирования данных на основе модели Захмана в статье дзен - Моделируем данные грамотно и красиво.
Пример структуры супер-домена Material в статье на дзен.
архитектура данных
домены данных