ストリームデータ処理とは、既にある一定期間のデータを一括で処理するバッチ処理と比較し、無制限に発生する大量のデータをリアルタイムに処理することです。
リアルタイムにデータを処理することで、データの鮮度を保ちながら意思決定のスピードを促進します。
ストリームデータ処理を用いる場面の例として、以下があります。
・ECサイトのレコメンデーション
・交通状況のモニタリングで渋滞を把握
・株価情報のリアルタイムアップデート
・不正アクセス検知 など
いずれも時間の経過と共にデータの鮮度が落ちてきてしまうと、情報にずれが生じて適切な意思決定が難しくなってしまいます。
それとは逆に、リアルタイム性をあまり要求しないような場合や、複雑な分析を必要とするような場合はバッチ処理やアドホック処理などで対応すると良いでしょう。
ストリームデータ処理 | アドホック処理/クエリ処理 | バッチ処理 | |
---|---|---|---|
処理実行タイミング | 常時 | ピンポイント | 一括/定期 |
処理時間 | 常時 | 数秒~数分 | 数分~数時間 |
処理対象 | ストリームデータ | 保存データ | 保存データ |
出力結果の遅延 | 小 | 中 | 大 |
利用場面 | ・異常/不正検知 ・レコメンデーション |
・特定期間の分析 | ・定期処理/更新 ・機械学習 |
状況に応じて処理方法を使い分けることで、より柔軟かつ的確な意思決定ができるようになります。