**ビッグデータの道具を選ぶ前に、必要な結果、期限、正しさのルールから考えます。**データが大きいだけで分散処理フレームワークが必要になるわけではありません。
毎朝、前日の加盟店別売上が必要だとします。これは、決済を承認する前に不審な支払いを検出する処理とは異なります。どちらも大量のレコードを扱い得ますが、一方は定期処理を許容し、もう一方は素早い判断が必要です。
1. 処理対象を定義する
既存データ量、新規データの到着速度、必要なフィールド、保存期間を明確にします。売上レポートでは、返金を元の売上日と返金日のどちらに反映するか合意します。このルールがなければ、高速なパイプラインでも合計は誤ります。
正本と、遅れて届くレコードや修正の扱いも定めます。それによって過去の結果を確定できるか、後から改訂すべきかが決まります。
2. 分散する前に仕事を減らす
ファイル読み取り、DBクエリ、計算、ネットワーク転送、結果書き込みのどこに時間と資源を使うか測ります。無関係なレコードを早期に除き、必要な列だけ読みます。
