このトピックでは、2023 年 8 月 21 日にリリースされた Realtime Compute for Apache Flink バージョンの主な更新とバグ修正について説明します。
このリリースで導入された Ververica Runtime (VVR) 8.0.1 は、特定のシナリオでデータ損失が発生することがあり、データの精度に影響します。慎重な評価の結果、Alibaba Cloud は VVR 8.0.1 のサポート終了 (EOS) を発表することを決定しました。できるだけ早く VVR 8.0.5 以降にアップグレードすることをお勧めします。アップグレード方法については、デプロイのエンジンバージョンをアップグレードする をご参照ください。より安全で安定したバージョンへのスムーズな移行を支援するために、必要なサポートとガイダンスを提供します。ご理解とご協力をお願いいたします。
概要
この Realtime Compute for Apache Flink のリリースには、エンジン更新、コネクタ更新、パフォーマンス最適化、およびバグ修正が含まれています。
VVR 8.0.1 は、Apache Flink 1.17.1 に基づくエンタープライズクラスのエンジンを提供するために正式にリリースされました。VVR 8.0.1 には、Apache Flink 1.17.1 の新機能、パフォーマンスの向上、およびバグ修正が含まれています。たとえば、Apache Flink 1.17 で導入された Generic Incremental Checkpoint (GIC) 機能は、チェックポイント処理の速度と安定性を向上させます。バックプレッシャーが発生した場合の非同期チェックポイント (UC) の安定性が向上しました。UC は本番環境で使用できます。バッチ処理のパフォーマンスも大幅に向上しました。
エンタープライズレベルのステートバックエンドのコアアーキテクチャが再構築され、次の利点が得られます。(1) パフォーマンス向上: ステート形式、ファイルストレージシステム、およびデータクリーニング戦略が最適化されています。これにより、ローカルディスク容量の圧力が大幅に軽減され、ステートアクセス速度が向上します。その結果、大規模ステートデプロイの平均パフォーマンスは 40% 以上向上し、ステートサイズは約 30% 減少します。(2) 安定性の向上: ステートのスケーリングとリカバリメカニズムが改善されました。ステートサイズが大きいシナリオ (100 GB など) では、デプロイの更新による中断時間を数分から数秒に短縮できます。デフォルトでは、再構築されたエンタープライズレベルのステートバックエンドが VVR 8.0.1 で使用されます。追加の設定は必要ありません。
エンジンアップグレードとステートバックエンドの再構築に加えて、このリリースには、Realtime Compute for Apache Flink と他の Alibaba Cloud ストレージおよびコンピューティングサービスとの相互運用性を強化し、コネクタ機能を強化し、システムパフォーマンスと安定性を向上させる次の機能が含まれています。
MongoDB Change Data Capture (CDC) コネクタはパブリックプレビュー中です。このコネクタを使用すると、レプリカセットまたはシャーデッドクラスターアーキテクチャを使用する MongoDB データベースからリアルタイムの増分データを効率的にキャプチャし、履歴データを読み取り、データをダウンストリームシステムに同期できます。コネクタは増分スナップショット読み取り機能をサポートしています。コネクタの実行時に、フルスキャンフェーズが開始され、履歴データが並行して読み取られます。フルスキャンが完了すると、コネクタは自動的に増分キャプチャフェーズに切り替わり、変更ログストリームを読み取ります。これにより、ダウンストリームの Flink SQL アプリケーションとの統合が容易になります。コネクタは、データの重複や損失を防ぐために、exactly-once 処理を保証します。コネクタは、ビジネス要件に合わせて複数の起動モードも提供します。
デプロイで CREATE DATABASE AS ステートメントを使用し、ソースデータベースに新しいテーブルが作成された場合、ステートデータを使用してデプロイを再開できます。これにより、再起動による追加の管理コストが回避されます。
OceanBase コネクタが導入されました。このコネクタを使用して、シンクテーブルとディメンションテーブルを作成できます。OceanBase は、Alibaba Group と Ant Group によって開発された分散リレーショナルハイブリッドトランザクショナル/分析処理 (HTAP) データベースです。OceanBase は、強力な整合性、高可用性、高パフォーマンス、オンラインスケーラビリティ、SQL 標準および主流のリレーショナルデータベースとの高い互換性、低コストなど、さまざまな利点を提供します。
エンタープライズクラスの機能を強化するために、より多くの Tair データ型がサポートされています。たとえば、Flink デプロイで TairTs を使用してリアルタイムで時系列データセットを作成したり、TairVector を使用して AI アプリケーション用のベクトルデータセットを作成したり、TairCpc を使用してリアルタイムの不正検出アプリケーションを構築したり、TairRoaring を使用してリアルタイムの顧客プロファイリングシステムを構築したりできます。
Simple Log Service (SLS) カタログのテーブルをシンクテーブルとして使用できます。永続テーブルを使用するのと同じ方法で、SLS にデータを定義して書き込むことができます。
Apache Paimon (招待プレビュー) の 0.5-snapshot バージョンの更新がサポートされています。Flink CDC によってキャプチャされたソーステーブルの列型の変更を Apache Paimon テーブルに適用できます。
バージョンアップグレードは、2 週間の期間にカナリアリリース戦略を使用してネットワーク全体に展開されます。リージョンとアカウントのアップグレードが完了すると、デプロイに新しいエンジンバージョンを使用できます。詳細については、デプロイのエンジンバージョンをアップグレードする をご参照ください。フィードバックをお待ちしております。
機能
機能 | 説明 | 参照 |
MongoDB CDC コネクタ (パブリックプレビュー) | MongoDB CDC コネクタを使用して、ソーステーブルを作成し、MongoDB データベースから増分データを読み取ることができます。 | |
CREATE DATABASE AS ステートメントを使用した新しいテーブルの同期 | CREATE DATABASE AS ステートメントを使用するデプロイの開始後にソースデータベースにテーブルが追加された場合、スナップショットに基づいてデプロイを再開できます。これにより、新しいテーブルのデータをキャプチャして同期できます。 | |
BEGIN STATEMENT SET; と END; の間の CREATE TABLE AS | デプロイの BEGIN STATEMENT SET; と END; ステートメントの間に CREATE TABLE AS ステートメントを追加すると、スナップショットに基づいてデプロイを再開できます。これにより、新しいテーブルのデータをキャプチャして同期できます。これにより柔軟性が向上し、デプロイ数を増やす必要がなくなります。 | |
通常結合の各ストリームに対する個別の有効期限 (TTL) 設定 | 特定のユースケースでは、通常結合の 2 つのストリームで異なる TTL 値が必要になる場合があります。たとえば、一方のストリームの TTL を 15 日に設定し、もう一方のストリームの TTL を 1 日に設定できます。この機能を使用すると、各ストリームの TTL を個別に設定できるため、デプロイの安定性が向上し、運用コストが削減されます。 | |
OceanBase コネクタの導入 | OceanBase コネクタを使用して、シンクテーブルとディメンションテーブルを作成できます。 | |
SLS コネクタでのクエリプッシュダウンのサポート | ソース側でデータをフィルタリングできます。これにより、読み取り効率が向上します。 | |
SLS カタログのシンクテーブルのサポート | SLS カタログを使用して、SLS にデータを書き込むことができます。 | |
AnalyticDB for PostgreSQL V7.0 のサポート | AnalyticDB for PostgreSQL コネクタを使用して、AnalyticDB for PostgreSQL V7.0 インスタンスとのデータの読み書きができます。 | |
より多くの Tair データ型のサポート | TairTs、TairCpc、TairRoaring、TairVector、TairGis などのデータ型がサポートされています。 | |
新しい Apache Paimon バージョンと Apache Paimon への列型の変更の同期のサポート | Apache Paimon 0.5-snapshot がサポートされています。Flink CDC を使用して Apache Paimon にデータを書き込む場合、ソーステーブルの列型の変更を Apache Paimon テーブルに適用できます。 |
修正された問題
MySQL コネクタを使用して PolarDB for MySQL データベースを読み取ると、「Filtering update table metadata event: Event{header=EventHeaderV4」というエラーメッセージが表示されます。
ウィンドウテーブル値関数 (TVF) を条件付きで使用すると、出力が生成されません。