# О подключениях к платформам данных

Платформа dbt

dbt platform может подключаться к платформам данных различных поставщиков.

(Версии dbt: v2.0 и новее)

Для большинства поддерживаемых платформ данных мы рекомендуем версию v2, которая поддерживает следующие платформы данных:

| Подключение                                                                                          | Доступно в v2        |
| ---------------------------------------------------------------------------------------------------- | -------------------- |
| [Snowflake](https://docs.getdbt.tech/docs/platform/connect-data-platform/connect-snowflake.md)      | ✅                   |
| [Amazon Redshift](https://docs.getdbt.tech/docs/platform/connect-data-platform/connect-redshift.md) | ✅                   |
| [Databricks](https://docs.getdbt.tech/docs/platform/connect-data-platform/connect-databricks.md)    | ✅                   |
| [Google BigQuery](https://docs.getdbt.tech/docs/platform/connect-data-platform/connect-bigquery.md) | ✅                   |
| [ClickHouse](https://docs.getdbt.tech/docs/platform/connect-data-platform/connect-clickhouse.md)    | Закрытая бета-версия |

*Жизненный цикл адаптера может различаться для dbt platform и локальной разработки — адаптер может стать общедоступным (GA) на платформе dbt раньше, чем для локального использования.*

<br />

<br />

Если вашей платформы данных пока нет в списке, со временем будет добавлена поддержка других платформ данных. Пока вы можете продолжать использовать v1 для этого проекта.

## Подключите свою платформу данных в dbt

Чтобы подключиться к вашей базе данных в dbt:

1. Нажмите на имя вашей учетной записи внизу левого меню и выберите **Account settings**.
2. Выберите **Connections** в верхней левой части экрана, затем нажмите **New connection**.

[![Выберите подключение](/img/docs/connect-data-platform/choose-a-connection.png?v=2 "Выберите подключение")](#)Выберите подключение

Эти инструкции по подключению описывают базовые поля, необходимые для настройки соединения с платформой данных в dbt. Более подробные руководства, включающие демонстрационные данные проекта, см. в наших [Quickstart guides](https://docs.getdbt.tech/guides.md).

### Поддерживаемые методы аутентификации

В следующих таблицах показано, какие типы аутентификации поддерживаются для каждого подключения, доступного в dbt platform:

(Версии dbt: v2.0 и новее)

| Интеграция | Учетные данные/токен пользователя | Учетные данные сервисного аккаунта | OAuth хранилища данных для пользователей | Внешний OAuth для пользователей | OAuth между сервисами | Пара ключей | MFA | SSH | Поддержка частных подключений\*\* |
| ---------- | --------------------------------- | ---------------------------------- | ---------------------------------------- | ------------------------------- | --------------------- | ----------- | --- | --- | --------------------------------- |
| Snowflake  | ✅                                | ✅                                 | ✅                                       | ✅                              | ❌                    | ✅          | ✅  | ❌  | ✅                                |
| BigQuery   | ✅                                | ✅                                 | ✅                                       | ✅                              | ❌                    | ❌          | ❌  | ❌  | ✅                                |
| Databricks | ✅                                | ✅                                 | ✅                                       | ❌                              | ❌                    | ❌          | ❌  | ❌  | ✅                                |
| Redshift   | ✅                                | ❌                                 | ❌                                       | ❌                              | ❌                    | ❌          | ❌  | ❌  | ✅                                |
| ClickHouse | ✅                                | ❌                                 | ❌                                       | ❌                              | ❌                    | ❌          | ❌  | ❌  | ❌                                |

\*\* Частные подключения поддерживаются только для определенных облачных провайдеров и типов развертывания. Подробнее см. в [документации по частным подключениям](https://docs.getdbt.tech/docs/platform/secure/private-connectivity/private-connectivity.md).

## Управление подключениями

Подключения к хранилищам данных — это ресурс уровня аккаунта. Вы можете найти их в разделе **Account settings** > **Connections**.

Подключения к хранилищу данных можно повторно использовать в разных проектах. Если несколько проектов подключаются к одному и тому же хранилищу данных, следует повторно использовать одно и то же подключение, чтобы упростить управление. Подключения назначаются проекту через [окружение](https://docs.getdbt.tech/docs/dbt-platform-environments.md).

[![Модель подключений](/img/docs/dbt-platform/platform-configuring-dbt-platform/connections-new-model.png?v=2 "Модель подключений")](#)Модель подключений

Как показано на изображении, проект с 2 средами может использовать от 1 до 2 различных подключений. Если вы хотите отделить вашу производственную среду от непроизводственной, назначьте несколько подключений одному проекту.

### Миграция с подключений уровня проекта на подключения уровня аккаунта

Внедрение подключений уровня аккаунта не потребует никаких перерывов в работе ваших текущих сценариев использования (Studio IDE, CLI, jobs и так далее).

Почему меня просят настроить среду разработки?

Если в вашем проекте ранее не было среды разработки, вы можете быть перенаправлены на страницу настройки проекта. Ваш проект все еще в целости. Выберите подключение для вашей новой среды разработки, и вы сможете снова просмотреть все ваши среды.

Однако, чтобы полностью использовать преимущества подключений на уровне учетной записи, вам, возможно, придется пересмотреть, как вы назначаете и используете подключения в проектах и средах.

[![Типичная конфигурация подключений после внедрения](/img/docs/dbt-platform/platform-configuring-dbt-platform/connections-post-rollout.png?v=2 "Типичная конфигурация подключений после внедрения")](#)Типичная конфигурация подключений после внедрения

Пожалуйста, рассмотрите следующие действия, так как шаги, которые вы предпримете, будут зависеть от желаемого результата.

* Первоначальная очистка списка подключений

  * Удалите неиспользуемые подключения с 0 средами.
  * Переименуйте подключения с временной, описательной схемой именования, чтобы лучше понять, где каждое используется

[![После первоначальной очистки](/img/docs/dbt-platform/platform-configuring-dbt-platform/connections-post-rollout-2.png?v=2 "После первоначальной очистки")](#)После первоначальной очистки

* Детализация подключений

  * Определите намерение для каждого подключения, обычно это комбинация экземпляра хранилища/базы данных, предполагаемого использования (разработка, производство и т.д.) и административной поверхности (какие команды/проекты будут нуждаться в совместной работе над подключением)
  * Стремитесь минимизировать необходимость локальных переопределений (например, расширенных атрибутов)
  * Придите к консенсусу по поводу соглашения об именах. Мы рекомендуем называть подключения по имени хоста сервера и отличительным намерением/доменом/конфигурацией. Так будет легче повторно использовать подключения в разных проектах

[![Детализация определена](/img/docs/dbt-platform/platform-configuring-dbt-platform/connections-post-rollout-3.png?v=2 "Детализация определена")](#)Детализация определена

* Дедупликация (список подключений + детали среды — пока не касаясь расширенных атрибутов)

  * На основе детализации ваших подключений определите, какие подключения должны остаться среди групп дубликатов, и обновите каждую соответствующую среду, чтобы использовать это подключение
  * Удаляйте неиспользуемые подключения с 0 средами по мере продвижения
  * Дедуплицируйте вдумчиво. Если вы хотите, чтобы подключения поддерживались двумя разными группами пользователей, вы можете сохранить два идентичных подключения к одному и тому же хранилищу, чтобы каждое могло развиваться так, как считает нужным, без влияния на другую группу
  * Не обновляйте расширенные атрибуты на этом этапе

[![Дубликаты подключений удалены](/img/docs/dbt-platform/platform-configuring-dbt-platform/connections-post-rollout-4.png?v=2 "Дубликаты подключений удалены")](#)Дубликаты подключений удалены

* Нормализация

  * Разберитесь, как следует создавать новые подключения, чтобы избежать локальных переопределений. Если в настоящее время вы используете extended attributes для переопределения экземпляра хранилища данных в production‑окружении, вместо этого следует создать новое подключение для этого экземпляра и привязать к нему production‑окружение, устранив необходимость в локальных переопределениях.
  * Создайте новые подключения, обновите соответствующие окружения для использования этих подключений, удалив ставшие ненужными локальные переопределения (возможно, не все!)
  * Протестируйте новую связку, запустив jobs или начав сессии в Studio IDE

[![Подключения нормализованы](/img/docs/dbt-platform/platform-configuring-dbt-platform/connections-post-rollout-5.png?v=2 "Подключения нормализованы")](#)Подключения нормализованы

## Ограничения по IP

dbt всегда будет подключаться к вашей платформе данных с IP-адресов, указанных на странице [Регионы и IP-адреса](https://docs.getdbt.tech/docs/platform/about-platform/access-regions-ip-addresses.md).

Убедитесь, что вы разрешили трафик с этих IP-адресов в вашем файрволе и включили их в любые предоставления базы данных.

Разрешение этих IP-адресов обеспечивает только подключение к вашему data warehouse. Однако вам может потребоваться отправлять API-запросы из вашей сети с ограниченным доступом к API dbt. Для использования API dbt необходимо разрешить доступ к поддомену `cloud.getdbt.com`. Подробнее об архитектуре dbt см. в разделе [Архитектура развёртывания](https://docs.getdbt.tech/docs/platform/about-platform/architecture.md).
