# Процессы оптимизации Iceberg

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

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

## Адаптивный оптимизатор

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

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

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

Следующие ключевые процессы оптимизации выполняются автоматически Qlik и не требуют вмешательства:

### Непрерывное уплотнение

Процесс уплотнения происходит постоянно, оптимизирован для потоковых данных и поддерживает все нагрузки. Процесс уплотнения включает:

* Контроль и выбор: постоянный поиск потенциальных возможностей уплотнения.

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

### Срок действия снимка

При выполнении операций Iceberg генерируются снимки, которые становятся доступными для запросов пользователей. Снимки позволяют отслеживать изменения таблицы с течением времени. Однако хранение таких снимков может привести к увеличению объема хранилища. Чтобы избежать этого, Qlik автоматически удаляет старые снимки. Процесс очистки выполняется каждые несколько часов. Чтобы оптимизировать использование хранилища, сохраняются только необходимые снимки.

### Очистка «висящих» файлов

После операций Iceberg иногда остаются «висящие» файлы, не связанные с таблицами. Такие файлы могут накапливаться, увеличивая стоимость хранения. Qlik ежедневно удаляет обнаруженные «висящие» файлы, чтобы снизить расходы на хранение. Операция очистки автоматически находит в табличном хранилище и удаляет «висящие» файлы, что позволяет обеспечить порядок и оптимизировать использование ресурсов.