Flink Table Store a lancé une incubation indépendante et Apache Paimon est né

Le 12 mars 2023, le projet Flink Table Store a passé avec succès le vote et est officiellement entré dans l'incubateur de l'Apache Software Foundation (ASF), changeant son nom en Apache Paimon (incubating).

Avec la maturité et le développement continus de la communauté technique Apache Flink, de plus en plus d'entreprises ont commencé à utiliser Flink pour le traitement des données en continu, améliorant ainsi la valeur de la rapidité des données et obtenant des effets commerciaux en temps réel. Dans le même temps, l'architecture du lac de données devient de plus en plus une nouvelle tendance technologique dans le domaine du big data.De plus en plus d'entreprises ont commencé à adopter l'architecture Lakehouse et à construire une nouvelle génération de Data Warehouse basée sur DataLake. Par conséquent, la communauté Flink espère combiner davantage les capacités de calcul en temps réel en streaming de Flink avec les avantages de la nouvelle architecture de Lakehouse, lancer une nouvelle génération de technologie Streaming Lakehouse, promouvoir le flux de données en temps réel sur le lac de données et fournir aux utilisateurs un réel- temps d'expérience de développement intégré hors ligne.

Cependant, les projets actuels de format de stockage de lac de données grand public dans l'industrie sont tous conçus pour des scénarios Batch et ne peuvent pas répondre aux besoins de Streaming Lakehouse en termes de rapidité de traitement des mises à jour des données. Par conséquent, la communauté Flink a incubé en interne le Flink Table Store (FTS pour court) sub-Project, un véritable projet de stockage de lac de données pour le streaming et le temps réel, a publié 3 versions à ce jour et a reçu des commentaires positifs d'un grand nombre d'utilisateurs et des contributions positives de nombreuses entreprises. Afin de permettre à Flink Table Store d'avoir un plus grand espace de développement et un plus grand écosystème, Flink PMC a décidé de le donner à ASF pour une incubation indépendante après discussion.

Jusqu'à présent, de nombreuses entreprises, dont Alibaba Cloud, ByteDance, Confluent, Tongcheng Travel, Bilibili, etc. ont participé à la contribution d'Apache Paimon. À l'avenir, nous espérons que davantage de développeurs intéressés par la nouvelle génération de stockage de lac de données en streaming se joindra à Paimon La communauté, ensemble pour créer une nouvelle génération de nouvelle structure de l'entrepôt du lac du ruisseau.

Qu'est-ce qu'Apache Paimon

Apache Paimon (en incubation) est une technologie de stockage de lac de données en continu qui peut fournir aux utilisateurs des capacités d'ingestion de données à haut débit et à faible latence, d'abonnement en continu et de requête en temps réel. Paimon adopte un format de données ouvert et un concept technique, et peut s'interfacer avec de nombreux moteurs informatiques grand public de l'industrie, tels que Apache Flink / Spark / Trino, pour promouvoir conjointement la vulgarisation et le développement de l'architecture Streaming Lakehouse.

1

format de données ouvert

Paimon utilise le stockage de lac pour gérer les métadonnées basées sur un système de fichiers distribué et utilise les formats de fichiers ouverts ORC, Parquet et Avro pour prendre en charge les principaux moteurs informatiques traditionnels, notamment Flink, Spark, Hive, Trino et Presto. Plus de moteurs seront connectés à l'avenir, y compris Doris et Starrocks.

Mises à jour massives en temps réel

Grâce à l'appendabilité de la structure de données LSM, Paimon offre d'excellentes performances dans les scénarios d'entrée de données de mise à jour à grande échelle.

La combinaison innovante de Paimon Lake Storage + LSM + format en colonne (ORC, Parquet) apporte des capacités de mise à jour en temps réel à grande échelle au Lake Storage La structure d'organisation des fichiers du LSM de Paimon est la suivante :

2

  • Mise à jour haute performance : Le compactage mineur du LSM garantit les performances et la stabilité de l'écriture

  • Fusion haute performance : la fusion ordonnée de LSM est très efficace

  • Requête haute performance : l'ordre de base de LSM garantit que la requête peut être ignorée en fonction de la clé primaire

Dans la dernière version, Paimon intègre Flink CDC et fournit deux fonctionnalités principales via Flink DataStream :

  1. Synchronisez la table unique Mysql avec la table Paimon en temps réel, et synchronisez les modifications de la structure de la table Mysql en amont (Schema) avec la table Paimon en aval en temps réel.

  2. Synchroniser la structure des tables et les données de l'ensemble de la base de données Mysql avec Paimon en temps réel, prendre en charge la synchronisation des modifications de la structure des tables et réutiliser les ressources pendant le processus de synchronisation Seule une petite quantité de ressources peut être utilisée pour synchroniser un grand nombre de tables .

Grâce à l'intégration avec Flink CDC, Paimon peut permettre aux données d'entreprise de circuler simplement et efficacement dans le lac de données.

Mise à jour partielle de la table de données

在数据仓库的业务场景下,经常会用到宽表数据模型,宽表模型通常是指将业务主体相关的指标、维表、属性关联在一起的模型表,也可以泛指将多个事实表和多个维度表相关联到一起形成的宽表。

Paimon 的 Partial-Update 合并引擎可以根据相同的主键实时合并多条流,形成 Paimon 的一张大宽表,依靠 LSM 的延迟 Compaction 机制,以较低的成本完成合并。合并后的表可以提供批读和流读:

  1. 批读:在批读时,读时合并仍然可以完成 Projection Pushdown,提供高性能的查询。

  2. 流读:下游可以看到完整的、合并后的数据,而不是部分列。

3

流批一体数据读写

Paimon 作为一个流批一体的数据湖存储,提供流写流读、批写批读,你使用 Paimon 来构建 Streaming Pipeline,并且数据沉淀到存储中。

在 Flink Streaming 作业实时更新的同时,可以 OLAP 查询各个 Paimon 表的历史和实时数据,并且也可以通过 Batch SQL,对之前的分区 Backfill,批读批写。

4

不管输入如何更新,或者业务要求如何合并 (比如 partial-update),使用 Paimon 的 Changelog 生成功能,总是能够在流读时获取完全正确的变更日志。

当面对主键表时,为什么你需要完整的 Changelog:

  1. 你的输入并不是完整的 changelog,比如丢失了 UPDATE_BEFORE (-U),比如同个主键有多条 INSERT 数据,这就会导致下游的流读聚合有问题,同个主键的多条数据应该被认为是更新,而不是重复计算。

  2. 当你的表是 Partial Update,下游需要看到完整的、合并后的数据,才可以正确的流处理。

你可以使用 Lookup 来实时生成 Changelog:

5

如果你觉得成本过大,你也可以解耦 Commit 和 Changelog 生成,通过 Full-Compaction 和对应较大的时延,以非常低的成本生成 Changelog。

版本发布

Flink Table Store a publié trois versions, et nous prévoyons de publier Paimon 0.4 en avril. Veuillez garder un œil sur Paimon.

Paimon investira pendant longtemps dans la recherche et le développement de l'intégrité en temps réel, de l'écologie et de l'entrepôt de données pour construire un meilleur Streaming LakeHouse.

Si vous avez d'autres besoins, veuillez nous contacter.

merci

  • Grâce aux partenaires Apache Flink, avec votre soutien, Flink Table Store est né

  • Merci à M. Li Yu, le champion de l'incubation du projet, et aux autres mentors : Qin Jiangjie, Robert Metzger, Stephan Ewen

  • Merci à tous les développeurs d'Alibaba, ByteDance, Confluent, Tongcheng Travel, Bilibili

Rejoignez-nous

A propos de l'auteur:

Wang Feng (Mo Wen) Initiateur de la communauté chinoise Apache Flink, leader de la plate-forme Big Data Open Source d'Alibaba, membre PPMC d'Apache Paimon

Li Jinsong (Zhixin) Responsable du stockage de tables Big Data Open Source d'Alibaba, fondateur d'Apache Paimon, membre PMC d'Apache Flink

Cliquez pour voir plus de contenu technique

Guess you like

Origin juejin.im/post/7215477761744928827