Перейти к основному содержимому

О dbt Mesh

Организации любого масштаба используют dbt для управления трансформациями данных — от небольших стартапов до крупных корпораций. По мере роста может становиться сложно координировать все организационные и технические требования заинтересованных сторон в рамках одного dbt‑проекта.

До недавнего времени также не существовало полноценного, «первоклассного» способа эффективно управлять зависимостями, управлением (governance) и рабочими процессами между несколькими dbt‑проектами.

Именно здесь появляется Mesh — он дает возможность командам по работе с данными работать независимо и совместно; делиться данными, кодом и лучшими практиками, не жертвуя безопасностью или автономностью.

Mesh — это не отдельный продукт, а паттерн, который становится возможным благодаря сочетанию нескольких возможностей dbt:

  • Межпроектные ссылки - это базовая возможность, которая позволяет развертывать несколько проектов. Вызовы {{ ref() }} теперь работают между проектами dbt на тарифных планах Enterprise и Enterprise+.
  • Catalog - платформа документации dbt на основе метаданных с полной поддержкой отслеживания происхождения данных между проектами.
  • Управление - возможности управления dbt позволяют контролировать доступ к моделям dbt как внутри проектов, так и между ними.
    • Группы - с помощью групп можно объединять узлы DAG в dbt, имеющие логическую связь (например, по функциональной области), и назначать владельца всей группы.
    • Доступ - настройки доступа позволяют контролировать, кто может ссылаться на модели.
    • Версии моделей - при координации работы между проектами и командами мы рекомендуем рассматривать модели данных как стабильные API. Версионирование моделей — это механизм, позволяющий плавно внедрять новые версии моделей и выводить устаревшие из использования по мере их развития.
    • Контракты моделей - контракты данных задают явные требования к структуре данных, чтобы изменения данных в источниках, предшествующих dbt, или в логике проекта не нарушали работу продуктов данных у нижестоящих потребителей.

Когда стоит использовать dbt Mesh?​

Мультипроектная архитектура помогает организациям со зрелыми и сложными процессами трансформации в dbt повысить гибкость и производительность своих dbt‑проектов. Если вы уже используете dbt и ваш проект начал сталкиваться с одним или несколькими из следующих признаков, вероятно, вы готовы начать изучение этого подхода:

  • Количество моделей в проекте начинает ухудшать производительность и замедлять разработку.
  • Команды разработали отдельные рабочие процессы и нуждаются в разделении (decoupling) разработки между собой.
  • Команды сталкиваются с проблемами коммуникации, и надежность некоторых ваших дата‑продуктов начинает снижаться.
  • Требования к безопасности и управлению растут и выиграли бы от более строгой изоляции.

dbt предназначен для согласованного использования перечисленных выше возможностей и упрощения решения этих задач.

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

Для получения дополнительной информации см. FAQ по Mesh.

Нашли ошибку?

0
Loading