ファクトテーブル【fact table】
概要

主に業務活動の結果として発生する数量的なデータを格納する表であり、売上額、販売数量、在庫数、クリック数、滞在時間などの指標が記録される。これらの値は一般に「メジャー」(measure)と呼ばれ、集計や分析の対象となる。ファクトテーブルには多くの場合、日時、商品、顧客、店舗などを表すディメンションテーブルの主キーを参照する外部キーが含まれており、これによって各取引や出来事の状況を多角的に説明できる構造になっている。
データウェアハウスでは、ファクトテーブルを中心に複数のディメンションテーブルが放射状に接続される「スタースキーマ」がよく用いられる。この構造により、例えば「特定の商品カテゴリの月別売上」や「地域別の販売数量」といった集計処理を効率的に実行できる。
ファクトテーブルの設計では、どのくらいの単位でデータを記録するかを示す「粒度」(grain)の定義が重要である。1回の取引、1日の集計、1商品の販売明細など、分析目的に応じて粒度が決められる。粒度が細かいほど詳細な分析が可能になるが、データ量は大きくなる。
ファクトテーブルは業務の実績を積み上げる性質上、レコード数が非常に多くなりやすい。大規模なシステムでは数億から数十億行に達することもあり、データを参照するクエリの性能を確保することが設計上の重要な課題となる。日付単位などで保存領域を分割する「パーティショニング」や、テーブルのデータを列ごとに格納する「カラム指向データベース」などを用いて大量のデータを捌ける体制を整える。