Запись в таблицы под управлением Unity Catalog с помощью Starburst

Источник: Starburst•

Запись в таблицы под управлением Unity Catalog с помощью Starburst

Таблицы под управлением Unity Catalog в Databricks позволяют каталогу полностью контролировать состояние транзакций Delta Lake с помощью...

Таблицы под управлением Unity Catalog от Databricks позволяют каталогу полностью контролировать состояние транзакций Delta Lake с помощью управляемых каталогом фиксаций (commits), сохраняя при этом данные в открытом объектном хранилище.

Начиная с версии LTS за август 2026 года, Starburst поддерживает как чтение из таблиц под управлением каталога, так и запись в них. Это означает, что теперь вы можете использовать Unity Catalog для управления данными и таблицами, одновременно задействуя Starburst в качестве высокопроизводительного федеративного SQL-движка для доступа ко всем вашим источникам данных. Эта интеграция стала результатом тесного сотрудничества команд по продуктам и разработке Starburst и Databricks и была совместно представлена на конференции Data + AI Summit в 2025 году.

В этой статье подробно разбирается, что это означает, включая:

  • Что такое таблицы и фиксации под управлением каталога
  • Почему это важно для пользователей Starburst
  • Как они поддерживаются в Starburst Enterprise и Starburst Galaxy
  • Базовая демонстрация для начала работы

Что такое таблицы под управлением каталога?

На верхнем уровне Unity Catalog управляет таблицами Delta. Он делает это тремя различными способами:

  • Внешние таблицы (External tables): данные находятся в вашем собственном объектном хранилище, а Unity Catalog хранит их идентификатор, схему и расположение. Фиксации координируются через файловую систему, как и в традиционных таблицах Delta.
  • Управляемые таблицы (Managed tables): Unity Catalog владеет как данными, так и метаданными таблицы в своем собственном управляемом бакете. Координация фиксаций по-прежнему осуществляется через файловую систему, как и в случае с внешними таблицами.
  • Таблицы под управлением каталога с фиксациями под управлением каталога: управляемые таблицы, но с координацией фиксаций через Unity Catalog. Записывающие клиенты предлагают фиксации в Unity Catalog, который принимает или отклоняет их.

С точки зрения Delta Lake, таблицы под управлением каталога идентифицируются функцией записи/чтения delta.feature.catalogManaged в протоколе Delta, которая устанавливается при создании таблицы в Databricks.

В остальной части этой статьи под «таблицами под управлением каталога» понимается третий тип таблиц. Вы все еще можете встретить старый термин «таблицы, принадлежащие каталогу» (catalog-owned tables) в более ранних обсуждениях и документации. В текущей документации Databricks и Starburst «под управлением каталога» (catalog-managed) является каноническим названием.

Почему таблицы под управлением каталога важны для пользователей Starburst

Unity Catalog позволяет многим организациям стандартизировать управление и контроль доступа. Однако этим организациям также может потребоваться:

  • Выбор вычислительных мощностей: возможность запускать рабочие нагрузки в Starburst, а не только на собственном движке Databricks.
  • Федеративная аналитика: возможность объединять таблицы Delta под управлением каталога с данными в других хранилищах, операционных системах и озерах данных с помощью единого SQL-слоя.
  • Открытое хранилище: включая данные в Amazon S3, ADLS или GCS, которые не заблокированы в проприетарном формате.

Фиксации под управлением каталога позволяют пользователям Databricks управлять таблицами Delta из единого каталога. Starburst развивает это, предоставляя вам:

  • Полный CRUD для управляемых таблиц Delta из Starburst: INSERT, UPDATE, MERGE, DELETE и DROP для совместимых таблиц.
  • Централизованное управление в Unity Catalog с кросс-источниковым SQL в Starburst: поддержка объединений (joins) между Delta, Iceberg, Hive, источниками JDBC и другими.
  • Краткосрочные учетные данные через механизм выдачи учетных данных (credential vending): Starburst никогда не требует долгосрочных ключей доступа к вашим бакетам с данными.

Starburst постоянно инвестирует в коннектор Delta Lake, делая его передовым решением для подобных рабочих нагрузок.

Как Starburst поддерживает таблицы под управлением каталога

В Starburst Enterprise коннектор Delta Lake документирует поддержку фиксаций под управлением каталога, когда Unity Catalog настроен в качестве метастора на AWS, Azure или Google Cloud.

Вот как выглядит совместимость Starburst для каждого типа таблиц:

  • Внешние таблицы и таблицы под управлением каталога: INSERT, UPDATE, MERGE, DELETE, DROP, SELECT
  • INSERT, UPDATE, MERGE, DELETE, DROP, SELECT
  • Управляемые таблицы: Только чтение
  • Только чтение

Таким образом, таблицы под управлением каталога — это тот тип управляемых таблиц, на который следует ориентироваться, если вам нужна управляемая запись как из Databricks, так и из Starburst.

Краткий обзор архитектуры

Когда вы запрашиваете таблицу под управлением каталога из Starburst:

  • Starburst использует REST API Unity Catalog в качестве метастора. Он разрешает метаданные таблицы, расположения и идентификаторы таблиц для таблиц Delta под управлением каталога.
  • Для доступа к данным Starburst полагается на: механизм выдачи учетных данных Unity Catalog для запроса краткосрочных учетных данных, ограниченных идентификатором таблицы или внешним расположением; базовый лог Delta и файлы данных в S3, ADLS или GCS.
  • Механизм выдачи учетных данных Unity Catalog для запроса краткосрочных учетных данных, ограниченных идентификатором таблицы или внешним расположением
  • Базовый лог Delta и файлы данных в S3, ADLS или GCS
  • Когда вы выполняете запись (INSERT, UPDATE, MERGE, DELETE), Starburst: записывает данные и фрагменты лога в правильные места хранения; взаимодействует с логикой фиксации Unity Catalog для завершения транзакции.
  • Записывает данные и фрагменты лога в правильные места хранения
  • Взаимодействует с логикой фиксации Unity Catalog для завершения транзакции

Такой дизайн сохраняет управление и полномочия по фиксации в Unity Catalog, в то время как Starburst фокусируется на планировании запросов, федерации и производительности.

Поддержка таблиц под управлением каталога в Starburst Enterprise

1. Настройте Unity Catalog в качестве метастора

Сначала настройте свой каталог Delta Lake Unity в Starburst Enterprise для взаимодействия с Unity Catalog.

Добавьте это в конфигурацию вашего каталога, чтобы позволить Starburst распознавать таблицы под управлением каталога и записывать в них.

2. Создайте таблицы под управлением каталога в Databricks

На стороне Databricks создайте таблицы под управлением каталога с включенной функцией delta.feature.catalogManaged.

На сегодняшний день Starburst ожидает следующие свойства:

  • delta.feature.catalogManaged = 'supported'
  • delta.enableRowTracking = 'false'
  • delta.checkpointPolicy = 'classic'

Databricks по умолчанию включает некоторые расширенные функции (отслеживание строк, контрольные точки v2, метаданные домена) для таблиц под управлением каталога, которые внешние движки пока не поддерживают в полной мере.

По мере того как Databricks развивает эти настройки по умолчанию и стороннюю поддержку, Starburst будет отслеживать изменения. Всегда проверяйте последнюю документацию по коннектору Delta Lake Unity на предмет рекомендаций по обновленным свойствам таблиц.

3. Проверьте чтение и запись из Starburst

Как только Unity Catalog настроен и таблицы под управлением каталога существуют, вы можете работать с ними из Starburst Enterprise так же, как и с любым другим каталогом Delta:

Эти операции регулируются политиками Unity Catalog, но выполняются через Starburst, обеспечивая вам управление в соответствии с Databricks, а также федерацию и производительность уровня Starburst.

Использование таблиц под управлением каталога из Starburst Galaxy

Starburst Galaxy поддерживает Unity Catalog в качестве метастора, включая чтение и запись в таблицы под управлением каталога через тип каталога Unity в пользовательском интерфейсе Galaxy.

Для начала работы:

  • В Starburst Galaxy перейдите в Data → Catalogs → Create catalog.
  • Выберите Unity в качестве источника данных и выберите своего облачного провайдера.
  • Укажите данные для подключения к Unity Catalog (хост, токен, имя каталога) и протестируйте соединение.
  • Прикрепите каталог к кластеру и установите соответствующие разрешения.
  • В редакторе запросов Galaxy выполняйте операции SELECT, INSERT, UPDATE, MERGE и DELETE для ваших таблиц Unity Catalog, включая таблицы под управлением каталога.

Управление остается в Unity Catalog, а Galaxy берет на себя вычисления и федерацию.

Когда использовать управляемые каталогом таблицы, а когда — внешние

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

Используйте управляемые каталогом таблицы, если:

  • Вы хотите, чтобы Unity Catalog полностью управлял жизненным циклом таблиц и фиксацией изменений (commits).
  • Вы планируете использовать сочетание Databricks и Starburst для одних и тех же логических таблиц в рамках единого управления.
  • Вам нужна более тесная интеграция с механизмом предоставления учетных данных (credential vending) Unity и контролем доступа на основе идентификаторов таблиц.

Используйте внешние таблицы, если:

  • Вы мигрируете из существующей структуры Delta и хотите внести минимум изменений в организацию данных.
  • Вам нужен детальный контроль над расположениями, префиксами и псевдонимами бакетов.
  • Вы в основном используете Starburst в качестве вычислительного движка, а Unity — как уровень метаданных и политик поверх данных, управляемых извне.

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

Почему важны управляемые каталогом таблицы Starburst

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

Благодаря поддержке записи для этих таблиц, Starburst позволяет:

  • Сохранять Unity Catalog в качестве единственного источника достоверных данных для управления и метаданных
  • Выполнять высокопроизводительный федеративный SQL в Delta и десятках других систем
  • Поддерживать открытые форматы данных в объектном хранилище с использованием кратковременных учетных данных с ограниченной областью действия через механизм предоставления учетных данных Unity

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

Хотите узнать больше о совместимости Starburst и Databricks? Читайте подробнее здесь.

О чём эта статья