このトピックでは、2024 年 5 月 29 日にリリースされた Realtime Compute for Apache Flink バージョンの主な更新とバグ修正について説明します。
バージョンアップグレードは、カナリアリリース戦略を使用してネットワーク全体に段階的に展開されます。 アップグレードスケジュールの詳細については、Realtime Compute for Apache Flink の管理コンソールの右側にある最新のお知らせをご覧ください。 このバージョンの新機能は、アカウントのアップグレードが完了した後にのみ使用できます。 アップグレードをできるだけ早く適用するには、チケットを送信してください。
概要
このリリースには、プラットフォームとエンジンの更新が含まれています。
プラットフォームの更新
このリリースでのプラットフォームの更新は、システムの安定性、運用保守、使いやすさに重点を置いています。
クロスゾーン高可用性機能が最適化され、安定性が確保されています。 新しい名前空間を作成して既存のデプロイを移行することなく、既存の名前空間のコンピュートユニット (CU) をシングルゾーンタイプからクロスゾーンタイプにすばやく変換できます。
リソース設定のエキスパートモードでは、オペレーターレベルの状態の有効期限 (TTL) がサポートされています。 各オペレーターの状態 TTL 値を正確に設定することで、より少ないリソースで安定性を向上させることができます。
Realtime Compute for Apache Flink の Visual Studio Code 拡張機能が利用可能です。 この拡張機能を使用すると、オンプレミス環境でデプロイを開発、デプロイ、および実行できます。 また、Realtime Compute for Apache Flink の開発コンソールから更新されたデプロイ設定を同期することもできます。
データ系列とデプロイに関連する UI も最適化されています。
エンジンの更新
Ververica Runtime (VVR) 8.0.7 が正式にリリースされ、Apache Flink 1.17.2 に基づくエンタープライズクラスのエンジンが提供されます。 VVR 8.0.7 には、次の更新が含まれています。
リアルタイム レイクハウス:Apache Paimon コネクタ SDK がアップグレードされ、Apache Paimon 0.9 で使用されるデータレイク形式がサポートされるようになりました。
SQL の最適化:状態 TTL ヒントが導入され、通常の結合およびグループ集計オペレーターに対して個別の状態 TTL 値を設定して、状態サイズを制御できるようになりました。 ユーザー定義関数 (UDF) で名前付きパラメーターがサポートされるようになり、開発効率が向上し、メンテナンスコストが削減されます。
コネクタの最適化:MongoDB コネクタのパブリックプレビューが完了し、一般提供が開始されました。 MongoDB コネクタを使用して、変更データキャプチャ (CDC) ソーステーブル、ディメンションテーブル、および結果テーブルを作成できます MySQL CDC 機能と ApsaraDB for Redis コネクタも最適化されています。
MySQL CDC 機能:
op_type 仮想列がサポートされ、変更されたデータの操作タイプ (+I、+U/-U、-D) をダウンストリームシステムに渡せるようになりました。 これにより、さまざまな操作タイプに基づいてビジネスロジックとデータクレンジングポリシーを実装できます。
プライマリキーが Decimal 型の MySQL テーブルの読み取りパフォーマンスが最適化されました。 大規模テーブルのデータ変更レコード (SourceRecords) を並列処理できるようになり、効率が向上しました。
ソース再利用機能が導入されました。 複数の MySQL CDC ソーステーブルを含む Flink デプロイでこの機能を有効にすると、デプロイによって、同一の設定 (データベース名、テーブル名、サーバー ID を除く) を持つテーブルがマージされます。 これにより、MySQL サーバーでの複数のデータベース接続と変更リスニングによる負荷が大幅に軽減されます。
バッファ実行がサポートされ、処理パフォーマンスが数倍向上しました。 バッファ実行を有効にするには、sink.ignore-null-when-update パラメーターを設定します。
ApsaraDB for Redis コネクタ:HashMap 型のデータを含むディメンションテーブルまたは結果テーブルをコネクタを使用して作成する場合、プライマリキー以外のキーに対して異なる DDL ステートメントがサポートされるようになりました。 これにより、コードの可読性が向上します。 データガバナンス要件を満たすために、キーのプレフィックスと区切り文字を設定できます。
カタログ管理:MySQL カタログのビュー情報は表示されなくなりました。 MySQL ビューは論理構造であり、データの読み取りと書き込みができないため、これによりデータ操作エラーを防ぎます。
セキュリティ:Kerberos 認証が有効になっている Hadoop クラスタで Hadoop 2.x がサポートされるようになりました。 コネクタ設定などの機密情報はログでマスクされます。
バグ修正:システムの安定性と信頼性を向上させるために、次の問題が修正されました。ClickHouse 結果テーブルで shardWrite パラメーターが有効にならない、特定のケースでスナップショットが生成されない。
このリリースの主な更新と関連リファレンスの詳細については、このトピックの次のセクションを参照してください。 バージョンアップグレードは、カナリアリリース戦略を使用してネットワーク全体に段階的に展開されます。 アカウントのアップグレードが完了したら、VVR エンジンをこのバージョンにアップグレードすることをお勧めします。 詳細については、「デプロイのエンジンバージョンをアップグレードする」をご参照ください。 皆様からのフィードバックをお待ちしております。
機能
機能 | 説明 | リファレンス |
クロスゾーン高可用性の最適化 | 既存の名前空間の CU をシングルゾーンタイプとクロスゾーンタイプの間で変換できます。 | |
データ系列の最適化 | 名前でフィールドを検索したときに複数の一致が見つかった場合は、上下キーを押して結果をすばやく見つけてデータ系列情報を表示できます。 | |
[デプロイ] ページの作成者フィールド | [デプロイ] ページに [作成者] フィールドを表示できるようになりました。 [作成者] フィールドを表示するには、ページの右上隅にある
| 該当なし |
権限管理の最適化 | デフォルトでは、ワークスペースの作成者 (Alibaba Cloud アカウント、Resource Access Management (RAM) ユーザー、RAM ロールなど) には、ワークスペースに属する名前空間の所有者ロールが割り当てられます。 | |
SQL デプロイの状態互換性チェックの最適化 | 最新の状態から再開して SQL デプロイを開始すると、システムはデプロイの変更を自動的に検出します。 [状態の互換性] の横にある [検出するにはクリック] をクリックして状態互換性チェックを実行し、互換性の結果に基づいて後続のアクションを決定することをお勧めします。 | |
Visual Studio Code 拡張機能 | この拡張機能を使用すると、オンプレミス環境で SQL、JAR、および Python デプロイを開発、デプロイ、および実行できます。 また、Realtime Compute for Apache Flink の開発コンソールから更新されたデプロイ設定を同期することもできます。 | |
オペレーターレベルの状態 TTL | この機能は、特定のオペレーターのみが大きな状態 TTL 値を必要とするシナリオに適しています。 オペレーターの状態 TTL 値を設定して状態サイズを制御するには、複数の方法を使用できます。 これにより、大規模状態デプロイのリソース消費が削減されます。
| |
UDF の名前付きパラメーター | この機能により、開発効率が向上し、メンテナンスコストが削減されます。 | |
MySQL コネクタの強化 |
| |
ApsaraDB for Redis コネクタの強化 |
| |
ApsaraMQ for RocketMQ インスタンスのバッファ読み取り | この機能により、処理効率が向上し、リソースコストが削減されます。 | |
MySQL カタログのビュー情報の削除 | MySQL ビューは論理構造であり、データを格納しないため、MySQL カタログのビュー情報は表示されなくなりました。 | |
Kerberos 認証が有効になっている Hadoop クラスタの互換性の強化 | Kerberos 認証が有効になっている Hadoop クラスタで Hadoop 2.x がサポートされるようになりました。 | |
Apache Iceberg コネクタの強化 | Apache Iceberg 1.5 がサポートされるようになりました。 |
修正された問題
VVR 8.0.5 または 8.0.6 で Hologres コネクタを使用すると、WHERE 句のプッシュダウンがデータの正確性に影響を与える可能性があります。
Simple Log Service コネクタを使用してソーステーブルを作成すると、ソーステーブルがコンシューマーオフセットでデータのコミットを続行するため、フェイルオーバー中にデータ損失が発生する可能性があります。
ValueState オブジェクトに TTL が設定されていて、MapState オブジェクトに TTL が設定されていない場合、ValueState オブジェクトに格納されている状態が失われる可能性があります。
動的複合イベント処理 (CEP) の WithinType.PREVIOUS_AND_CURRENT パラメーターの逆シリアル化結果に矛盾が生じる可能性があります。
Realtime Compute for Apache Flink の Web UI に表示される currentEmitEventTimeLag メトリックの値が、コンソールの監視ページに表示される値と一致しません。
Apache Flink 1.17.2 のすべての問題。 詳細については、「Apache Flink 1.17.2 リリースアナウンスメント」をご参照ください。