Apache Flinkの登場
デジタル経済革命の波は、人々の働き方や暮らし方を破壊的に変えつつあり、インターネット、クラウド コンピューティング、ビッグデータ、モノのインターネット、人工知能などにより、デジタル経済は世界経済の成長においてますます重要な役割を果たしています。近年、代表的なデジタル技術が急速に発展し、デジタル技術と伝統産業の深い融合が莫大なエネルギーを放出し、経済発展を牽引する強力な原動力となっています。
中国では2008年からビッグデータ技術が徐々に登場し、すでに10年以上が経過していますが、この間ITも急速に発展しており、ビッグデータの出現と活用が中国の急速な発展を助けることは間違いありません。それ。時間が経つにつれて、データ生成から処理完了までの時間遅延を最小限に抑え、リアルタイム処理によってもたらされるさまざまな複雑な問題に対処できるようにするために、リアルタイム処理に対する要件がますます高まる企業が増えています。データ遅延、データ状態の保存、複雑なイベント検出メカニズムなど。
Apache Flink は、このような状況の中で生まれました。データ ストリーム処理とバッチ データ処理のための分散オープン ソース コンピューティング フレームワークです。同じ Flink ストリーミング実行モデル (ストリーミング実行モデル) に基づいており、ストリーミングをサポートできます。アプリケーション、処理、バッチ処理。
Flink がストリーム処理とバッチ処理を実装する場合、従来のソリューションとはまったく異なります。ストリーム処理とバッチ処理を別の観点から見て、この 2 つを統合します。Flink はストリーム処理を完全にサポートします。つまり、ストリーム処理とみなされます。入力データ ストリームはバッチ処理中に制限されません。バッチ処理は特別なストリーム処理とみなされますが、その入力データ ストリームのみが制限付きとして定義されます。
なぜストリームのバッチ統合に取り組む必要があるのでしょうか?
バッチフロー統合コンピューティング エンジンを通じて、データ処理リンクで多くのメリットが得られます。
- 学習コストを削減するために、ユーザーは 2 セットのコンピューティング エンジンを学習する必要がなくなり、同じコンピューティング セマンティクスを使用する統合エンジンを通じて、エラーの可能性が大幅に減少します。
- リソース消費を削減するため、従来のlamdaアーキテクチャではバッチとストリームの2つのデータ処理チャネルが同時に存在していましたが、ストリームとバッチの統合により、データ処理チャネルは1つになります。さらに、短期間に大量のデータ セットを処理するバッチ コンピューティングと比較して、ストリーム コンピューティングはより小規模なデータ セットを処理するため、必要なコンピューティング リソースが大幅に削減されます。
- アーキテクチャの複雑さを軽減し、バッチ コンピューティングは整合性を実現し、ストリーム コンピューティングはリアルタイムを提供します。バッチ コンピューティングとストリーム コンピューティングは異なるアップストリームとダウンストリームに関連付けられ、ストリームとバッチの統合およびストリームとバッチの統合を通じて、非常に複雑なデータ処理アーキテクチャになります。上流と下流のシンプルなデータ処理アーキテクチャは、アーキテクチャにシンプルさと美しさをもたらすだけでなく、ビジネス処理を統合して安定化します。
- 価値出力の効率を向上: バッチ コンピューティングの代わりにストリーム コンピューティングを使用することで、本来の高遅延のデータ出力がよりリアルタイムになり、ビジネスの価値出力をより効果的にサポートできます。
Apache Flink に基づいたストリームとバッチの統合アーキテクチャの構築
まず、Flink は Flink SQL 開発のセットであり、開発コストが 2 セットかかることはありません。開発チームと一連のテクノロジー スタックは、すべてのオフラインおよびリアルタイムのビジネス統計を実行できます。
第二に、データリンクに冗長性がなく、詳細なレイヤの計算だけで十分であり、オフラインで再度計算する必要がない。
第三に、データの品質には当然一貫性があります。オフライン処理であってもリアルタイム処理であっても、エンジンの集合、SQLの集合、UDFの集合、開発者の集合であるため、当然一貫性があり、相互間の不整合の問題は発生しない。リアルタイムおよびオフラインのデータ。