Короткий ответ
Data dictionary помогает одинаково понимать структуру и смысл данных: что означает таблица, как трактовать поле и к кому обращаться при расхождении.
Как это работает подробнее
Часть метаданных можно получить из DDL и dbt автоматически, но бизнес-смысл, ограничения и правила расчёта должны быть явно описаны владельцем данных.
- Для таблицы. Назначение, грануляция, источник, расписание обновления, SLA и владелец.
- Для поля. Тип, описание, единица измерения, допустимые значения, nullable, пример и чувствительность.
Пример кода
fact_orders.yml
table: fact_orders
grain: one row per order
owner: billing-analytics
columns:
amount:
type: decimal
description: order amount before discountЧто использовать на практике
- Храните документацию рядом с кодом модели и проверяйте её наличие в CI.
- Назначайте владельца и дату последней проверки для критичных наборов.
Подводные камни
- Разовая документация. Необновляемый словарь быстро становится опаснее его отсутствия.
- Техническое описание без смысла. Повтор имени столбца не объясняет бизнес-правило.