Что такое Apache Iceberg?
Apache Iceberg** — это табличный формат для аналитических данных больших объёмов, предназначенный для работы с объектными хранилищами (S3, ADLS, GCS) и HDFS.
Он обеспечивает ACID-транзакции, версионирование и схему таблицы, делая работу с большими таблицами похожей на работу с реляционными базами данных.
Какая главная идетя Apache Iceberg?
Главная идея Iceberg — позволить обрабатывать и управлять большими аналитическими таблицами с ACID-транзакциями, версионированием и безопасными схемами, даже если данные лежат в объектном хранилище.
На замену чему пришел Apache Iceberg?
Iceberg пришёл на смену классической экосистеме Hive/Parquet, которая плохо справлялась с ACID-транзакциями, изменением схем и управлением историей данных в больших таблицах на объектных хранилищах.
Что дает Apache Iceberg?
1) ACID - поддержку транзакций
2) Возможность менять схему таблицы
3) Версионирование данных при помощи снапшотов
4) Партицирование - дает возможность абстрактно партицировать вне зависимости отструктуры папок
5) Predicate Pushdown - перенос where к источнику, что позволяет читать только нужные данные, фильтруя ненужные
Когда использовать Iceberg?
Если таблица большая, меняется, нужны транзакции и версионирование.