РАЗРАБОТКА

Apache Iceberg разработал универсальные индексы для открытых форматов

Регулярное обновление Apache Iceberg: сообщество обсуждает создание универсальных индексов для повышения эффективности работы с данными.

✍️ Редакция iTech News | 12.04.2026 | ⏱ 2 мин | 👁 2 | Источник: DEV Community
Apache Iceberg вводит универсальные индексы для открытых форматов

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

Что такое вторичные индексы

Цель сообщества не просто добавить один индекс, а создать универсальную основу для всей системы индексов. Разработчики сейчас стандартизируют такие аспекты, как жизненный цикл индексов и API для каталога. Первым кандидатом на реализацию станет индекс Bloom filter skipping, который не требует изменений в процессе записи и предлагает четкие семантики корректности.

Зачем нужны индексы в Iceberg

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

  • Фильтрация по разделам: Запросы сканируют только эти в совпадающих разделах.
  • Статистика файлов: Каждый файл отслеживает минимальные и максимальные значения, что позволяет избежать ненужного чтения.

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

Важно для разработчиков

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

Разработчики Apache Iceberg не просто ищут способы оптимизации, а стремятся решить принципиальные задачи в области индексации и сохранения совместимости.

Перспективы улучшений

Основные работы над индексами будут продолжаться, поскольку ожидается внедрение более мощных индексов, таких как B-Tree и полнотекстовый поиск. Это открывает новые горизонты для работы с данными в больших объемах, делая их более доступными и управляемыми.

Поделиться: Telegram X LinkedIn