# О Lake Compute [Закрытая бета-версия](https://docs.getdbt.tech/docs/dbt-versions/product-lifecycles "Подробнее о статусе или тарифе")

Lake Compute находится на стадии закрытого бета-тестирования

Чтобы запросить доступ или поддержку региона, заполните [форму регистрации Lake Compute](https://docs.google.com/forms/d/e/1FAIpQLSdWXHU3VFqq1t8GVAA2BMfY_AfeVJH26OXJFlNwXiVv4pcuXQ/viewform). Lake Compute активно разрабатывается и может изменяться. Возможны изменения, нарушающие обратную совместимость; документация может быть неполной, а техническая поддержка — ограниченной. На период бета-тестирования соглашение об уровне обслуживания не распространяется. Ознакомьтесь с [ограничениями закрытого бета-тестирования](https://docs.getdbt.tech/docs/lake-compute.md#private-beta-limitations), прежде чем планировать использование Lake Compute в реальных задачах.

Lake Compute — это размещаемый в облаке бессерверный вычислительный движок для выполнения моделей dbt. Он работает на базе DuckDB и Apache Iceberg и предназначен для задач преобразования данных, которым не требуются все возможности или масштаб распределённого облачного хранилища данных.

Lake Compute поддерживает два варианта выполнения:

1. В качестве вспомогательного движка («sidecar») наряду с существующим хранилищем данных, например Snowflake или Databricks. Вы можете выбирать движок выполнения отдельно для каждой модели, сохраняя единый проект dbt, единый DAG и единый граф `ref`.
2. В качестве основного вычислительного адаптера для новых проектов dbt совместно с каталогом Iceberg (например, Fivetran MDLS).

Lake Compute не предназначен для полной замены облачного хранилища данных и не является универсальным движком запросов. Используйте Lake Compute только для преобразований dbt. Задачи, которым необходимы большое число одновременных запросов, подключение BI-инструментов, расширенные возможности хранилища данных (например, функции ML или AI) или распределённые вычисления, оставляйте в основном хранилище данных.

## Зачем использовать Lake Compute

Свобода выбора и гибкость. Более простые и небольшие преобразования можно выполнять в Lake Compute, а хранилище данных остаётся доступным для задач, которым необходимы распределённая обработка, большое число одновременных запросов, проприетарные функции или расширенная аналитика. Lake Compute всегда читает и записывает данные в формате таблиц Iceberg, поэтому к работе легко подключать другие вычислительные движки.

## Предварительные требования

Для настройки Lake Compute вам понадобятся:

* Участие в закрытом бета-тестировании Lake Compute. Запросите доступ через [форму регистрации Lake Compute](https://docs.google.com/forms/d/e/1FAIpQLSdWXHU3VFqq1t8GVAA2BMfY_AfeVJH26OXJFlNwXiVv4pcuXQ/viewform). Вкладка **Compute** не появится в вашем целевом подключении MDLS, пока ваша учётная запись не будет включена в программу тестирования.
* Учётная запись Fivetran. Вы можете создать новую учётную запись Fivetran и пользоваться ею неограниченное время, поскольку плата за MDLS и Lake Compute пока не взимается; либо опробовать полный набор возможностей (включая коннекторы) в течение 14 дней.
* Существующее целевое подключение Fivetran Managed Data Lake Service (MDLS), включающее каталог MDLS Iceberg (Polaris) и бакет Amazon S3, уже находящееся в поддерживаемом регионе AWS, либо новое подключение с бакетом в поддерживаемом регионе AWS. Lake Compute, ваш бакет и (при использовании Lake Compute в режиме «sidecar») ваши основные данные должны находиться в одном регионе. В настоящее время Lake Compute поддерживает регионы AWS `us-east-1` и `us-west-2`. Если вам нужен регион, которого нет в списке, заполните [форму регистрации](https://docs.google.com/forms/d/e/1FAIpQLSdWXHU3VFqq1t8GVAA2BMfY_AfeVJH26OXJFlNwXiVv4pcuXQ/viewform), чтобы запросить его поддержку.
* Разрешения на настройку необходимого облачного хранилища, интеграции с каталогом, доступа к хранилищу данных, аутентификации и, где применимо, списков разрешённых адресов в сетевых политиках.

После завершения настройки вам понадобится проект dbt, работающий на **dbt v2**. Также потребуется время, чтобы определить подходящие модели, при необходимости адаптировать SQL и проверить результаты.

### Поддерживаемые хранилища данных

Snowflake — единственное хранилище данных, поддерживаемое во время закрытого бета-тестирования. Предварительная поддержка Databricks доступна ограниченному числу партнёров, участвующих в разработке продукта. Чтобы опробовать Lake Compute с Databricks, заполните [форму регистрации Lake Compute](https://docs.google.com/forms/d/e/1FAIpQLSdWXHU3VFqq1t8GVAA2BMfY_AfeVJH26OXJFlNwXiVv4pcuXQ/viewform) и укажите Databricks в качестве своей платформы.

В режиме «sidecar» Lake Compute работает параллельно с вашим хранилищем данных, читая данные из его управляемого каталога Iceberg (Snowflake Horizon или Databricks Unity) и записывая или передавая результаты обратно в этот каталог.

### Необходимые разрешения

Для настройки необходимы разрешения на следующие действия:

* Создание бакета облачного хранилища
* Создание или настройка целевого подключения MDLS в вашей учётной записи Fivetran

В зависимости от вашего хранилища данных также может потребоваться:

* Настроить интеграцию с каталогом хранилища данных и предоставить доступ к ней пользователю или роли, от имени которых запускается dbt
* Настроить аутентификацию по паре ключей или другой необходимый способ программной аутентификации
* Разрешить исходящий трафик Lake Compute, если в вашей учётной записи хранилища данных применяются сетевые политики

Для Snowflake некоторые шаги настройки требуют роли `ACCOUNTADMIN` или эквивалентных делегированных привилегий, например `NETWORK_ADMIN` для изменения сетевых политик. Всегда обращайтесь к [актуальному руководству по настройке](https://docs.getdbt.tech/docs/lake-compute/compute-onboarding.md): оно могло измениться с момента первоначальной настройки Lake Compute.

### Обязательная переменная окружения

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

```bash
export DBT_ENGINE_EXPERIMENTAL_MULTI_ADAPTER=true
```

Одна переменная управляет доступностью всех способов выбора адаптера:

| Что управляется переменной           | Примечания                                                                                                                                                          |
| ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `type: lakecompute` в `profiles.yml` | Требуется **как** для режима «sidecar», **так и** для использования Lake Compute в качестве адаптера по умолчанию                                                   |
| Конфигурация `adapter` для узла      | Применяется к моделям, seeds, снимкам, анализам, функциям и тестам данных. Пока функция отключена, dbt не допускает **никаких** значений, а не только `lakecompute` |
| Флаг командной строки `--adapter`    | —                                                                                                                                                                   |

Для dbt platform задайте эту переменную в качестве переменной окружения для соответствующей среды. См. [Подключение к Lake Compute](https://docs.getdbt.tech/docs/lake-compute/compute-onboarding.md#dbt-platform).

## Ограничения закрытого бета-тестирования

Во время закрытого бета-тестирования следующие возможности не поддерживаются или намеренно ограничены:

* Проекты, работающие на dbt v1
* Доступ по JDBC или ODBC и прямые подключения BI-инструментов.
* Управление доступом на основе ролей (RBAC) для таблиц Iceberg в MDLS, записанных Lake Compute.
* Встроенные в хранилище данных SQL-функции AI и другие проприетарные возможности хранилища.
* Автоматическое преобразование диалектов SQL.
* Распределённое или многоузловое выполнение.
* Соединения двух больших наборов данных и другие задачи, требующие распределённой обработки.
* Хранилища GCP и Azure.
* Интеграция с BigQuery.
* Регионы AWS, отличные от регионов, которые в настоящее время поддерживаются в бета-версии.

Со временем могут появиться дополнительные возможности и регионы, но пункты плана развития и указанные в нём сроки не являются обязательствами.

### Какие возможности фреймворка dbt поддерживает Lake Compute во время закрытого бета-тестирования?

Вы можете:

* Создавать модели dbt с простыми материализациями:

  * `table` — используется по умолчанию
  * `incremental` с `incremental_strategy: append` или `insert_overwrite` (совместно с `partition_by`)

* Использовать модели `ephemeral`

* Выполнять тесты данных с помощью Lake Compute для моделей, созданных с помощью Lake Compute

* Просматривать предварительные результаты с помощью `dbt show`

  * `dbt show --select MODEL_NAME --adapter lakecompute`
  * `dbt show --inline SQL_QUERY --adapter lakecompute`

Пока не поддерживаются:

* Материализация `view`
* Выдача прав доступа
* `persist_docs`
* Хуки pre-hook / post-hook
* Модульные тесты

## Связанная документация

* [Настройка Lake Compute](https://docs.getdbt.tech/docs/lake-compute/compute-onboarding.md)
* [Часто задаваемые вопросы о Lake Compute](https://docs.getdbt.tech/docs/lake-compute/compute-faq.md)
