バックフィル【backfill】

バックフィルとは?

組織内でのデータ管理において、過去の期間に遡ってデータを補完・再処理する作業のこと。システム障害や仕様変更によって生じた欠損や不整合を後から修正する作業で、データ全体の連続性と一貫性を保つ。
バックフィルのイメージ画像

バックフィルが必要になる典型的な場面として、データパイプラインの停止が挙げられる。サーバ障害やプログラムの不具合により、一定期間のデータが蓄積されなかった場合、復旧後にその期間を遡って処理し直すことで連続性を回復する。バックアップや別ソースのログから情報を抽出してデータベースへ投入し直す作業がこれにあたる。

また、集計ロジックや変換ルールの変更などを行った際に、過去のデータを再処理することもある。新しい集計指標を導入した際、稼働以前の蓄積済みデータに同じ計算を適用することで、古い期間と新しい期間で比較可能なデータに揃えることができる。機械学習の学習データや長期の統計分析では、期間を通じた整合性が求められるため、こうした再処理が発生しやすい。

実行にあたっては、同じデータの二重登録を防ぐためにタイムスタンプや識別子による制御が必要で、テスト環境での検証や実行範囲の慎重な設定が求められる。また、大量データを一度に処理するとシステム負荷が高まり、通常業務に支障が出る場合があるため、夜間や休日への分散、処理リソースの確保といった工夫が必要となることが多い。「Apache Airflow」や「dbt」などのデータオーケストレーションツールにはバックフィル専用の機能が用意されており、対象期間を指定して効率よく再実行できる。

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。