本トピックでは、Realtime Compute for Apache Flink を用いたリアルタイムビッグデータ処理における、事業部門別および技術分野別に分類された代表的な利用シーンについて説明します。
背景情報
ストリーム計算エンジンとして、Flink はリアルタイムデータ処理に広く活用されています。具体的には、Elastic Compute Service (ECS) インスタンスから出力されるオンラインサービスのログや、IoT(Internet of Things)シナリオにおけるセンサーデータなどです。また、Flink は ApsaraDB RDS(RDS)や PolarDB などのリレーショナルデータベースからバイナリログ(binlog)の更新をサブスクライブすることも可能です。その後、DataHub、Simple Log Service(SLS)、Kafka などのサービスを用いて、これらのリアルタイムデータを Realtime Compute for Apache Flink へ収集・分析・処理できます。最終的に、分析結果を MaxCompute、対話型分析向けの Hologres、Platform for AI、Elasticsearch などの各種データサービスへ書き出すことが可能です。これにより、データ活用効率が向上し、ビジネス要件の達成を支援します。
部門別シナリオ
事業観点から、Realtime Compute for Apache Flink は以下のシナリオで活用されます:
-
事業部門:リアルタイムリスク管理、リアルタイムレコメンデーション、検索エンジン向けリアルタイムインデックス構築。
-
データ部門:リアルタイムデータウェアハウス構築、リアルタイムレポート作成、リアルタイムダッシュボード表示。
-
O&M 部門:リアルタイムモニタリング、リアルタイム異常検知およびアラート通知、エンドツーエンドデバッグ。
技術分野
技術観点から、Realtime Compute for Apache Flink は以下のシナリオで活用されます:
リアルタイム ETL およびデータストリーム
リアルタイム抽出・変換・書き出し(ETL)およびデータストリームは、データをある地点から別の地点へリアルタイムで配信するプロセスです。このプロセスには、データクリーニングや統合といったタスクが含まれる場合があります。具体的な例として、検索インデックスのリアルタイム構築や、リアルタイムデータウェアハウス向けの ETL 処理の実行が挙げられます。
リアルタイムデータ分析
データ分析とは、生データから情報を抽出・統合し、ビジネス目標を達成するためのプロセスです。例えば、日次トップ 10 ベストセラー商品の確認、倉庫平均回転期間の算出、ドキュメント平均クリック率の把握、プッシュ通知の開封率の測定などが該当します。リアルタイムデータ分析では、このプロセスをリアルタイムで実行し、結果をリアルタイムレポートやダッシュボード上に表示することが一般的です。
イベント駆動型アプリケーション
イベント駆動型アプリケーションは、サブスクライブした一連のイベントを処理または応答するアプリケーションです。こうしたアプリケーションは、内部状態に依存することが多く、詐欺検知、リスク管理システム、O&M 異常検知システムなどが代表例です。ユーザーの動作がリスク管理ルールをトリガーすると、システムはそのイベントをキャッチし、ユーザーの現在および過去の動作を分析して、リスク管理措置を適用するかどうかを判断します。
リスク管理システム
Realtime Compute for Apache Flink は、複雑なストリームおよびバッチタスクを処理できます。また、高度な数学的計算や複雑なイベント処理ルールを実行するための強力な API を提供しており、企業がリアルタイムでデータを分析し、リスク管理能力を向上させることを支援します。例えば、アプリケーション内のクリック動作の検知や、IoT データストリームにおける不規則な変化の特定などが可能です。
上記の技術分野に関するフローチャートは、Apache Flink 公式ウェブサイトより引用しています。