【正解】C
【0からの解説】
①前提知識
・バッチ処理:一定期間(例:1 か月)分のデータをためておき、まとめて一括処理するやり方。結果が出るのは処理を実行したときだけなので、データが発生してから分析結果が得られるまでに時間差があります。
・ストリーム処理(ストリーミング分析):データが発生した瞬間から、流れてくるデータを途切れなく処理・分析するやり方。売上が発生するたびに数秒〜数分で集計結果に反映できます。
Google Cloud では、Pub/Sub(発生したデータを受け取って配信する「メッセージの受け渡し役」)、Dataflow(流れてくるデータを変換・集計するフルマネージド サービス)、BigQuery(分析用のデータ ウェアハウス)を組み合わせてストリーミング分析を実現できます。
②問題文の要件と制約語の整理
・現状:毎月末にまとめてバッチ処理 → 最大で約 1 か月遅れの情報で判断している
・目標:精度を高めたい(最新のデータに基づく判断)、「ほぼリアルタイム(near real-time)」で意思決定したい
「ほぼリアルタイム」が決定的なキーワードです。
③正解がその要件をどう満たすか
ストリーム処理に切り替えれば、販売データが発生するたびに継続的に処理・分析されるため、最新の売れ行きや傾向をほぼリアルタイムで把握できます。古いデータではなく「今」のデータで判断できるので、意思決定の精度も上がります。在庫補充や販促の変更などを素早く行えるようになります。
【誤りの選択肢】
A:リレーショナル データベースから NoSQL データベースへの変更は、データの保存形式や拡張性の選択に関する話です。月末にまとめて処理するという「処理のタイミング」が変わらない限り、ほぼリアルタイムの意思決定は実現できません。
B:データをフィルタリング(絞り込み)すればレポート生成は速くなるかもしれませんが、元のデータが月末にしか処理されない点は変わりません。また、データを減らすことで分析に必要な情報が欠け、精度がかえって下がるおそれがあります。
D:月次を週次にすれば遅れは縮まりますが、それでも最大 1 週間遅れの情報で判断することになり、「ほぼリアルタイム」にはほど遠いです。根本的な解決にはなりません。
【参考】
ストリーミング分析とはPub/Sub とは