本文へスキップ

セッションウィンドウとは?

せっしょんうぃんどう

セッションウィンドウとは、データストリーム処理において一定時間イベントが途絶えたことを区切りとして動的にグループ化する時間窓の一種です。

セッションウィンドウ(Session Window)は、ストリーデータ処理で使われるウィンドウ時間的なデータの区切り)の一種です。固定した時間幅ではなく、イベント間の無活動期間(ギャップ)を基準にウィンドウの境界を動的に決定する点が最大の特徴です。

一般的なウィンドウの種類を比較すると、タンブリングウィンドウは一定幅で区切る固定分割、スライディングウィンドウは重複を許しながら移動する分割であるのに対し、セッションウィンドウは「一定時間イベントがなければウィンドウを閉じる」という動的な分割を行います。このギャップ時間の設定値をセッションタイムアウトと呼びます。

セッションウィンドウが有効な典型的なシナリオは次のとおりです。

  • ユーザー行動分析:一定時間操作がなければ1つのセッションとして集計(セッション時間・PV数など)
  • センサーデータ:センサーが連続して値を送信している期間をひとつのアクティビティとして捉える
  • クリックストリーム分析:広告クリック後の一連の行動をセッションとして追跡する

Apache Flink・Apache Spark Structured Streaming・Google Cloud Dataflowなどのストリーム処理フレームワークで標準的にサポートされています。Webアクセスログ解析や広告効果計測などのビジネス用途で広く活用されており、従来のWebサーバーのセッション概念をリアルタイムストリーム処理に応用したものです。

使い方・例文

ECサイトでユーザーが30分間操作しなければセッション終了とみなすセッションウィンドウを設定すると、各ユーザーの1回の訪問中に閲覧したページ数や購入金額をリアルタイムで集計できます。

この用語をシェア

𝕏 でポスト LINE

最終更新:

関連用語