MEGAZONEブログ
![データからの価値を加速する – バッチ処理からストリーム処理への移行](https://www.hyperbilling.jp/wp-content/uploads/2024/01/image1.png)
データからの価値を加速する – バッチ処理からストリーム処理への移行
Accelerating value from data – Migrate from batch to stream processing
Pulisher : AI & Data Analytics Center ソン・スルギ Description : 従来のバッチ処理からストリーム処理に移行する際の優位性について紹介するセッション
はじめに
データが氾濫する時代に、データを保有することが重要なのではなく、そのデータから意味を発見することが重要な時代を超え、今は誰が先にその意味をより早く発見するかが重要な時代になりました。
これにより、バッチ処理環境からリアルタイム処理環境へのデータ処理環境を加速した事例を通じて、迅速にデータの意味を発見する環境への移行ノウハウとベストアーキテクチャに対するインサイトを得ることができると期待しています。
セッションの概略紹介
急速に変化する現在のビジネス環境において、組織が競争力を維持し、ダイナミックな市場や顧客のニーズに対応するためには、データからタイムリーな洞察を得ることが重要です。
本セッションでは、従来のバッチデータ処理方式からストリーム処理に移行する際の競争優位性についてご紹介します。
移行の過程で発生する可能性のある問題と問題を解決するためのストリーミングの主な概念とアーキテクチャパターンを確認することができます。使用例を通じて、AWSストリーミングデータサービスを使用してバッチ処理からリアルタイムデータ処理への移行を成功させる方法についての洞察を得ることができます。
![](https://www.hyperbilling.jp/wp-content/uploads/2024/01/image2.png)
![](https://www.hyperbilling.jp/wp-content/uploads/2024/01/image3-1.png)
![](https://www.hyperbilling.jp/wp-content/uploads/2024/01/image4.png)
データからインサイトを得るために
現代はデータからインサイトを得て、そのインサイトを通じてユーザーと対話することがデータから価値を生み出す方法です。
これらの価値をさらに最大化するためには、遅延を最小限に抑えることが重要です。
![](https://www.hyperbilling.jp/wp-content/uploads/2024/01/image5-1.png)
データの減価償却
データは一日が過ぎると過去(Historical)データになってしまい、その価値が急激に低下します。
秒~時間以内のデータを準リアルタイムデータと呼び、この期間中にデータを価値ある活用するための多くの努力が行われています。
1秒以内あるいは事前にデータを予測するMLなどの技法でデータを処理することは価値と活用度が高いです。
![](https://www.hyperbilling.jp/wp-content/uploads/2024/01/image8-1-1024x571.png)
![](https://www.hyperbilling.jp/wp-content/uploads/2024/01/image6-1024x594.png)
初期要件とアーキテクチャ
初期要件は、日別各製品の在庫及び顧客の店舗と商品に対する購買習慣に基づいて翌日プロモーションコードを発行することでした。
これに基づいて顧客データが収集されると、日バッチ作業でデータを送信して処理し、処理されたデータを視覚化と同時にプロモーションを発送する方式のアーキテクチャを構成しました。
しかし、この方法は顧客の追加購買誘導効果が低く、在庫量を改善するのに大きな効果がないことを確認しました。
![](https://www.hyperbilling.jp/wp-content/uploads/2024/01/image9-1-1024x588.png)
![](https://www.hyperbilling.jp/wp-content/uploads/2024/01/image7-1-1024x558.png)
![](https://www.hyperbilling.jp/wp-content/uploads/2024/01/image11-1024x556.png)
新規要件とアーキテクチャ
初期要件の制約を改善するため、新規要件はマーケティング調査を通じてプレミアム顧客をターゲットに顧客の購買習慣と在庫を改善できるように5分ごとに更新されることを新規要件として設定しました。
このような要件を満たすために、既存の作業バッチ形式の作業をどのようなサービスを活用してアーキテクチャを構成すべきかについての悩みがありました。
様々なアーキテクチャを検討した結果、1時間単位の作業はDMSを通じて変更分をキャプチャするCDC方式を採用しました。
リアルタイムデータに対する収集は、API Gateに流入されたデータをKinesis Data Streamが受け取り、FlinkとSparkでデータを即座に処理してプロモーションコードを発行するアーキテクチャを完成しました。
![](https://www.hyperbilling.jp/wp-content/uploads/2024/01/image10-1-1024x558.png)
覚えておくべきこと
ストリーミングデータを生成する方法は、アプリケーションイベントを収集する方法と、データストレージの変更をキャプチャする方法の2つがあります。
End-to-Endサービスの所要時間を短縮するためには、データがパイプライン内部に留まらないようにする必要があります。
従来のバッチ形式のデータをストリーム方式で処理することで、短時間で目的のサービスを提供することができます。
このようにデータに対してストリーミングデータを発生させることができるか、データが滞留しないアーキテクチャの実装が可能か、根本的にデータを最終的に活用しようとする目的を持ってアーキテクチャに対する適切な転換を行う必要があります。
セッションを終えて
データの活用方法によってデータからどのような価値を創出できるかどうかが変わり、その価値を実現できる適切なアーキテクチャを選定することの重要性を確認することができました。
データはそれぞれの状況と環境が全て異なるため、データをどのように活用するかという悩みやNeedsを正確に把握することが先行されなければならず、プロジェクトを遂行する過程で先行されれば全体の流れに大きな助けになると期待されます。