分かりやすく言うと、集約とは、詳細な基本レベルのファクト表レコードから、要約データを計算するプロセスのことです。 集約は、ディメンション・データマートでの照会処理速度を上げるための強力なツールです。 集約は主として、階層の一部を成すディメンションの属性を使用して実行されます。
階層に属する各属性は、階層の他の属性に親または子として関連付けられています。 この親子関係により、さまざまなレベルの要約が可能になります。 さまざまなレベルの要約により、ビジネス・ユーザーはレポート内でドリルアップまたはドリルダウンすることができます。 データが集約されればされるほど、詳細な原子レベルのデータよりも短時間で検索できます。 ファクト表は、通常、集約データに比べて大容量のスペースを占有します。
最低レベルの集約 (つまり、最高レベルの詳細さ) を、ファクト表のグレーンと呼びます。 ディメンションの細分度は、データ・ストレージの設計とデータの検索方法に影響を与えます。
集約は、大容量の詳細なファクト表のサイズを削減するための代替策ではありません。 ファクト表内のデータを要約すると、ディメンションおよびメジャーの形式で存在した詳細情報が失われることがしばしばあります。 要約したファクト表の詳細情報がビジネスで必要になっても、そのデータは利用できません。 ユーザーは、集約ファクト表のデータを提供元である、ソースの OLTP システムでその詳細を探す必要があります。 ビジネスの回答を得るためにソースの OLTP システムを使用する必要がある場合は、ディメンション・モデルが必要かどうかを再評価してください。
年初来の集約メジャーを詳細メジャーと一緒に含めることで、集約データと詳細データを混合しないでください。 年初来のメジャーは加算項目であり、データ・タイプを混合すると、計算間違いが発生する可能性があります。
表をパーティション化する場合、行、列、またはその両方で表を分割します。 表を列で分割することを、垂直分割と言います。 行で分割することを、水平分割と言います。 大きなファクト表をパーティション化すると、個々のパーティションはより管理が容易なため、パフォーマンスが改善されます。 表は、ディメンション・モデル内の取引日のディメンションに基づいてパーティション化します。 例えば、数十億の行からなる巨大なファクト表がある場合、1 カ月のデータごとに専用のパーティションを割り当てるのが理想的です。