Das Sternschema ist keine Erfindung von SAP und kann auch über eine relationale Datenbank realisiert werden. Ich fresse mich aktuell durch William H. Inmon / Building the Data Warehouse, fourth Edition. Der Stoff ist zwar schon über drei Jahrzehnte alt, ist aber auch heute noch Basis für das Verständniss eines Data Warehouses.
Es geht bei dem Sternschema um einen optimierten Zugriff auf die Daten. Ziel ist die Verringerung des während einer Abfrage zu durchsuchenden Datenvolumens und damit eine Beschleunigung der Abfrage
- Um ein Resultat zu erhalten muss nicht der gesamte Datenbestand in einer Abfrage durchsucht werden
- Unterscheidung zwischen beschreibenden und quantifizierenden Daten (Merkmale / Fakten)
- Unterscheidung danach, wer auf den Daten reporten will (Dimensionen)
- Indizierung von Texten
- Trennung von Bewegungs- und Stammdaten
- Bestimmung von Data Marts, also Teilmengen, die sich am Bedarf des Reportings orientieren
Um ein Resultat zu erhalten, muss nicht der gesamte Datenbestand in einer Abfrage durchsucht werden
Ich halte diese Erkenntniss, so trivial sie auch erscheint, für den Kern einer beschleunigten Abfrage. Je schneller eine kleinere Teilmenge bestimmt werden kann, desto weniger Zeit benötige ich. Grade bei dem Hintergrund, das in der Zeit, in der Datenzugriff auch mechanische Arbeit auf den Drehorgeln des Speichers bedeutete, war diese Erkenntniss fundamental.
Unterscheidung zwischen beschreibenden und quantifizierenden Daten
Ist die Grundlage für die Trennung im SAP – Raum nach Merkmalen und Fakten. Im SQL ist diese Trennung nicht vorhanden, hier besteht ein Datensatz aus Feldern. Fakten als rein quantitative Werte müssen nicht durchsucht werden.
Bildung von Dimensionen
Die Idee zu den Dimensionen basisert auf der Annahme / Vermutung / Erkenntnis, dass nicht jeder Datennutzer interesse an allen Daten hat, sondern eine fachspezifische Sicht auf sie hat. Viele Werte interessieren ihn nicht. Das lässt zu, dass die Menge der beschreibenden Werte in Benutzerspezifische Segmente unterteilt werden kann.
Indizierung von Texten
Gehört jetzt nicht mehr zum Kern des allgemeinen Sternschemas (?). Texte sind nur zeitaufwendig zu Vergleichen. Eine Möglichkeit, diesen Vorgang zu beschleunigen ist es, anstatt des Textes direkt auf eine Tabelle mit eindeutigen Textwerten zu referenzieren, bei der Abfrage wird nicht nach dem Text direkt gefragt, sondern es wird lediglich der Indexwert als Surrogat numerisch verglichen