Flink Core Technology
Flink フォールトトレランス 2.0 の最新進捗
Mei Yuan | Alibaba Cloud Flink ストレージエンジンチーム責任者、Apache Flink エンジンアーキテクト、Apache Flink PMC&Committee
Flink はビッグデータ分野におけるリアルタイムコンピューティングの業界標準です。しかし、私たちは Flink のさらなる進化に向けた取り組みを緩めることはありませんでした。本セッションでは、過去 1 年間の Flink フォールトトレランスの進捗と成果、および将来の展望について報告します。
第 1 部は、過去 1 年間のチェックポイントに関する改善点です。Generic log ベースの増分チェックポイントのさらなる改善に伴い、チェックポイントの改善 (高速かつ安定なチェックポイント) も徐々に成熟してきています。
本セッションでは、Changelog、Unaligned チェックポイント、バッファーデブロッキングを組み合わせた実験結果を紹介します。同時に、クラウドネイティブ環境におけるリスケーリングの改善、およびスナップショットの概念と操作の統一に向けたコミュニティの取り組みについても説明します。
Flink Shuffle 3.0: ビジョン、ロードマップ、進捗
Song Xintong | Alibaba Cloud シニアテクニカルエキスパート、Apache Flink PMC Member&Committee
Flink の誕生以来、Shuffle アーキテクチャの進化は 2 つの段階に分けることができます。
• 初期の 1.0 段階では、最も基本的なデータ転送機能のみをサポートしていました。2.0 段階では、性能、安定性、ストリーミングバッチアーキテクチャに関する一連の改善が行われました。
• 現在、Flink のアプリケーションシナリオと形態がますます豊富になるにつれ、Shuffle アーキテクチャは多くの新たな課題と機会に直面しており、3.0 フェーズへ移行しようとしています。
本セッションでは、クラウドネイティブ、ストリーミングバッチ融合、適応性といったキーワードを中心に、Flink Shuffle 3.0 の構想について説明し、関連する作業の計画と進捗を紹介します。具体的には、ストリーミングバッチ適応型 Hybrid Shuffle、クラウドネイティブなマルチレベルストレージ適応型 Shuffle、Shuffle の全体的なアーキテクチャアップグレードと機能統合などを含みます。
バッチジョブの適応的かつ柔軟な実行管理
Zhu Zhu | Alibaba Cloud シニアテクニカルエキスパート、Apache Flink PMC&Committer
バッチジョブの実行をより良くサポートし、使いやすさ、実行効率、安定性を向上させるため、Flink の実行制御メカニズムを改善しました。
1: 動的実行プランをサポートし、Flink がランタイム情報に基づいて実行プランを動的に調整できるようにしました。これに基づき、並列度の自動設定機能とデータ分散量の自動バランス調整機能を導入しました。
2: より柔軟な (きめ細かい) 実行制御をサポートし、Flink が同じタスクの複数の実行インスタンスを同時に実行できるようにしました。
これに基づき、予測実行機能を Flink に導入しました。さらに、これらの改善されたメカニズムは、将来の Flink ジョブ実行のさらなる最適化により多くの可能性を提供します。
Flink OLAP のリソース管理とランタイムの改善
Cao Dizhou | ByteDance インフラストラクチャエンジニア
Flink OLAP ジョブの QPS とリソース分離は、Flink OLAP コンピューティングが直面する最大の課題であり、ByteDance の内部ビジネスで Flink を使用して OLAP コンピューティングを実行する際に解決すべき最大の痛点でもあります。昨年のジョブスケジューリングと実行の最適化に基づき、ByteDance Flink 技術チームは Flink エンジンのアーキテクチャと機能実装に対して多くの深い最適化を行い、複雑なジョブ実行における Flink エンジンの QPS を 10 から 100 以上に、小規模データ量での単純ジョブ実行の QPS を 30 から 1,000 以上に向上させました。本セッションでは、Flink OLAP の課題とボトルネック分析、ジョブスケジューリング、ランタイム実行、効果と今後の計画を紹介します。
1: Flink が OLAP で直面する課題とボトルネックを紹介します。
2: ジョブスケジューリング
• ジョブリソースの登録、アプリケーション、リリースプロセスをスロット粒度から TaskManager 粒度へ移行
• ジョブ初期化時の JobManager と TaskManager のモジュール間インタラクション最適化、クロスジョブの TaskManager 接続再利用をサポート
• ジョブ計算タスクのデプロイ構造とシリアル化の最適化
ランタイム実行
• ジョブの送信と結果取得をプルモデルからプッシュモデルへ移行
• TaskManager の CPU ボトルネックと高い同時実行性を持つ初期化計算タスクの最適化
• JobManager と TaskManager のジョブメモリ最適化
効果
• スケジューリングパフォーマンスの向上
• コアビジネスへの導入
メリットと今後の計画
• サーバーレスケイパビリティの構築
• パフォーマンスの向上
PyFlink の最新進展の解説と代表的なアプリケーションシナリオの紹介
Payment | Alibaba Cloud シニアテクニカルエキスパート、Apache Flink PMC&Committee
PyFlink は Flink 1.9 から導入された新機能です。ユーザーが Python 言語を使用して Flink ジョブを開発できるようにし、Python 技術スタックの開発者の利便性を大幅に向上させ、Flink ジョブの開発のハードルを下げるとともに、Flink ジョブ内で豊富な Python サードパーティライブラリを使用できるようにし、Flink のアプリケーションシナリオを大幅に拡大しました。Flink 1.9 から Flink 1.16 までの機能改善を経て、PyFlink の機能はますます成熟し、基本的に Flink Java&Scala API が提供する機能の大部分をカバーするようになりました。
本セッションでは、まず PyFlink プロジェクトの現状と最新リリースの Flink 1.16 でサポートされた新機能を簡単に紹介し、その後、具体的な例を使用して PyFlink の代表的なアプリケーションシナリオを詳しく解説し、PyFlink の代表的な用途とアプリケーションシナリオについて直感的な理解を得ていただきます。
Apache Flink 1.16 の新機能解説
Huang Xingbo | Alibaba Cloud シニア開発エンジニア、Apache Flink Committee、Flink 1.16 リリースマネージャー
Apache Flink は Apache コミュニティで最も活発かつ急速に発展しているプロジェクトの一つです。これまでの各リリースで、Apache Flink は多くの新機能と特徴を導入しており、リリースされたばかりの Flink 1.16 も同様です。
本セッションでは、まず Flink 1.16 の全体像を紹介し、その後、ストリーミングとバッチ処理の汎用的な方向性における改善点を三つの側面から説明します。
1: より安定性、使いやすさ、高性能を実現した Flink バッチ処理。
2: 引き続き業界をリードする Flink ストリーム処理。
3: 発展を続ける Flink エコシステム。
Apache Flink+Volcano: ビッグデータシナリオにおける効率的なスケジューリング機能の実践
Jiang Yikun | Volcano Reviewer、openEuler Infra Maintainer
Wang Leibo | クラウドコンテナサービスアーキテクト、Volcano コミュニティリーダー
Flink on Kubernetes はますます注目を集め、利用されています。Kubernetes のバッチスケジューリングサポートの不足により、ビッグデータシナリオのスケジューリングではリソースデッドロックの問題が頻繁に発生します。同時に、キュー、優先度、リソース予約、多様なコンピューティングパワーのスケジューリングといった高度な機能が不足しています。
本トピックでは、Apache Flink コミュニティの FLIP-250: Support Customized Kubernetes Schedulers Proposal の最新進捗とベストプラクティスを紹介します。
ByteDance における Flink OLAP のクエリ最適化と導入実践
He Runkang | ByteDance インフラストラクチャエンジニア
本セッションは主に五つの部分に分かれます。Flink OLAP の ByteDance でのビジネス実践と直面した問題、OLAP クラスターの運用管理と安定性管理、SQL クエリオプティマイザーの最適化、クエリエグゼキューターの最適化、効果と今後の計画です。
1: ByteDance での Flink OLAP の適用
• 全体的なアーキテクチャ、ByteDance での Flink OLAP の導入
• ビジネス利用の過程で生じた運用管理、監視、安定性、クエリパフォーマンスに関する課題と要件の紹介
2: Flink OLAP クラスターの運用管理と安定性
• Flink OLAP 監視システムの改善 (対 ストリーム処理)
• Flink OLAP のリリースと安定性管理 (対 ストリーム処理)
3: クエリオプティマイザーの最適化
• プラン構築の高速化、Plan Cache、Catalog Cache などを含む
• オプティマイザーの最適化、豊富な最適化ルール、プッシュダウン機能の強化、Join Filter 伝播、統計情報の強化などを含む
4: クエリエグゼキューターの最適化
• メモリ最適化、Codegen キャッシュと ClassLoader 再利用を含む
• RuntimeFilter の最適化
5: 効果と今後の計画
• プロダクトの改善、ベクトル化エンジン、マテリアライズドビュー、オプティマイザーの進化
Yu Hangxiang | Apache Flink Contributor
FLIP-158 で導入された ChangelogStateBackend は、ユーザージョブに対してより安定した高速なチェックポイントを提供し、さらに高速なフェールオーバープロセスを実現し、トランザクション対応の sink ジョブに対して低いエンドツーエンド遅延を提供します。
本トピックでは、チェックポイントの性能最適化の経緯から ChangelogStateBackend の基本メカニズム、アプリケーションシナリオ、将来の計画を紹介し、関連する性能テスト結果を共有します。
Shopee における Flink Unaligned チェックポイントの最適化と実践
Fan Rui | Shopee Flink Runtime チーム テクニカルリード、Apache StreamPark Committee&Flink/Hadoop/HBase/LocksDB Contributor
Flink の本番運用において、Shopee はチェックポイントに関連する多くの問題に直面し、Unaligned チェックポイントの導入を試みました。しかし、調査の結果、効果と期待の間に一定のギャップがあることが判明したため、内部バージョンで深い改善を行い、その改善の大部分は Flink コミュニティにフィードバックされました。
本講演では以下の内容を含みます。
• チェックポイントの問題
• Unaligned チェックポイントの原理
• UC の効果を大幅に向上
• UC のリスクを大幅に削減
Shopee での UC の本番運用と将来の計画
Flink のステート最適化とリモートステートの検討
Zhang Yang | Bilibili シニア開発エンジニア
Flink の RocksDB ステートの最適化により、圧縮プロセスを最適化し、大規模ステートタスクシナリオでのスループットを向上させます。
Flink のリモートステートの検討では、Bilibili の内部 KV ストレージに基づき、ストレージとコンピューティングの分離を実現し、タスクリカバリーを高速化し、Flink のクラウドネイティブデプロイをより良くサポートします。
TerarkDB を使用した StateBackend の性能向上
TerarkDB は、ByteDance が RocksDB をベースに内部最適化を行い開発した LSM ストレージエンジンで、ストレージエンジンの性能向上とリソースオーバーヘッドの削減を実現します。本セッションでは、背景、ビジネス上の課題、Flink&TerarkDB の統合、効果、今後の計画の五つの側面から紹介します。
RocksDBStateBackend が本番運用で直面する問題の紹介
書き込み増幅による CPU 消費とディスク I/O の増大
SST ファイルクリーニング戦略の非汎用性によるスペースの継続的な拡大
チェックポイントとコンパクションの共振現象による CPU サイクルの急激なスパイク
TerarkDB のコア最適化の紹介と RocksDB との比較
KV 分離メカニズム: 書き込み増幅とリソース使用量の削減
TTL GC のスケジュール: ファイルリサイクルの高速化による未回収ファイルの防止
Flink&TerarkDB の統合スキーム
Flink と TerarkDB の JNI インターフェースを適応させ、Flink のコンパクションフィルターをサポート
RocksDB と TerarkDB の共存をサポート
新しいチェックポイントメカニズムにより CPU サイクルのスパイクを排除
ビジネス効果
今後の計画
Meituan におけるログベース汎用増分チェックポイントの進捗
Wang Feifan | Meituan データプラットフォーム コンピューティングエンジンエンジニア、Apache Flink Contributor
State Changelog ベースのチェックポイントは、チェックポイントメカニズムの重要な進化です。ビジネス上の課題を解決できると考え、追跡と共同構築を行ってきました。本セッションでは以下の側面から紹介します。
関連する背景
1: Meituan での適用シナリオと検証
2: State Changelog のリストアパフォーマンス最適化
3: State Changelog のストレージモデル選択の検討
4: 今後の計画
Mei Yuan | Alibaba Cloud Flink ストレージエンジンチーム責任者、Apache Flink エンジンアーキテクト、Apache Flink PMC&Committee
Flink はビッグデータ分野におけるリアルタイムコンピューティングの業界標準です。しかし、私たちは Flink のさらなる進化に向けた取り組みを緩めることはありませんでした。本セッションでは、過去 1 年間の Flink フォールトトレランスの進捗と成果、および将来の展望について報告します。
第 1 部は、過去 1 年間のチェックポイントに関する改善点です。Generic log ベースの増分チェックポイントのさらなる改善に伴い、チェックポイントの改善 (高速かつ安定なチェックポイント) も徐々に成熟してきています。
本セッションでは、Changelog、Unaligned チェックポイント、バッファーデブロッキングを組み合わせた実験結果を紹介します。同時に、クラウドネイティブ環境におけるリスケーリングの改善、およびスナップショットの概念と操作の統一に向けたコミュニティの取り組みについても説明します。
Flink Shuffle 3.0: ビジョン、ロードマップ、進捗
Song Xintong | Alibaba Cloud シニアテクニカルエキスパート、Apache Flink PMC Member&Committee
Flink の誕生以来、Shuffle アーキテクチャの進化は 2 つの段階に分けることができます。
• 初期の 1.0 段階では、最も基本的なデータ転送機能のみをサポートしていました。2.0 段階では、性能、安定性、ストリーミングバッチアーキテクチャに関する一連の改善が行われました。
• 現在、Flink のアプリケーションシナリオと形態がますます豊富になるにつれ、Shuffle アーキテクチャは多くの新たな課題と機会に直面しており、3.0 フェーズへ移行しようとしています。
本セッションでは、クラウドネイティブ、ストリーミングバッチ融合、適応性といったキーワードを中心に、Flink Shuffle 3.0 の構想について説明し、関連する作業の計画と進捗を紹介します。具体的には、ストリーミングバッチ適応型 Hybrid Shuffle、クラウドネイティブなマルチレベルストレージ適応型 Shuffle、Shuffle の全体的なアーキテクチャアップグレードと機能統合などを含みます。
バッチジョブの適応的かつ柔軟な実行管理
Zhu Zhu | Alibaba Cloud シニアテクニカルエキスパート、Apache Flink PMC&Committer
バッチジョブの実行をより良くサポートし、使いやすさ、実行効率、安定性を向上させるため、Flink の実行制御メカニズムを改善しました。
1: 動的実行プランをサポートし、Flink がランタイム情報に基づいて実行プランを動的に調整できるようにしました。これに基づき、並列度の自動設定機能とデータ分散量の自動バランス調整機能を導入しました。
2: より柔軟な (きめ細かい) 実行制御をサポートし、Flink が同じタスクの複数の実行インスタンスを同時に実行できるようにしました。
これに基づき、予測実行機能を Flink に導入しました。さらに、これらの改善されたメカニズムは、将来の Flink ジョブ実行のさらなる最適化により多くの可能性を提供します。
Flink OLAP のリソース管理とランタイムの改善
Cao Dizhou | ByteDance インフラストラクチャエンジニア
Flink OLAP ジョブの QPS とリソース分離は、Flink OLAP コンピューティングが直面する最大の課題であり、ByteDance の内部ビジネスで Flink を使用して OLAP コンピューティングを実行する際に解決すべき最大の痛点でもあります。昨年のジョブスケジューリングと実行の最適化に基づき、ByteDance Flink 技術チームは Flink エンジンのアーキテクチャと機能実装に対して多くの深い最適化を行い、複雑なジョブ実行における Flink エンジンの QPS を 10 から 100 以上に、小規模データ量での単純ジョブ実行の QPS を 30 から 1,000 以上に向上させました。本セッションでは、Flink OLAP の課題とボトルネック分析、ジョブスケジューリング、ランタイム実行、効果と今後の計画を紹介します。
1: Flink が OLAP で直面する課題とボトルネックを紹介します。
2: ジョブスケジューリング
• ジョブリソースの登録、アプリケーション、リリースプロセスをスロット粒度から TaskManager 粒度へ移行
• ジョブ初期化時の JobManager と TaskManager のモジュール間インタラクション最適化、クロスジョブの TaskManager 接続再利用をサポート
• ジョブ計算タスクのデプロイ構造とシリアル化の最適化
ランタイム実行
• ジョブの送信と結果取得をプルモデルからプッシュモデルへ移行
• TaskManager の CPU ボトルネックと高い同時実行性を持つ初期化計算タスクの最適化
• JobManager と TaskManager のジョブメモリ最適化
効果
• スケジューリングパフォーマンスの向上
• コアビジネスへの導入
メリットと今後の計画
• サーバーレスケイパビリティの構築
• パフォーマンスの向上
PyFlink の最新進展の解説と代表的なアプリケーションシナリオの紹介
Payment | Alibaba Cloud シニアテクニカルエキスパート、Apache Flink PMC&Committee
PyFlink は Flink 1.9 から導入された新機能です。ユーザーが Python 言語を使用して Flink ジョブを開発できるようにし、Python 技術スタックの開発者の利便性を大幅に向上させ、Flink ジョブの開発のハードルを下げるとともに、Flink ジョブ内で豊富な Python サードパーティライブラリを使用できるようにし、Flink のアプリケーションシナリオを大幅に拡大しました。Flink 1.9 から Flink 1.16 までの機能改善を経て、PyFlink の機能はますます成熟し、基本的に Flink Java&Scala API が提供する機能の大部分をカバーするようになりました。
本セッションでは、まず PyFlink プロジェクトの現状と最新リリースの Flink 1.16 でサポートされた新機能を簡単に紹介し、その後、具体的な例を使用して PyFlink の代表的なアプリケーションシナリオを詳しく解説し、PyFlink の代表的な用途とアプリケーションシナリオについて直感的な理解を得ていただきます。
Apache Flink 1.16 の新機能解説
Huang Xingbo | Alibaba Cloud シニア開発エンジニア、Apache Flink Committee、Flink 1.16 リリースマネージャー
Apache Flink は Apache コミュニティで最も活発かつ急速に発展しているプロジェクトの一つです。これまでの各リリースで、Apache Flink は多くの新機能と特徴を導入しており、リリースされたばかりの Flink 1.16 も同様です。
本セッションでは、まず Flink 1.16 の全体像を紹介し、その後、ストリーミングとバッチ処理の汎用的な方向性における改善点を三つの側面から説明します。
1: より安定性、使いやすさ、高性能を実現した Flink バッチ処理。
2: 引き続き業界をリードする Flink ストリーム処理。
3: 発展を続ける Flink エコシステム。
Apache Flink+Volcano: ビッグデータシナリオにおける効率的なスケジューリング機能の実践
Jiang Yikun | Volcano Reviewer、openEuler Infra Maintainer
Wang Leibo | クラウドコンテナサービスアーキテクト、Volcano コミュニティリーダー
Flink on Kubernetes はますます注目を集め、利用されています。Kubernetes のバッチスケジューリングサポートの不足により、ビッグデータシナリオのスケジューリングではリソースデッドロックの問題が頻繁に発生します。同時に、キュー、優先度、リソース予約、多様なコンピューティングパワーのスケジューリングといった高度な機能が不足しています。
本トピックでは、Apache Flink コミュニティの FLIP-250: Support Customized Kubernetes Schedulers Proposal の最新進捗とベストプラクティスを紹介します。
ByteDance における Flink OLAP のクエリ最適化と導入実践
He Runkang | ByteDance インフラストラクチャエンジニア
本セッションは主に五つの部分に分かれます。Flink OLAP の ByteDance でのビジネス実践と直面した問題、OLAP クラスターの運用管理と安定性管理、SQL クエリオプティマイザーの最適化、クエリエグゼキューターの最適化、効果と今後の計画です。
1: ByteDance での Flink OLAP の適用
• 全体的なアーキテクチャ、ByteDance での Flink OLAP の導入
• ビジネス利用の過程で生じた運用管理、監視、安定性、クエリパフォーマンスに関する課題と要件の紹介
2: Flink OLAP クラスターの運用管理と安定性
• Flink OLAP 監視システムの改善 (対 ストリーム処理)
• Flink OLAP のリリースと安定性管理 (対 ストリーム処理)
3: クエリオプティマイザーの最適化
• プラン構築の高速化、Plan Cache、Catalog Cache などを含む
• オプティマイザーの最適化、豊富な最適化ルール、プッシュダウン機能の強化、Join Filter 伝播、統計情報の強化などを含む
4: クエリエグゼキューターの最適化
• メモリ最適化、Codegen キャッシュと ClassLoader 再利用を含む
• RuntimeFilter の最適化
5: 効果と今後の計画
• プロダクトの改善、ベクトル化エンジン、マテリアライズドビュー、オプティマイザーの進化
Yu Hangxiang | Apache Flink Contributor
FLIP-158 で導入された ChangelogStateBackend は、ユーザージョブに対してより安定した高速なチェックポイントを提供し、さらに高速なフェールオーバープロセスを実現し、トランザクション対応の sink ジョブに対して低いエンドツーエンド遅延を提供します。
本トピックでは、チェックポイントの性能最適化の経緯から ChangelogStateBackend の基本メカニズム、アプリケーションシナリオ、将来の計画を紹介し、関連する性能テスト結果を共有します。
Shopee における Flink Unaligned チェックポイントの最適化と実践
Fan Rui | Shopee Flink Runtime チーム テクニカルリード、Apache StreamPark Committee&Flink/Hadoop/HBase/LocksDB Contributor
Flink の本番運用において、Shopee はチェックポイントに関連する多くの問題に直面し、Unaligned チェックポイントの導入を試みました。しかし、調査の結果、効果と期待の間に一定のギャップがあることが判明したため、内部バージョンで深い改善を行い、その改善の大部分は Flink コミュニティにフィードバックされました。
本講演では以下の内容を含みます。
• チェックポイントの問題
• Unaligned チェックポイントの原理
• UC の効果を大幅に向上
• UC のリスクを大幅に削減
Shopee での UC の本番運用と将来の計画
Flink のステート最適化とリモートステートの検討
Zhang Yang | Bilibili シニア開発エンジニア
Flink の RocksDB ステートの最適化により、圧縮プロセスを最適化し、大規模ステートタスクシナリオでのスループットを向上させます。
Flink のリモートステートの検討では、Bilibili の内部 KV ストレージに基づき、ストレージとコンピューティングの分離を実現し、タスクリカバリーを高速化し、Flink のクラウドネイティブデプロイをより良くサポートします。
TerarkDB を使用した StateBackend の性能向上
TerarkDB は、ByteDance が RocksDB をベースに内部最適化を行い開発した LSM ストレージエンジンで、ストレージエンジンの性能向上とリソースオーバーヘッドの削減を実現します。本セッションでは、背景、ビジネス上の課題、Flink&TerarkDB の統合、効果、今後の計画の五つの側面から紹介します。
RocksDBStateBackend が本番運用で直面する問題の紹介
書き込み増幅による CPU 消費とディスク I/O の増大
SST ファイルクリーニング戦略の非汎用性によるスペースの継続的な拡大
チェックポイントとコンパクションの共振現象による CPU サイクルの急激なスパイク
TerarkDB のコア最適化の紹介と RocksDB との比較
KV 分離メカニズム: 書き込み増幅とリソース使用量の削減
TTL GC のスケジュール: ファイルリサイクルの高速化による未回収ファイルの防止
Flink&TerarkDB の統合スキーム
Flink と TerarkDB の JNI インターフェースを適応させ、Flink のコンパクションフィルターをサポート
RocksDB と TerarkDB の共存をサポート
新しいチェックポイントメカニズムにより CPU サイクルのスパイクを排除
ビジネス効果
今後の計画
Meituan におけるログベース汎用増分チェックポイントの進捗
Wang Feifan | Meituan データプラットフォーム コンピューティングエンジンエンジニア、Apache Flink Contributor
State Changelog ベースのチェックポイントは、チェックポイントメカニズムの重要な進化です。ビジネス上の課題を解決できると考え、追跡と共同構築を行ってきました。本セッションでは以下の側面から紹介します。
関連する背景
1: Meituan での適用シナリオと検証
2: State Changelog のリストアパフォーマンス最適化
3: State Changelog のストレージモデル選択の検討
4: 今後の計画
Related Articles
-
A detailed explanation of Hadoop core architecture HDFS
Knowledge Base Team
-
What Does IOT Mean
Knowledge Base Team
-
6 Optional Technologies for Data Storage
Knowledge Base Team
-
What Is Blockchain Technology
Knowledge Base Team
Explore More Special Offers
-
Short Message Service(SMS) & Mail Service
50,000 email package starts as low as USD 1.99, 120 short messages start at only USD 1.00
