Введение в dbt Mesh
Что такое dbt Mesh?
Организации всех размеров полагаются на dbt для управления преобразования ми данных, от небольших стартапов до крупных предприятий. В масштабах может быть сложно координировать все организационные и технические требования, предъявляемые вашими заинтересованными сторонами, в рамках одного проекта dbt.
До настоящего времени не существовало полноценного способа эффективно управлять зависимостями, управлением и рабочими процессами между несколькими проектами dbt.
Здесь на помощь приходит dbt Mesh — он позволяет командам по работе с данными работать независимо и совместно; делиться данными, кодом и лучшими практиками, не жертвуя безопасностью или автономией.
Это руководство проведет вас через концепции и детали реализации, необходимые для начала работы. dbt Mesh — это не отдельный продукт, а паттерн, который становится возможным благодаря слиянию нескольких функций в dbt:
- Кросс-проектные ссылки — это основная функция, которая позволяет развертывать несколько проектов.
{{ ref() }}
теперь работает между проектами dbt Cloud на корпоративных планах. - dbt Explorer — платформа документации dbt Cloud, основанная на метаданных, с полной кросс-проектной родословной.
- Управление — функции управления dbt позволяют управлять доступом к вашим моделям dbt как внутри, так и между проектами.
- Группы — с помощью групп вы можете организовать узлы в вашем dbt DAG, которые имеют логическую связь (например, по функциональной области) и назначить владельца всей группы.
- Доступ — конфигурации доступа позволяют контролировать, кто может ссылаться на модели.
- Версии моделей — при координации между проектами и командами мы рекомендуем рассматривать ваши модели данных как стабильные API. Версионирование моделей — это механизм, позволяющий плавно принимать и устаревать модели по мере их развития.
- Контракты моделей — контракты данных устанавливают четкие ожидания относительно формы данных, чтобы изменения данных выше по потоку dbt или в логике проекта не нарушали работу продуктов данных потр ебителей ниже по потоку.
Когда стоит использовать dbt Mesh?
Многопроектная архитектура помогает организациям с зрелыми, сложными рабочими процессами преобразования в dbt повысить гибкость и производительность своих проектов dbt. Если вы уже используете dbt и ваш проект начал испытывать что-либо из следующего, вы, вероятно, готовы начать изучать эту парадигму:
- Количество моделей в вашем проекте ухудшает производительность и замедляет разработку.
- Команды разработали отдельные рабочие процессы и нуждаются в разделении разработки друг от друга.
- Команды испытывают проблемы с коммуникацией, и надежность некоторых ваших продуктов данных начала ухудшаться.
- Требования к безопасности и управлению увеличиваются и выиграют от увеличенной изоляции.
dbt Cloud предназначен для координации вышеуказанных функций и упрощения сложности для решения этих проблем.
Если вы только начинаете свой путь с dbt, не беспокойтесь о создании многопроектной архитектуры сразу. Вы можете постепенно внедрять функции из этого руководства по мере роста. Набор функций эффективно работает как независимые инструменты. Ознакомление с инструментами и функциями, которые составляют многопроектную архитектуру, и тем, как они могут применяться в вашей организации, поможет вам принимать более обоснованные решения по мере роста.
Для получения дополнительной информации обратитесь к Часто задаваемым вопросам о dbt Mesh.
Цели обучения
- Понять цель и компромиссы построения многопроектной архитектуры.
- Развить интуицию для различных паттернов dbt Mesh и того, как спроектировать многопроектную архитектуру для вашей организации.
- Установить рекомендуемые шаги для постепенного внедрения этих паттернов в вашу реализацию dbt.