[Next] [Previous] [Up] [Top] [Contents] [Index]
Entwurf des Data Warehouse
3.2. Entwurf der Faktentabellen
3.2.1. Die Erstellung der Faktentabellen
Aufgrund der erkannten Fakt- und Dimensionsdaten kann eine Faktentabelle erstellt werden. Der Name der Faktentabelle beschreibt die Fakten, also grundlegende Geschäftsvorgänge. Die Spalten der Faktentabelle bestehen aus den Fremdschlüsseln, die in den Dimensionstabellen als Primärschlüssel dienen, und anderen relevanten Eigenschaften sowie Informationen des Geschäftsvorganges. Das Ziel beim Entwurf von Faktentabellen besteht darin, daß das Nutzen der zur Verfügung gestellten Informationen entsprechend Geschäftsanforderungen im ausgeglichenen Verhältnis mit dem Umfang der Faktentabellen steht. Hierbei ergibt sich folgende Probleme:
- Die Auswahl der richtigen Spalten: Nur die Attribute, welche grundlegende Ereignisse beschreiben, den Geschäftsanforderungen dienen und außerdem nicht aus anderen Quellen abgeleitet werden, werden als Spalten der Faktentabelle dargestellt.
- Das Ablegen von Zeiten in der Faktentabelle: Dafür gibt es drei Möglichkeiten: Verwendung der physischen Datumsangaben, Verwendung eines Datums-Offsets vom eigentlichen Anfang und Verwendung eines Zeitraumes.
- Die Speicherung von Beispielen genügt manchmal, insbesondere wenn Trends untersucht werden sollen. Die restlichen Daten werden durch Aggregationsmethoden zusammengefaßt.
3.2.2 Die Partitionierung der Faktentabelle
Der große Umfang der Faktentabellen führt dazu, daß eine Partitionierungsstrategie durchgeführt werden muß, um den Verarbeitungsprozeß effizienter zu beeinflußen. Die Partitionierung beruht darauf, daß nicht alle in der Faktentabelle enthaltenen Informationen zum selben Zeitpunkt benötigt werden. Durch die Partitionierung wird die Faktentabelle in mehrere kleine, physisch selbständige Dateneinheiten aufgeteilt, damit die zu durchsuchende Datenmenge verringert und daher die Abfrage beschleunigt wird.
Es kann zwischen einer horizontaler Partitionierung und einer vertikaler Partitionierung der Daten unterschieden werden:
a) Horizontale Partitionierung
Am häufigstens wird eine Partitionierung nach der Zeit durchgeführt. Jedoch ist eine Aufteilung in gleich große Zeitabschnitte nicht immer günstig. Meistens ist es sinnvoller, in unterschiedlichen Zeitabschnitten zu partitionieren. Man verwendet zum Beispiel kleine Partitionierung für aktuelle Daten und größere Partitionierung für weniger aktive Daten. Der Nachteil dabei liegt darin, daß die Tabelle in regelmäßigen Abständen umpartitioniert werden muß.
Außerdem kann es nach einer anderen als der zeitlichen Dimension partitioniert werden. Das sind im allgemeinen solche Dimensionen, nach denen häufig abgefragt wird und die sich wahrscheinlich nicht verändern werden. Eine Partitionierung der sich im Laufe der Zeit noch verändernden Dimension hebt die Betriebskosten, weil eine Umstrukturierung der Faktentabelle benötigt wird. Beispiele für zu vermeidende Partitionierungsgrundlagen sind: Kunde (ständige fortlaufende Veränderung), Produkt (mögliche zukünftige Veränderung), Ort (wenn das Unternehmen geographisch umstrukturiert werden soll), ...
Wenn keine angemessene Partitionierungsdimension existiert, erfolgt die Partitionierung nach der Größe der Faktentabelle. Die Größe der Partitionen muß vorher festgelegt werden.
b) Vertikale Partitionierung
Diese Art der Partitionierung wird bei einer Faktentabelle angewendet, wenn einige ihre Spalten nur selten benötigt werden. Die Daten aus diesen Spalten werden einfach aus der Tabelle abgetrennt. Die Spaltenaufteilung unterscheidet sich grundsätzlich vom Normalisierungsprozeß: während führt eine Spaltenaufteilung eher zu einer 1:1-Abbildung zwischen den Partitionen, erzeugt die Normalisierung eine 1:n-Abbildung.
05.06.98
[Next] [Previous] [Up] [Top] [Contents] [Index]