Поддержка Snowflake для Apache Iceberg переходит на GA

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

В последнее время много разговоров вокруг Apache Iceberg. Что же делает его таким особенным?

Предприятия часто выходят за рамки реляционных хранилищ данных и размещают данные в объектных хранилищах, подходящих для их озер данных. Если вы используете Amazon S3 в качестве базового объектного хранилища, вы можете хранить на нем практически любые объемы данных, вплоть до экзабайтов. Iceberg - это спецификация формата открытых таблиц, которая позволяет запрашивать данные S3 как таблицы SQL.

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

  • ACID (атомарность, согласованность, изоляция, долговечность) транзакций.
  • эволюция схемы
  • Скрытое разбиение
  • снимки таблиц

Примером из Postgres, который изначально не может работать с такими форматами, является расширение pg_lakehouse, которое позволяет Postgres работать с Iceberg, взяв на себя роль DuckDB. DuckDB - это, конечно же, альтернатива SQLite для аналитических нагрузок; локальная первая, встраиваемая и подходящая для работы с наукой о данных.

С помощью pg_lake PostgreSQL получает возможность использовать высокопроизводительный аналитический механизм запросов.
Запросы передаются в DuckDB для обработки таких данных, как события, метрики, исторические снимки, данные о поставщиках, но это только одна часть уравнения - механизм запросов. Другая - это возможность получать данные из внешних хранилищ объектов, таких как S3, и таблиц в форматах Iceberg или Delta Lake.

Теперь настала очередь Snowflakes тоже перейти на Iceberg. Для этого файлы, совместимые с Iceberg, рассматриваются как таблицы Snowflake и предоставляют возможность напрямую взаимодействовать с базовыми данными. Таблицы Iceberg сочетают в себе производительность и семантику запросов обычных таблиц Snowflake с внешним облачным хранилищем, которым управляют клиенты. Поэтому они считаются идеальным решением для существующих озер данных, которые клиенты не могут или не хотят хранить в Snowflake; Snowflake в этом случае подключается к вашему хранилищу с помощью внешнего тома, а таблицы Iceberg не требуют затрат на хранение данных в Snowflake.

Чтобы создать таблицу Iceberg, сначала создается внешний том, на который делается ссылка в операторе CREATE таблицы.

CREATE OR REPLACE ICEBERG TABLE customer_iceberg (
c_custkey INTEGER,
c_name STRING,
c_address STRING,
c_nationkey INTEGER,
c_phone STRING,
c_acctbal INTEGER,
c_mktsegment STRING,
c_comment STRING
)
CATALOG='SNOWFLAKE'
EXTERNAL_VOLUME='iceberg_lab_vol'
BASE_LOCATION='';

После этого вы сможете выполнять над ним операции Sql DML.

Хотя добавление Iceberg является нововведением, впереди еще много работы, о которой говорится в дорожной карте:

  • Интеграция каталога Polaris: Каталог Apache Iceberg с открытым исходным кодом, основанный на открытой реализации REST API, будет способствовать устранению изолированности данных.
  • Более глубокая интеграция OneLake: Fabric OneLake будет использовать Iceberg для обеспечения двунаправленного доступа.
  • Более простые конвейеры пакетной и потоковой обработки данных для Iceberg: Динамические таблицы - очень популярная возможность в платформе Snowflake. Поддержка Iceberg в качестве формата хранения динамических таблиц упростит обработку данных в озерах данных.
  • Оптимизированная интеграция каталогов: Автоматическое обновление таблиц Iceberg упрощает и оптимизирует интеграцию Snowflake с таблицами Iceberg, управляемыми извне.
  • Гибкие источники: Решения, не создающие сложностей, являются ключевыми для начала работы с таблицами Iceberg в Snowflake. Прямые» предложения для Parquet и Delta Lake (в настоящее время они находятся в стадии частного предварительного просмотра) предоставляют возможность доступа к данным на месте, без необходимости загружать их в Snowflake.

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

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

Поддержка Snowflake для Apache Iceberg переходит на GA
Понравилась новость? Тогда не забудь оставить свой комментарий.
А так же, добавь наш сайт в закладки (нажми Ctrl+D), не теряй нас.
30 августа 2024 г.
93

Комментарии

Оставить комментарий:
* отправляя форму, я даю согласие на обработку персональных данных

Читайте еще

Продолжаем добавлять языки программирования для Вас.
Впереди много интересного!

Только свежие новости программирования и технологий каждый день.

Свежие посты