Мониторинг затрат на исходящий трафик OpenSharing и управление ими (для поставщиков)

На этой странице описаны средства, которые можно использовать для мониторинга и управления затратами на исходящий трафик облачного провайдера при обмене данными и ИИ-ресурсами с помощью OpenSharing.

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

Если вы используете SecureConnect, Azure Databricks выставляет счета за передачу данных, а не поставщик облачных служб.

Для мониторинга и управления расходами на исходящий трафик платформа Databricks предоставляет:

Репликация данных, чтобы избежать затрат на исходящий трафик

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

Использование разностного глубокого клонирования для добавочной репликации

Поставщики могут использовать DEEP CLONE для репликации таблиц Delta во внешние местоположения в регионах, к которым они имеют общий доступ. Глубокие клоны копируют данные исходной таблицы и метаданные в целевой объект клонирования. Глубокие клоны также обеспечивают добавочные обновления, определяя новые данные в исходной таблице и обновляя целевой объект соответствующим образом.

CREATE TABLE [IF NOT EXISTS] table_name DEEP CLONE source_table_name
   [TBLPROPERTIES clause] [LOCATION path];

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

CREATE OR REPLACE TABLE table_name DEEP CLONE source_table_name;

См. Клонирование таблицы в Azure Databricks и Задания Lakeflow.

Включение функции передачи данных об изменениях (CDF) в общих таблицах для поэтапной репликации.

При совместном использовании таблицы с CDF получатель может получить доступ к изменениям и объединить их в локальную копию таблицы, где пользователи выполняют запросы. В этом сценарии доступ получателя к данным не пересекает границы региона, а исходящий трафик ограничен обновлением локальной копии. Если получатель находится в Databricks, он может использовать задание рабочего процесса Databricks для распространения изменений в локальную реплику.

Чтобы предоставить общий доступ к таблице с CDF, необходимо активировать CDF на таблице и затем поделиться ею WITH HISTORY.

Дополнительные сведения об использовании CDF см. в разделе Использование потока данных изменений в Azure Databricks и Добавление таблиц в общий ресурс.

Используйте реплики Cloudflare R2 или мигрируйте хранилище в R2

Хранилище объектов Cloudflare R2 не несет платы за исходящий трафик. Репликация или перенос данных, которыми вы делитесь, в R2 позволяет делиться данными с помощью OpenSharing без платы за исходящий трафик. Однако это не относится к просмотру общего доступа, что может по-прежнему привести к затратам на исходящий трафик. В этом разделе описывается, как реплицировать данные в местоположение R2 и включить пошаговые обновления на основе исходных таблиц.

Requirements

  • Рабочая область Databricks активирована для каталога Unity.
  • Databricks Runtime 14.3 или более поздней версии или хранилище SQL 2024.15 или более поздней версии.
  • Учетная запись Cloudflare. См. https://dash.cloudflare.com/sign-up.
  • Роль администратора Cloudflare R2. См. документацию по ролям Cloudflare.
  • CREATE STORAGE CREDENTIAL привилегии на хранилище метаданных Unity Catalog, подключенное к рабочей области. Администраторы учетных записей и администраторы хранилища метаданных имеют эту привилегию по умолчанию.
  • CREATE EXTERNAL LOCATION привилегия как для метахранилища, так и для учетных данных хранилища, на которые ссылается внешнее местоположение. Администраторы хранилища метаданных имеют эту привилегию по умолчанию.
  • CREATE MANAGED STORAGE привилегии во внешнем расположении.
  • CREATE CATALOG в хранилище метаданных. Администраторы хранилища метаданных имеют эту привилегию по умолчанию.

Ограничения для Cloudflare R2

Поставщики не могут совместно использовать таблицы R2, использующие ликвидную кластеризацию и контрольную точку версии 2.

Подключение контейнера R2 в качестве внешнего расположения в Azure Databricks

  1. Создайте контейнер Cloudflare R2.

    См. шаг 1. Настройка контейнера R2.

  2. Создайте учетные данные хранения в каталоге Unity, который предоставляет доступ к контейнеру R2.

    См. шаг 2. Создание учетных данных хранилища.

  3. Используйте данные доступа к хранилищу для создания внешнего расположения в каталоге Unity.

    См. шаг 3. Создание внешнего расположения.

Создайте новый каталог, используя внешнее расположение

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

См. Создание каталогов.

При создании каталога выполните следующие действия.

Обозреватель каталогов

  • Выберите тип каталога standard.
  • В разделе расположение хранилищавыберите Выберите расположение хранилища и введите путь к контейнеру R2, определенному как внешнее расположение. Например: r2://mybucket@my-account-id.r2.cloudflarestorage.com

SQL

Используйте путь к контейнеру R2, указанному как внешнее расположение. Рассмотрим пример.

  CREATE CATALOG IF NOT EXISTS my-r2-catalog
    MANAGED LOCATION 'r2://mybucket@my-account-id.r2.cloudflarestorage.com'
    COMMENT 'Location for managed tables and volumes to share using Delta Sharing';

Скопируйте данные, которые вы хотите поделиться, в таблицу в новом каталоге.

Используйте DEEP CLONE для репликации таблиц в Azure Data Lake Storage в новый каталог, использующий R2 для управляемого хранилища. Глубокие клоны копируют данные исходной таблицы и метаданные в целевой объект клонирования. Глубокие клоны также обеспечивают добавочные обновления, определяя новые данные в исходной таблице и обновляя целевой объект соответствующим образом.

CREATE TABLE IF NOT EXISTS new_catalog.schema1.new_table DEEP CLONE old_catalog.schema1.source_table
  LOCATION 'r2://mybucket@my-account-id.r2.cloudflarestorage.com';

Можно запланировать задание Databricks для инкрементного обновления данных целевой таблицы с последними изменениями в исходной таблице, используя следующую команду:

CREATE OR REPLACE TABLE new_catalog.schema1.new_table DEEP CLONE old_catalog.schema1.source_table;

См. Клонирование таблицы в Azure Databricks и Задания Lakeflow.

Поделитесь новой таблицей

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

См. статью "Создание общих папок" для OpenSharing.