TGViewer
tl;dr data tl;dr data @tldr_data · 153 subscribers
Post #139 231
The State of Streaming to Apache Iceberg in July 2026: Every Path, Its Latency, and What to Do When Seconds Are Not Fast Enough

Прочитал большую статью от Alex Merced, о состоянии стриминга в Apache Iceberg.

За право записывать потоковые данные в Iceberg сегодня конкурируют десятки решений:
Apache Flink, Spark Structured Streaming, Kafka Connect, брокеры с нативной поддержкой Iceberg, управляемые облачные сервисы и специализированные CDC-платформы.
Но как бы они ни отличались, все упираются в одни и те же фундаментальные ограничения.

Во-первых, данные становятся доступны только после создания нового snapshot.
Пока commit не выполнен, можно записать сколько угодно Parquet-файлов, но ни один движок запросов их не увидит.
Поэтому реальная задержка складывается не только из скорости записи, но и из времени буферизации, выполнения commit и обновления метаданных.
Любые заявления о задержке без упоминания commit стоит воспринимать с осторожностью.

Во-вторых, commit — дорогая операция.
Он обновляет метаданные таблицы, манифесты и каталог.
Если выполнять commit слишком часто, именно метаданные становятся главным узким местом.
На практике комфортный диапазон сегодня — от нескольких секунд до нескольких минут.
Формат Iceberg продолжает развиваться и постепенно снижает стоимость commit, но полностью избавиться от этого ограничения пока невозможно.

Третья проблема — мелкие файлы.
Чем чаще выполняются commit, тем больше появляется небольших Parquet-файлов.
В результате растет количество обращений к объектному хранилищу, увеличивается объем метаданных и замедляется выполнение запросов.
Поэтому потоковая загрузка в Iceberg всегда состоит из двух частей: самой загрузки данных и обслуживания таблиц — compaction, удаления старых snapshot и оптимизации файлов.
Именно отсутствие регулярного обслуживания автор называет самой распространенной ошибкой в реальных проектах.

Если говорить о конкретных инструментах, то Apache Flink остается эталоном для низкой задержки.
Он обеспечивает свежесть данных примерно от 10 секунд до минуты, поддерживает exactly-once и отлично подходит для CDC, но требует серьезной экспертизы и постоянного обслуживания. Spark Structured Streaming предлагает более простой путь для команд, уже использующих Spark, с типичной задержкой от десятков секунд до нескольких минут.
Kafka Connect Iceberg Sink — самый простой вариант с минимальным объемом разработки, однако обычно речь идет уже о задержке в несколько минут.

Самый интересный вывод статьи касается сценариев, где даже несколько секунд — слишком долго.
Для антифрода, операционного мониторинга или пользовательской аналитики автор не рекомендует пытаться выжать максимум из Iceberg.
Вместо этого стоит использовать двухуровневую архитектуру:
горячий слой на Pinot, ClickHouse, StarRocks или Druid для обслуживания запросов в реальном времени, а Iceberg оставить в роли долговременного хранилища истории.
Другой вариант — использовать потоковые базы данных вроде RisingWave или Materialize, которые обрабатывают данные практически мгновенно и параллельно сохраняют результаты в Iceberg.

P.S.
В комментариях бонус.
Книга Alex Merced
Architecting an Apache Iceberg Lakehouse

@tldr_data
  • ❤ 6
  • 🔥 1
More from @tldr_data
  1. Sep 18, 2026SLayer Спросите агента о выручке дважды — и он дважды напишет два никак не связанных между…
  2. Sep 13, 2026OpenAI запустила Data agent в ChatGPT Work — агента для работы с корпоративными данными. О…
  3. Sep 12, 2026LLMSQLQueryOperator В Airflow появился новый декоратор task.llm_sql, который генерирует SQ…
  4. Sep 11, 2026walshadow walshadow реплицирует данные из PostgreSQL в ClickHouse из физического WAL, вклю…
  5. Sep 9, 2026HydraDB - fast graph database on object storage HydraDB превращает графовую базу данных в…
  6. Sep 8, 2026Make analytics context usable by agents ktx — open-source context layer for data agents, к…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →