269просмотров
2 декабря 2025 г.
question📷 ФотоScore: 296
Слышали уже про Apache Paimon? Восходящая звезда MDS (modern data stack) и очень интересная технология, вышедшая в свет всего 2 года назад (ранее платформа была внутренним продуктом в Alibaba), и пока активно распространяется только в Азии.
Apache Flink стал стандартом realtime-пайплайнов в Китае и именно под него (Flink-first принцип) появилась платформа Paimon. 📌Apache Paimon - это high-performance streaming data lake + таблицы для real-time аналитики и ML.
Если Iceberg и Delta Lake - это классические lakehouse-таблицы, то Paimon - это lakehouse, который ведёт себя как Kafka + Iceberg одновременно. Его ключевое отличие:
Paimon оптимизирован под потоковые апдейты, changelogs, upsert'ы и stateful ingestion, а не просто под «храним файлики в S3». Простыми словами: (сначала написал, а потом подумал - братан, тут простых слов то не больше 20%😁Ладно, ок, у нас сегодня инженерный контент)
Iceberg → батчевые аналитические таблицы,
Delta → батч + немного стриминга,
Paimon → настоящий streaming lake: строчки обновляются в реальном времени, таблицы ведут changelog, можно читать как поток. Почему он появился?
Потому что:
-Kafka слишком дорогой для долговременного хранения
-OLTP-таблицы слишком тяжёлые для аналитики
-Lakehouse-таблицы не умеют нормально в upsert / CDC / стриминг Paimon пытается заменить «Kafka + OLTP + Iceberg» одним слоем. ❗️Главная идея Paimon - LSM-дерево поверх объектного S3 -like хранилища.
LSM-Tree (Log-Structured Merge-Tree) - это структура данных для хранения большого числа апдейтов с минимальными затратами на запись.
Она придумана для тех случаев, где много small writes, много upsert’ов, много changelog’ов, но при этом нужно держать данные в более-менее читабельной форме. Идея LSM проста:
в момент записи ничего не "переписывают", а только добавляют новые версии данных. Позже background-процессы сливают уровни в более компактные файлы. Что это даёт:
-дешёвые upsert'ы
-высокая скорость записи
-компактные файлы
-мгновенные snapshot'ы
-быстрые стримовые чтения изменений Почему LSM лучше для стриминга, чем .parquet + merge” (как в Iceberg/Delta) ✍️Запись (write path)
Iceberg/Delta:
чтобы обновить строку, ты делаешь read → merge → rewrite parquet file
итог: куча маленьких файлов + большие задержки Paimon (LSM):
записываешь новую версию
и всё, никаких merge на пути записи 📖Чтение (read path)
Iceberg/Delta:
нет стриминга изменений (только microbatches)
поиск последней версии ключа дорогой Paimon:
есть changelog, таблица ведёт себя как Kafka topic
стрим читается нативно и быстро 💡Платформа выглядит очень перспективно, НО помним главный принцип современной дата инженерии:
Just Use Postgres (for everything) Когда Paimon может вступать в игру:
✅Kafka/Flink в ядре архитектуры,
✅поток изменений 50k+ rows/sec и выше,
✅много upsert/CDC и нужны история изменений и real-time в одной системе,