-
Die Erfindung betrifft ein Verfahren
und eine Datenablage zur Auswertung von Massendaten mittels On-Line
Analytical Processing (OLAP). OLAP ist eine Kategorie von Anwendungen
und Techniken zum sammeln, verwalten, auswerten und darstellen von
multidimensionalen Daten zu Management- und Analyse-Zwecken.
-
Für
die Auswertung von Massendaten werden einerseits relationale Datenbanken
und andererseits multidimensionale Datenbanken eingesetzt. Relationale
Datenbanken speichern Daten in multiplen Tabellen, die "Relationen" zueinander haben.
Die Tabellen und die Relationen bilden zusammen die vollständige Datenbank.
Einige Arten von Fragestellungen lassen sich mit Hilfe von Tabellen
und Relationen nicht gut abbilden.
-
Multidimensionale Datenbanken andererseits
bearbeiten Datenstrukturen mit drei oder mehr unabhängigen Dimensionen,
die einen sogenannten Datenwürfel
bilden, wobei man sich den im Dreidimensionalen noch vorstellbaren
Datenraum verallgemeinert. Jede Dimension der Daten bildet eine
Koordinatenachse des Datenwürfels.
Auf einer Koordinatenachse liegen diskrete Datenelemente, nämlich Basiselemente
als auch konsolidierte Datenelemente, welche mehrere Basis- und/oder
andere konsolidierte Elemente zusammenfassen. Bei Betrachtung eines
bestimmten Datenelementes in einer Dimension (Beschränkung in
dieser Dimension auf ein Datenelement) erhält man eine sogenannte Ebene
im Datenwürfel.
Insbesondere bei konsolidierten Datenelementen betrachtet man die
entsprechende Konsolidierungsebene. Derartige konsolidierte Datenelemente
werden zu bestehenden immer neu hinzugefügt, um weitere neue Fragestellungen
zu bearbeiten. Damit einerseits die Datenbank nicht zerteilt wird,
andererseits aber sowohl die bisherigen als auch die neu hinzukommenden
Fragestellungen performant behandelt werden sollen, akkumulieren
im Laufe der Zeit die konsolidierten Datenelemente.
-
OLAP unterstützt es, Daten unter einer Dimensionalität entsprechend
dem Verständnis
eines Benutzers zu betrachten und interaktiv zu bearbeiten. OLAP
Datenbanken nach dem Stand der Technik erreichen ihre Performance
durch die trickreiche Verwendung von Indizes. Kann eine Fragestellung
nicht geeignet mittels eines Index bearbeitet werden, so wird auf
einen Full Table Scan zurückgegriffen,
also einer Durchsicht der gesamten Datenbank nach Daten, welche
definierte Auswahlkriterien erfüllen.
Die aus diesen Ansätzen hervorgehende
Software ist umfangreich und komplex.
-
Ein Nachteil bei multidimensionalen
Datenbanken, insbesondere OLAP Datenbanken, nach dem Stand der Technik
ist, dass die Konsolidierung, d.h. die Einführung neuer konsolidierter
Datenelemente, zu einer Aufblähung
des Datenraums führt,
die als Explosion des Datenwürfels
bekannt ist. Das bedeutet, dass der Datenwürfel von der Anzahl der Zellen
nicht mehr performant zu handhaben ist und Rechenzeitprobleme und möglicherweise
auch Speicherbedartprobleme auftreten.
-
Aufgabe der Erfindung ist es daher,
ein Verfahren und eine Datenablage zur Auswertung von Massendaten
zu schaffen, welches einerseits Vorteile von OLAP nutzt und andererseits
die Nachteile einer Explosion des Datenwürfels vermeidet.
-
Diese Aufgabe wird nach der Erfindung
durch ein Verfahren und eine Datenablage mit den Merkmalen der unabhängigen Ansprüche gelöst.
-
Erfindungsgemäß wird mit dem Vorgehen der
multidimensionalen Datenbanken nach dem Stand der Technik gebrochen,
dass in der Datenbank, welche die Massendaten enthält, aus
diesen Massendaten konsolidierte Daten gespeichert werden. Statt
dessen wird ein Vorteil darin erkannt, dass heute Datenformate bekannt
sind, die bezüglich
der Geschwindigkeit eines sequentiellen Lesens und Vergleichens
der Daten optimiert sind, und erfindungsgemäß werden diese Datenformate
für eine
Auswertung mittels OLAP nutzbar gemacht.
-
Die Vorteile der Erfindung zeigen
sich vor allem bei sehr großen
Mengen multidimensionaler Daten aus einer Vielzahl sequentieller
Beiträge,
die nach vielen verschiedenen Merkmalen ausgewertet können. Vor allem
dann, wenn neue Auswertungsaspekte in der Zukunft hinzukommen.
-
Weitere Vorteile und Einzelheiten
der Erfindung ergeben sich aus den Unteransprüchen und aus der nachfolgenden
Beschreibung bevorzugter Ausführungsbeispiele
anhand der Zeichnungen.
-
In den Zeichnungen zeigt:
-
1 ein
Flußdiagramm
mit einem Verfahrensablauf zur Auswertung von Massendaten gemäß der Erfindung;
-
2 ein
Flußdiagramm
mit einem Verfahrensablauf in Unterschritten zu einem Verfahrensschritt
zu einer allgemeinen Datenstruktur aus 1 gemäß der Erfindung;
-
3 ein
Schema eines Datentupels für
das Speichern von Massendaten gemäß der Erfindung;
-
4 ein
Flußdiagramm
mit einem Verfahrensablauf in Unterschritten zu einem Verfahrensschritt
zur Ergebnisberechnung aus 1 gemäß der Erfindung;
-
5 ein
Flußdiagramm
mit einem anderen Verfahrensablauf in Unterschritten zu einem Verfahrensschritt
zur Ergebnisberechnung aus 1 gemäß der Erfindung;
und
-
6 ein
Schema einer ersten Datenbank für
das Speichern von Dimensionsinformationen gemäß der Erfindung.
-
Die Erfindung wird nun anhand der
Figuren mit wichtigen Ausführungsformen
beschrieben, wobei zunächst
das Verfahren in einer von Anwendungsbeispielen unabhängigen Allgemeinheit
dargestellt wird und anschließend
zusätzlich
zwei einfache praktische Anwendungsbeispiele die Erfindung auf der
Ebene konkreter Texte und Zahlen erläutern werden.
-
Zunächst werden Ausgangspunkte
für ein
Verfahren zur Auswertung von Massendaten gemäß der Erfindung beschrieben.
Die Massendaten sind Daten zu einem zu einem gemeinsamen spezifischen
Thema oder enthalten zumindest solche Daten. Die Daten zu dem Thema
lassen sich in Datenelemente gliedern, wobei sogenannte Basis-Datenelemente als
Massendaten vorliegen und sogenannte aggregierte Datenelemente daraus
berechnet werden. Die Massendaten liegen üblicherweise als eine Vielzahl
von Tupeln von Basis-Datenelementen mit themaspezifischen Bedeutungen
und zugeordneten Werten vor. Die Massendaten können beispielsweise in verschiedenen
Datenquellen erhoben und zu einer gemeinsamen Datensammlung, den Massendaten
zusammengefaßt
werden. Die vorliegenden Massendaten unabhängig von ihrer Herkunft bilden einen
Ausgangspunkt für
die Anwendung der Erfindung.
-
Die Massendaten werden nun mittels
OLAP ausgewertet. Die Auswertung dient einer Datenverdichtung, wobei
aus der im Allgemeinen unübersichtlichen
großen
Menge von Einzeldaten Kennzahlen berechnet werden, die die Massendaten
in Bezug auf eine themaspezifische Kenngröße beschreiben. Einfache Beispiele für solche
häufig
verwendeten Kenngrößen sind
Mittelwerte, gewichtete Mittelwerte, Varianz, Extremwerte. Diese
aktuell interessierenden Kenngrößen hängen jedoch
vom Thema und innerhalb des Themas von einer jeweiligen aktuellen
Fragestellung ab. OLAP ermöglicht
es nun, derartige Fragestellungen sehr flexibel in Formeln für gewünschte bekannte
oder neue Kenngrößen zu fassen
und die Massendaten danach on-line auszuwerten. Die Findung einer
Fragestellung und ihre Bearbeitung zu einer Formel ist den Fachleuten
der jeweiligen Themen geläufig
und nicht Gegenstand der Erfindung, sondern bildet einen weiteren
Ausgangspunkt für die
Anwendung der Erfindung.
-
In 1 ist
ein Verfahren zur Auswertung von Massendaten gemäß der Erfindung in Flußdiagramm 10 in Übersichtsschritten
dargestellt, deren Details anschließend beschrieben werden. In
Verfahrensschritt 12 wird eine allgemeine Datenstruktur
für die
Massendaten vorbereitet. Dies geschieht mittels OLAP nach einem der
bekannten Verfahren im Hinblick auf eine gute Auswertbarkeit bezüglich üblicherweise
zum Thema anfallenden allgemeinen Fragestellungen. In Verfahrensschritt 14 wird
mittels OLAP eine spezielle Auswertefragestellung vorbereitet. In
Verfahrensschritt 16 werden die Massendaten gemäß der allgemeinen
Datenstruktur in besonderer Weise in eine Datei geschrieben. In
Verfahrensschritt 18 werden zur vorbereiteten speziellen
Auswertefragestellung aus Schritt 14 Schlüssel, Gewichte und eine Auswerteformel
ermittelt. Damit erfolgt in Verfahrensschritt 20 das Auswerten
der in Schritt 16 geschriebenen Massendaten.
-
Der Fachmann sieht hier, dass die
Schritte 14 bis 18 nicht auch in einer anderen Reihenfolge auftreten können, da
Schritt 16 von den Schritten 14 und 18 unabhängig ist.
-
2 beschreibt
Details von Verfahrensschritt 12 aus 1 in Flußdiagramm 30 in Form
von beispielhaften Teil- und Unterschritten zu Verfahrensschritt 12.
Im ersten Teilschritt 32 werden Massendaten und verschiedenartige
interessierende Fragestellungen spezifisch zum jeweiligen Thema
in einer themaspezifischen Semantik behandelt. Es wird in Teilschritt 32 eine
allgemeinen Datenstruktur in einer themaspezifischen Semantik gebildet.
Dies geschieht mittels der Unterschritte 34 bis 38.
In Unterschritt 34 werden Gruppen von Datenelementen mit
gemeinsamer themaspezifischer Bedeutung gebildet. Dabei bestehen
die Massendaten aus Grundeinheiten mit einer themaspezifisch vollständigen Information,
deren Elemente alle verschiedenen Gruppen angehören. Üblicherweise sind auch immer
alle Gruppen vertreten, so dass die Massendaten ausschließlich aus
gleichartigen Tupeln bestehen. Jedes dieser Tupel hat ein Element
aus jeder Gruppe sowie einen Wert. In Unterschritt 36 werden
zu den Basis-Datenelementen der Massendaten aggregierte Datenelemente festgelegt.
Die aggregierte Datenelemente können
zunächst
Basis-Datenelemente
und andere aggregierte Datenelemente als Variablen aufweisen wie
bei bekannten OLAP Verfahren. Diese aggregierten Variablen werden
jedoch erfindungsgemäß nach Basis-Datenelementen
aufgelöst,
so dass eine Aggregationsvorschrift ausschließlich Basis-Datenelemente zusammenfaßt, jedoch
keine aggregierten Datenelemente aufweist. Dies geschieht hier in
Unterschritt 38, worin zu jeder Aggregationsvorschrift
den aufgelösten
Basis-Datenelementen ein Gewicht zugeordnet wird.
-
Im zweiten Teilschritt 40 wird
die allgemeine Datenstruktur von der themaspezifischen Semantik
in eine OLAP Semantik übertragen.
Dazu erfolgt in Unterschritt
42 eine Zuordnung von Dimensionen
zu den Gruppen mit einer festgelegten Reihenfolge der Dimensionen.
-
In Unterschritt 44 erfolgt
schließlich
eine Zuordnung von Schlüsseln
zu den Datenelementen. Die Schlüssel
sind sowohl den Basis-Datenelementen als auch den aggregierten Datenelementen
zugeordnet. Jedes Basis-Datenelement gehört eindeutig einer Dimension
zu und hat innerhalb dieser Dimension einen eindeutigen Schlüssel.
-
3 zeigt
in Schema 50 ein Datentupel 52 für das Speichern
von Massendaten gemäß der Erfindung mit
der allgemeinen Datenstruktur aus Verfahrensschritt 12.
In diesem Beispiel ein Tupel aus N Basis-Datenelementen und einem
Wert verschlüsselt
in den Schlüsseln
D1, Bezugsziffer 54, bis DN, Bezugsziffer 56,
und einem Wert WERT, Bezugsziffer 58. Die Schlüssel sind
vorzugsweise Ordinalzahlen, so dass sie beim Schreiben und Lesen
als Index verwendet werden können.
-
Als Ergebnis von Verfahrensschritt 12 liegt
erstens eine allgemeine Datenstruktur in einer neuen OLAP Semantik
vor, in der Tupel 52 mit Schlüsseln 54, 56 von
Basis-Datenelementen
und einem Wert 58 zur Speicherung von Massendaten definiert
sind. Das erfindungsgemäße Festlegen
der Reihenfolge der Dimensionen ermöglicht die Nutzung von besonders
effizienten Datenformaten für
die Massendaten, da in der Position eines Schlüssels im Tupel die Zuordnung
zur Gruppe des verschlüsselten
Basis-Datenelements enthalten ist und so eine Eindeutigkeit der
Zuordnung hergestellt ist.
-
Als Ergebnis von Verfahrensschritt 12 liegen
zweitens Dimensionsinformationen vor. Darunter werden hier Zuordnungen
verstanden, die zur Auswertung der Tupel notwendig sind. Die Dimensionsinformationen umfassen
die Einteilung der Datenelemente in Gruppen, die Zuordnung von Datenelemente
in Themaspezifischer Semantik, meist Textform, zu Schlüsseln, die
Zuordnung von Gruppen zu Dimensionen und deren Reihenfolge in den
Tupeln der allgemeinen Datenstruktur, und die aggregierten Datenelemente
mit ihren Formeln, zugehörigen
Basis-Datenelementen samt Schlüsseln
und Gewichten.
-
Mit den Dimensionsinformationen ermöglicht die
Erfindung die Automatisierung von Analysen mittels OLAP. Die in
den Dimensionsinformationen enthaltenen Zuordnungen ermöglichen
dem Anwender die Planung von Analysen und Ausarbeitung neuer Fragestellungen
in themaspezifischer Semantik. Die Eindeutigkeit der Einteilung
der Datenelemente in Gruppen und der Zuordnung von Datenelementen
zu Schlüsseln
erlauben eine automatische Umsetzung von neu definierten aggregierten
Datenelementen in Schlüssel
und Gewichte von Basis-Datenelementen.
-
Der Fachmann wird dabei notwendige
und darüber
hinausgehende nützliche
Dimensionsinformationen zu unterscheiden wissen. Beispiele für über notwendige Dimensionsinformationen
hinausgehende nützliche
Dimensionsinformationen sind die Einbeziehung von aggregierten Datenelementen
in die Dimensionsinformationen und die Zuordnung von Schlüsseln von
aggregierten Datenelementen. Die Einbeziehung von aggregierten Datenelementen
erlaubt es dem Anwender, auf häufig
verwendete aggregierten Datenelemente zurückzugreifen und diese auch
für neue
aggregierte Datenelemente verwenden zu können. Die Einbeziehung von
aggregierten Datenelementen in die allgemeine Datenstruktur und
auch deren Zuordnung von Schlüsseln ist
nicht notwendig, da diese Schlüssel
(und damit die aggregierten Datenelemente) nicht in der allgemeinen Datenstruktur
enthalten sind. Aber sie ist nützlich,
da sie dem Anwender erlaubt, bei der Planung von Analysen und Ausarbeitung
neuer Fragestellungen schon definierte aggregierte Datenelemente
einzusetzen, die dann nach einer weiteren vorteilhaften Auasgestaltung
der Erfindung automatisch von einer Maschine in Basis-Datenelemente
und Gewichte aufgelöst
werden.
-
Nun zum Vorbereiten einer speziellen
Auswerte-Fragestellung, Verfahrensschritt 14. Ein Anwender behandelt
eine neue Auswerte-Fragestellung mit einem gesuchten Ergebnis, welches
typischerweise nicht unter den aggregierten Datenelementen der Dimensionsinformationen
ist. Der Anwender erstellt dazu eine speziellen Auswerteformel in
der themaspezifischen Semantik unter Verwendung der Gruppen von
Datenelementen entsprechend einem bekannten OLAP Verfahren.
-
Zu Verfahrensschritt 16,
dem Schreiben der Massendaten in eine Datei, ist zu bemerken, dass
dies erfindungsgemäß in Form
von Tupeln 52 aus Schlüsseln 54, 56 der
Basis-Datenelemente sowie je einem Wert 58 mit der allgemeinen
Datenstruktur mit einer festgelegten Reihenfolge der Dimensionen
in einem Datenformat erfolgt, das bezüglich der Geschwindigkeit eines
sequentiellen Lesens und Vergleichens der Tupel optimiert ist. Die
Verschlüsselung
der Massendaten führt
zu einer Datenbank mit signifikant geringerem Datenvolumen als die
Massendaten in themaspezifischer Semantik aufweisen.
-
In Verfahrensschritt 18 wird
die Auswerte-Fragestellung nun vorzugsweise automatisch in die OLAP Semantik
nach der Erfindung übertragen.
Dazu werden die Schlüssel
und Gewichte aller Basis-Datenelemente der Auswerte-Fragestellung
und der Auswerteformel, nach der die Werte zu den Basis-Datenelementen
der Auswerte-Fragestellung
in das gesuchte Ergebnis eingehen, ermittelt unter Verwendung der
Dimensionsinformationen. Diese ermittelten Schlüssel und Gewichte werden vorzugsweise
zwischengespeichert, um sie bei der Auswertung geeignet verwenden
zu können.
-
In Verfahrensschritt 20 aus 1 erfolgt das Auswerten
der Massendaten mittels sequentiellem Lesen der Tupel und Vergleichen
für jedes
Tupel, ob es alle Basis- Datenelemente
der Auswerte-Fragestellung enthält.
Falls ja, so wird der Wert des Tupels im gesuchten Ergebnis der
speziellen Auswerte-Fragestellung entsprechend der Auswerteformel
verwendet. Andernfalls wird das Tupel in der speziellen Auswerte-Fragestellung nicht
berücksichtigt.
-
4 beschreibt
Details von Verfahrensschritt 20 aus 1 in Flußdiagramm 60 in Form
von beispielhaften Teil- und Unterschritten zu Verfahrensschritt 20,
der Ergebnisberechnung gemäß einer
vorteilhaften Ausführungsform
der Erfindung. Das Auswerten der Massendaten 20 beginnt
mit dem Initialisieren der Auswerteformel in Teilschritt 62.
Die Auswerteformel benutzt Summationen, in die Werte ausgewählter Tupel
eingehen. Die entsprechenden Variablen werden initialisiert. In
Teilschritt 64 erfolgt die eigentliche Auswertung in einer
Schleife sequentiell für
alle Tupel. Darin werden in Unterschritt 66 die Tupel gelesen.
Dabei wird bevorzugt die festgelegte Reihenfolge der Dimensionen
als Index für
den Datenzugriff verwendet. In Unterschritt 68 wird verglichen,
ob das aktuelle Tupel alle Basis-Datenelemente der Auswerte-Fragestellung
enthält.
Falls ja, Zweig 69, wird der Wert des Tupels in Unterschritt 70 im
gesuchten Ergebnis der speziellen Auswerte-Fragestellung entsprechend
der Auswerteformel verwendet. Falls nein, Zweig 71, wird
zum nächsten
Tupel übergegangen.
Nach Abarbeitung aller Tupel endet die Schleife in 74 und
damit Teilschritt 64 und das gesuchte Ergebnis der speziellen
Auswerte-Fragestellung
entsprechend der Auswerteformel wird ausgegeben in Teilschritt 74.
-
5 beschreibt
Details einer alternativen Ausgestaltung von Verfahrensschritt 20 aus 1 in Flußdiagramm 80 in Form
von beispielhaften Teil- und Unterschritten zu Verfahrensschritt 20.
Hier werden in einer ersten Schleife in Teilschritt 82 die
für die
Auswerte-Fragestellung relevanten Tupel der Massendaten bestimmt und
zwischengespeichert. Dazu werden in Unterschritt 84 die
Tupel gelesen. In Unterschritt 86 wird verglichen, ob das
aktuelle Tupel alle Basis-Datenelemente der Auswerte-Fragestellung
enthält.
Falls ja, Zweig 87, wird der Wert des Tupels in Unterschritt 88 zwischengespeichert.
Falls nein, Zweig 89, wird zum nächsten Tupel übergegangen.
Nach Abarbeitung aller Tupel endet die Schleife und damit Teilschritt 82.
Nun wird in Übergang 90 zur
Berechnung des gesuchten Ergebnisses übergegangen. Dazu erfolgt ein
Initialisieren der Auswerteformel in Teilschritt 91. Die
Auswerteformel benutzt wieder Summationen, in die Werte der ausgewählten und
zwischengespeicherten Tupel eingehen. Die entsprechenden Variablen
werden initialisiert. In Teilschritt 92 erfolgt die eigentliche
Berechnung des gesuchten Ergebnisses in einer zweiten Schleife sequentiell
für alle
ausgewählten
und zwischengespeicherten Tupel. In Teilschritt 94 wird
der Wert des Tupels im gesuchten Ergebnis der speziellen Auswerte-Fragestellung
entsprechend der Auswerteformel verwendet. Nach Abarbeitung aller Tupel
endet die zweite Schleife und damit Teilschritt 94 und
das gesuchte Ergebnis der speziellen Auswerte-Fragestellung entsprechend
der Auswerteformel wird ausgegeben in Teilschritt 96.
-
Die Auswertung mittels zweier Schleifen
hat einen großen
praktischen Nutzen. Häufig
treten Massendaten mit redundanten Dateneinträgen auf. Etwa, weil aktualisierte
Daten zu einem späteren
Zeitpunkt eintreffen und nachgetragen werden, indem sie an die früher geschriebene
Datenbank am Ende angehängt
werden. Falls solche redundanten Einträge nun zur Auswertung der aktuellen
Fragestellung beitragen, werden sie zwischengespeichert in Teilschritt 88.
Dann können
sie aber beispielsweise mittels Sortierverfahren identifiziert werden,
so dass von den Mehrfachen in Teilschritt 94 nur der letzte,
also späteste,
Eintrag verwendet wird.
-
Zusammenfassend umfaßt das Verfahren
zur Auswertung von Massendaten zu einem Thema mit Tupeln von Basis-Datenelementen
mit themaspezifischen Bedeutungen und zugeordneten Werten mittels
OLAP nach der Erfindung folgende wesentliche Verfahrensschritte:
- – Vorbereiten
einer speziellen Auswerte-Fragestellung, Schritt 14, zu einem gesuchten
Ergebnis in einer themaspezifischen Semantik unter Verwendung der
Gruppen von Datenelementen und Übertragung
der Auswerte-Fragestellung in die OLAP Semantik;
- – Schreiben
der Massendaten, Schritt 16, in Form von Tupeln 52 aus
Schlüsseln 54, 56 der
Basis-Datenelemente sowie je einem Wert 58 mit der allgemeinen
Datenstruktur mit einer festgelegten Reihenfolge der Dimensionen
in eine Datei in einem Datenformat, das bezüglich der Geschwindigkeit eines
sequentiellen Lesens und Vergleichens der Tupel optimiert ist;
- – Ermitteln,
Schritt 18, der Schlüssel
und der Gewichte aller Basis-Datenelemente
der Auswerte-Fragestellung und einer Auswerteformel, nach der die
Werte zu den Basis-Datenelementen der Auswerte-Fragestellung in
das gesuchte Ergebnis eingehen;
- – Auswerten
der Massendaten, Schritt 20, mittels sequentiellem Lesen der Tupel,
Unterschritte 66, 84, und Vergleichen, Unterschritte 68, 86,
für jedes
Tupel, ob es alle Basis-Datenelemente der Auswerte-Fragestellung
enthält;
falls ja, Zweige 69, 87, Verwenden des Wertes
des Tupels, Unterschritte 70, 94, im gesuchten Ergebnis
der speziellen Auswerte-Fragestellung entsprechend der Auswerteformel.
-
Nach der Erfindung weist eine Datenablage
zur Auswertung von Massendaten zu einem Thema mittels OLAP auf mit
einer ersten Datenbank mit den Dimensionsinformationen und mit einer
zweiten Datenbank gemäß der allgemeinen
Datenstruktur mit Massendaten.
-
6 zeigt
dazu ein Beispiel einer ersten Datenbank für das Speichern von Dimensionsinformationen gemäß der Erfindung.
Die Datenbank in diesem Beispiel enthält folgende Elemente:
- – die
Definition von Gruppen 102 von Datenelementen mit gemeinsamer
themaspezifischer Bedeutung;
- – die
Zuordnung von Dimensionen 104 zu den Gruppen;
- – die
Definition einer Reihenfolge der Dimensionen 106 in einer
allgemeinen Datenstruktur;
- – die
Definition von Basis-Datenelementen 108 in der allgemeinen
Datenstruktur;
- – die
Definition von aggregierten Datenelementen 110 mit einer
zugeordneten Aggregationsvorschrift;
- – die
Zuordnung von Gewichten 112 den Basis-Datenelementen jedes
aggregierten Datenelements; und
- – die
Zuordnung von Datenelementen mit einer themaspezifischen Bedeutung
in einer themaspezifischen Semantik zu Schlüsseln 114.
-
Die Massendaten in der zweiten Datenbank
gemäß der allgemeinen
Datenstruktur sind in Form von Tupeln aus Schlüsseln von je einem Basis-Datenelement
für jede
Dimension in einer festgelegten Reihenfolge der Dimensionen sowie
je einem Wert in einem Datenformat, das bezüglich der Geschwindigkeit eines
sequentiellen Lesens und Vergleichens der Tupel optimiert ist.
-
Nun werden einige wichtige Ausgestaltungen
der Erfindung vorgestellt. Die Datenbank für die Speicherung der verschlüsselten
Massendaten ist vorzugsweise eine HDF (Hierarchical Data Format)
Datei. Das HDF ist ein bekanntes Datenformat, das bezüglich der
Geschwindigkeit eines sequentiellen Lesens und Vergleichens der
Tupel optimiert ist. Es wird bisher vor allem zum Speichern von
Bildinformation verwendet.
-
In einer vorteilhaften Ausgestaltungen
der Erfindung sind die erste und zweite Datenbank in einer einzigen
Datei zusammengefaßt.
Dies erlaubt eine einfache Weitergabe der Datenbanken, da es gewährleistet, dass
ein hinzukommender Anwender gleichzeitig die Massendaten als auch
ihre Bedeutung im themaspezifischen Zusammenhang zur Verfügung hat.
-
In einer weiteren vorteilhaften Ausgestaltung
der Erfindung wird jede Fragestellung mit einem Full Table Scan
bearbeitet.
-
Nun wird die Erfindung an einem einfachen
praktische Anwendungsbeispiel auf der Ebene konkreter Texte und
Zahlen erläutert.
Das erste Beispiel betrifft das Thema Deskriptive Statistik, nämlich Bevölkerungsentwicklung.
Die Beispielsituation ist eine Stadt mit zehn Stadtteilen Stadtteil
1, Stadtteil 2, ... Stadtteil 10. Diese Stadtteile liefern jährlich Daten
zur Bevölkerungsentwicklung,
nämlich
falls zutreffend Änderungen
wegen Zuzug, Geburt, Abzug, Todesfall. Betrachtet werden hier die
Jahre 2000, 2001, 2002.
-
Die Massendaten in diesem Beispiel
liegen als eine Anzahl von Tupeln von Basis-Datenelementen mit themaspezifischen
Bedeutungen in Textform und zugeordneten Werten vor:
"Stadtteil 4; 2000,
Zuzug, 17"
"Stadtteil 9; 2001,
Geburt, 5"
"Stadtteil 8; 2001,
Geburt, 6"
"Stadtteil 7; 2001,
Todesfall, 3"
-
Die aktuelle Fragestellung sei, wie
sich die Bevölkerung
der Stadt im Jahr 2001 entwickelt hat.
-
Gemäß Verfahrensschritt 12 in 1 wird zunächst eine
allgemeine Datenstruktur für
die Massendaten vorbereitet. Im ersten Teilschritt 32 gemäß 2 wird eine allgemeinen
Datenstruktur in der themaspezifischen Semantik gebildet. Dies geschieht
mittels der Unterschritte 34 bis 38. In Unterschritt 34 werden
Gruppen von Datenelementen mit gemeinsamer themaspezifischer Bedeutung
gebildet.
-
Als Gruppen bestimmt der Anwender
hier Geographie, Zeit, Bevölkerung.
Die Gruppe Geographie besteht aus den Datenelementen Stadtteil 1,
Stadtteil 2,.... Stadtteil 10, Stadt mit gemeinsamer geographischer Bedeutung.
Die Datenelemente Stadtteil 1, Stadtteil 2, ... Stadtteil 10 treten
in den Massendaten auf, das Datenelement Stadt jedoch nicht. Die
Gruppe Zeit besteht aus den Datenelementen 2000, 2001, 2002 mit
gemeinsamer Bedeutung als Zeitraum. Die Gruppe Bevölkerung
besteht aus den Datenelementen Zuzug, Geburt, Abzug, Todesfall,
Bevölkerungsentwicklung,
Einwohner, Einwohner am Jahresende mit gemeinsamer bevölkerungsbezogener
Bedeutung. Die Datenelemente Zuzug, Geburt, Abzug, Todesfall, treten
in den Massendaten auf, die Datenelemente Bevölkerungsentwicklung, Einwohner,
und Einwohner am Jahresende jedoch nicht.
-
Die Datenelemente, die nicht in den
Massendaten auftreten, hat der Anwender eingeführt, um sie später bei
der Lösung
aktueller Fragestellungen zur Verfügung zu haben. Dabei berücksichtigt
der Anwender, dass in den vorliegenden Massendaten keine Einwohnerzahlen
zu Jahresbeginn vorliegen. Er kann jedoch schon die formelmäßige Behandlung
von Einwohnerzahlen vornehmen, wohl wissend, dass er zur Anwendung
eine weitere Eingabe benötigt.
-
In Unterschritt 36 werden
zu den Basis-Datenelementen der Massendaten aggregierte Datenelemente festgelegt.
Die aggregierte Datenelemente sind
Stadt = Stadtteil 1 + Stadtteil
2 + .... Stadtteil 10;
Bevölkerungsentwicklung
= Zuzug + Geburt – Abzug – Todesfall;
und
Einwohner am Jahresende = Einwohner + Bevölkerungsentwicklung.
-
Übersicht
1 zeigt die Einteilung von themaspezifischen Begriffen in Gruppen.
-
-
-
Diese aggregierten Variablen S, BE,
EJ werden erfindungsgemäß nach Basis-Datenelementen aufgelöst, so dass
eine Aggregationsvorschrift ausschließlich Basis-Datenelemente zusammenfaßt, jedoch
keine aggregierten Datenelemente aufweist. Dies geschieht hier in
Unterschritt 38, worin zu jeder Aggregationsvorschrift
mittels GST, GBE, GEJ den aufgelösten
Basis-Datenelementen ein Gewicht zugeordnet wird.
-
Übersicht
2 zeigt die aggregierten Datenelemente mit Aggregationsvorschrift
und Gewicht.
-
Im zweiten Teilschritt 40 wird
die allgemeine Datenstruktur von der themaspezifischen Semantik
in eine OLAP Semantik übertragen.
Dazu werden den Datenelementen, die als themaspezifische Begriffe
in Textform vorliegen, OLAP Symbole zugeordnet. Je nach Erfahrung
des Anwenders kann dieser Schritt schon in einem sehr frühen Stadium
geschehen. Im aktuellen Beispiel sind bereits in Übersicht 1 Symbole
für OLAP angegeben,
da dies einerseits schon in diesem frühen Stadium möglich ist
und andererseits eine Schreibvereinfachung bewirkt, die den Sachverhalt übersichtlicher
darstellen läßt. Im aktuellen
Beispiel sind zur besseren Überschaubarkeit
die Stadtteile in eine Menge mit dem OLAP Symbol ST und die Jahre
in eine Menge mit dem OLAP Symbol J zusammengefaßt worden. Diese Vorgehensweise
ist nicht unbedingt notwendig, sie erleichtert aber dem OLAP-Anwender
die Bildung von Gruppen und von aggregierten Datenelementen. Im
aktuellen Beispiel gemäß Übersicht 1 und Übersicht 2 benötigt der
Anwender keine weiteren Datenelemente mit der Gruppen-Bedeutung "Zeit" außer den
Jahren aus J. Weiterhin faßt
der Anwender sämtliche
Stadtteile aus ST zum aggregierten Datenelement S zusammen.
-
In Unterschritt 42 erfolgt
eine Zuordnung von Dimensionen zu den Gruppen mit einer festgelegten
Reihenfolge der Dimensionen.
-
In Unterschritt 44 erfolgt
schließlich
eine Zuordnung von Schlüsseln
zu den Datenelementen. Als Schlüssel
sind Ordinalzahlen OG, OZ, OB sowohl den Basis-Datenelementen als auch den aggregierten
Datenelementen in jeder Gruppe G, Z, B zugeordnet. Jedes Basis-Datenelement
gehört
eindeutig einer Dimension zu und hat innerhalb dieser Dimension
einen eindeutigen Schlüssel.
-
Übersicht
3 zeigt
die Dimensionsinformationen.
-
Als Ergebnis von Verfahrensschritt 12 liegt
erstens eine allgemeine Datenstruktur in einer neuen OLAP Semantik
vor, in der Tupel 52 mit Schlüsseln 54, 56 von
Basis-Datenelementen
und einem Wert 58 zur Speicherung von Massendaten definiert sind,
nämlich
Tupel aus drei Ordinalzahlen und einem Wert (OG, OZ, OB, Wert).
-
Nun zum Vorbereiten der speziellen
Auswerte-Fragestellung, wie sich die Bevölkerung der Stadt im Jahr 2001
entwickelt hat, gemäß Verfahrensschritt 14.
Der Anwender stellt dazu auf: Veränderung der Einwohnerzahl von
Stadt im Jahr 2001 = Bevölkerungsentwicklung
in allen Stadtteilen im Jahr 2001. Der Anwender stellt fest, dass
das gesuchte Ergebnis dem Punkt X im 3-dimensionalen Datenwürfel mit
den Koordinaten X = (S, J1, BE) entspricht. Die benötigten aggregierten
Datenelemente sind bereits unter den Dimensionsinformationen.
-
Gemäß Verfahrensschritt 16 werden
die Massendaten mit der allgemeinen Datenstruktur in eine Datei, hier
eine HDF Datei, geschrieben.
-
Übersicht
4 zeigt
die erfindungsgemäß geschriebenen
Massendaten
-
In Verfahrensschritt 18 wird
die Auswerte-Fragestellung nun in die OLAP Semantik nach der Erfindung übertragen.
Dazu werden die Schlüssel
und Gewichte aller Basis- Datenelemente
der Auswerte-Fragestellung und der Auswerteformel, nach der die
Werte zu den Basis-Datenelementen der Auswerte-Fragestellung in
das gesuchte Ergebnis eingehen, ermittelt unter Verwendung der Dimensionsinformationen.
-
Übersicht
5 zeigt
die Schlüssel
und Gewichte der interessierenden Massendaten
-
In Verfahrensschritt 20 erfolgt
das Auswerten der Massendaten, 4 beschreibt
Details der Ergebnisberechnung. Das Auswerten der Massendaten 20 beginnt
mit dem Initialisieren der Auswerteformel in Teilschritt 62.
Die Auswerteformel benutzt Summationen, in die Werte ausgewählter Tupel
eingehen. Die entsprechenden Variablen werden initialisiert. In
Teilschritt 64 erfolgt die eigentliche Auswertung in einer
Schleife sequentiell für
alle Tupel. Darin werden in Unterschritt 66 die Tupel gelesen.
In Unterschritt 68 wird verglichen, ob das aktuelle Tupel
alle Basis-Datenelemente der Auswerte-Fragestellung enthält.
-
Übersicht 6 zeigt
den Vergleich zur Auswahl von Tupeln, die in das Ergebnis eingehen.
-
-
Falls ja, logisches Vergleichsergebnis "wahr", Zweig 69,
wird der Wert des Tupels in Unterschritt 70 im gesuchten
Ergebnis der speziellen Auswerte-Fragestellung entsprechend der
Auswerteformel verwendet. Falls nein, Zweig 71, wird zum
nächsten
Tupel übergegangen.
Nach Abarbeitung aller Tupel endet die Schleife in 74 und damit
Teilschritt 64 und das gesuchte Ergebnis der speziellen
Auswerte-Fragestellung entsprechend der Auswerteformel wird ausgegeben
in Teilschritt 74.
-
Übersicht
7 zeigt
das Verwenden der ausgewählten
Tupel entsprechend der Auswerteformel.
-
Die Bevölkerung von Stadt hat sich
im Jahr 2001 um 8 Einwohner erhöht.
-
Ein zweites Beispiel betrifft das
Thema Autohandel, nämlich
Gewinnermittlung. Die Beispielsituation ist ein Autohändler mit
Filialen. Die Filialen liefern monatliche Daten zur Gewinn- und
Verlustrechnung zu Auto-Modellen verschiedener Marken.
-
Die Massendaten in diesem Beispiel
liegen als eine Anzahl von Tupeln von Basis-Datenelementen mit themaspezifischen
Bedeutungen in Textform und zugeordneten Werten vor:
„Erlöse, März, Golf,
17"
„Kosten,
Mai, A8, 10"
„Erlöse, Dezember,
A4, 18"
„Erlöse, Dezember,
A4, 19"
„Kosten,
Juni, A4, 20"
„Erlöse, Juli,
A4, 21"
„Erlöse, Juni,
Polo, 21"
-
Die aktuelle Fragestellung sei: Welches
Ergebnis wurde mit der Marke Audi im Jahr erzielt?
-
Gemäß Verfahrensschritt 12 in 1 wird zunächst eine
allgemeine Datenstruktur für
die Massendaten vorbereitet. Im ersten Teilschritt 32 gemäß 2 wird eine allgemeinen
Datenstruktur in der themaspezifischen Semantik gebildet. Dies geschieht
mittels der Unterschritte 34 bis 38. In Unterschritt 34 werden
Gruppen von Datenelementen mit gemeinsamer themaspezifischen Bedeutung
gebildet.
-
Als Gruppen bestimmt der Anwender
hier Gewinn- und Verlustrechnung, Zeit, Modell. Die Gruppe Gewinn-
und Verlustrechnung besteht aus den Datenelementen Erlöse, Kosten,
Ergebnis. Die Gruppe Zeit besteht aus den Datenelementen Januar,
Februar, März,
..., Dezember, Jahr mit gemeinsamer Bedeutung als Zeitraum. Die
Datenelemente Januar, Februar, März,
..., Dezember treten in den Massendaten auf, das Datenelement Jahr
jedoch nicht. Die Gruppe Modell besteht aus den Datenelementen Golf,
Sharan, Polo, A4, A8, Volkswagen, Audi. Die Datenelemente Golf,
Sharan, Polo treten in den Massendaten auf, die Datenelemente Volkswagen,
Audi jedoch nicht. Die Modelle Golf, Sharan und Polo sind grundsätzlich der
Marke VW zugeordnet und die Modelle A4 und A8 sind grundsätzlich der
Marke Audi zugeordnet.
-
Die Datenelemente, die nicht in den
Massendaten auftreten, hat der Anwender eingeführt, um sie später bei
der Lösung
aktueller Fragestellungen zur Verfügung zu haben. Dabei berücksichtigt
der Anwender, dass in den vorliegenden Massendaten keine Einwohnerzahlen
zu Jahresbeginn vorliegen. Er kann jedoch schon die formelmäßige Behandlung
von Einwohnerzahlen vornehmen, wohl wissend, dass er zur Anwendung
eine weitere Eingabe benötigt.
-
In Unterschritt 36 werden
zu den Basis-Datenelementen der Massendaten aggregierte Datenelemente festgelegt.
Die aggregierten Datenelemente sind
Ergebnis = Erlöse – Kosten;
Jahr
= Januar + Februar + März,
... + Dezember
Volkswagen = Polo + Golf + Sharan;
Audi
= A4 + A8.
-
Übersicht 8 zeigt
die Einteilung von themaspezifischen Begriffen in Gruppen.
-
-
-
Diese aggregierten Variablen Erg,
J, VW, Au werden erfindungsgemäß nach Basis-Datenelementen aufgelöst, so dass
eine Aggregationsvorschrift ausschließlich Basis-Datenelemente zusammenfaßt, jedoch keine
aggregierten Datenelemente aufweist. Dies geschieht hier in Unterschritt 38,
worin zu jeder Aggregationsvorschrift mittels GErg, GJ, GVW, GAu
den aufgelösten
Basis-Datenelementen ein Gewicht zugeordnet wird.
-
Übersicht
9 zeigt
die aggregierten Datenelemente mit Aggregationsvorschrift und Gewicht.
-
Im zweiten Teilschritt 40 wird
die allgemeine Datenstruktur von der themaspezifischen Semantik
in eine OLAP Semantik übertragen.
Dazu erfolgt in Unterschritt 42 eine Zuordnung von Dimensionen
zu den Gruppen mit einer festgelegten Reihenfolge der Dimensionen.
-
In Unterschritt 44 erfolgt
schließlich
eine Zuordnung von Schlüsseln
zu den Datenelementen. Als Schlüssel
sind Ordinalzahlen OGuV, OZ, OMod sowohl den Basis-Datenelementen als
auch den aggregierten Datenelementen in jeder Gruppe GuV, Z, Mod
zugeordnet. Jedes Basis-Datenelement gehört eindeutig einer Dimension
zu und hat innerhalb dieser Dimension einen eindeutigen Schlüssel.
-
Übersicht 10 zeigt
die Dimensionsinformationen.
-
-
-
Als Ergebnis von Verfahrensschritt 12 liegt
erstens eine allgemeine Datenstruktur in einer neuen OLAP Semantik
vor, in der Tupel 52 mit Schlüsseln 54, 56 von
Basis-Datenelementen
und einem Wert 58 zur Speicherung von Massendaten definiert sind,
nämlich
Tupel aus drei Ordinalzahlen und einem Wert (OGuV, OZ, OMod, Wert).
-
Nun zum Vorbereiten der speziellen
Auswerte-Fragestellung, welches Ergebnis mit Audi im Jahr erzielt
wurde, gemäß Verfahrensschritt 14.
Der Anwender stellt dazu auf:
Ergebnis mit Audi im Jahr = Summe
der Erlöse
von A8 und A4 über
das Jahr – Summe
der Kosten für
diese Modelle Der Anwender stellt fest, dass das gesuchte Ergebnis
dem Punkt X im 3-dimensionalen Datenwürfel mit den Koordinaten X
= (Erg,J, Au) entspricht. Die benötigten aggregierten Datenelemente
sind bereits unter den Dimensionsinformationen.
-
Gemäß Verfahrensschritt 16 werden
die Massendaten mit der allgemeinen Datenstruktur in eine Datei, hier
eine HDF Datei, geschrieben.
-
Übersicht
11 zeigt
die erfindungsgemäß geschriebenen
Massendaten
-
In Verfahrensschritt 18 wird
die Auswerte-Fragestellung nun in die OLAP Semantik nach der Erfindung übertragen.
Dazu werden die Schlüssel
und Gewichte aller Basis-Datenelemente
der Auswerte-Fragestellung und der Auswerteformel, nach der die
Werte zu den Basis-Datenelementen der Auswerte-Fragestellung in
das gesuchte Ergebnis eingehen, ermittelt unter Verwendung der Dimensionsinformationen.
-
Übersicht
12 zeigt
die Schlüssel
und Gewichte der interessierenden Massendaten
-
In Verfahrensschritt 20 erfolgt
das Auswerten der Massendaten, 5 beschreibt
Details der Ergebnisberechnung. Hier werden in einer ersten Schleife
in Teilschritt 82 die für
die Auswerte-Fragestellung relevanten Tupel der Massendaten bestimmt
und zwischengespeichert. Dazu werden in Unterschritt 84 die
Tupel gelesen. In Unterschritt 86 wird verglichen, ob das
aktuelle Tupel alle Basis-Datenelemente der Auswerte-Fragestellung
enthält.
Falls ja, Zweig 87, wird der Wert des Tupels in Unterschritt 88 zwischengespeichert.
Falls nein, Zweig 89, wird zum nächsten Tupel übergegangen.
Nach Abarbeitung aller Tupel endet die Schleife und damit Teilschritt 82.
-
Übersicht
13 zeigt
den Vergleich zur Auswahl von Tupeln, die in das Ergebnis eingehen.
-
Nun wird in Übergang 90 zur Berechnung
des gesuchten Ergebnisses übergegangen.
Dazu erfolgt ein Initialisieren der Auswerteformel in Teilschritt 91.
Die Auswerteformel benutzt wieder Summationen, in die Werte der
ausgewählten
und zwischengespeicherten Tupel eingehen. Die entsprechenden Variablen
werden initialisiert. In Teilschritt 92 erfolgt die eigentliche
Berechnung des gesuchten Ergebnisses in einer zweiten Schleife sequentiell
für alle
ausgewählten
und zwischengespeicherten Tupel. In Teilschritt 94 wird
der Wert des Tupels im gesuchten Ergebnis der speziellen Auswerte-Fragestellung
entsprechend der Auswerteformel verwendet. Nach Abarbeitung aller
Tupel endet die zweite Schleife und damit Teilschritt 94 und
das gesuchte Ergebnis der speziellen Auswerte-Fragestellung entsprechend
der Auswerteformel wird ausgegeben in Teilschritt 96.
-
Übersicht
14 zeigt
das Verwenden der ausgewählten
Tupel entsprechend der Auswerteformel.
-
Mit der Marke Audi wurde im Jahr
das Ergebnis 10 erzielt.
-
Die Verwendung der Symbole für OLAP sind
eine vorteilhafte Ausgestaltung der Erfindung. Sie erleichtern als
hilfreiche Abkürzungen
dem Anwender das Arbeiten.
-
Der Fachmann erkennt, dass die Verwendung
der Schlüssel
und Gewichte automatisch erfolgen kann ohne eine Handlung des Anwenders.
Er muß dies
nicht einmal bemerken. Der Anwender kann OLAP auf einer Benutzeroberfläche wie
gewohnt durchführen
und die Ausführung
der Erfindung erfolgt automatisch auf einer Maschine im Hintergrund.
Diese automatische Ausführung
der Erfindung führt
bei vielen umfangreichen Datenmengen zu einer Einsparung von Rechenzeit.