Datenanalyse mit SQL Server 2000

Werbung
ITMAGAZINE
Datenanalyse mit SQL Server 2000
15. Januar 2001 - Microsoft hat den OLAP Server von SQL Server 7.0 in der neuen 2000er Version zum
umfassenden Analyse-Instrument mit zahlreichen Assistenten erweitert. Bei SQL Server 2000 finden sich im Vergleich zur Vorgängerversion eine Vielzahl von Erweiterungen für die
Datenanalyse. Der OLAP Server, der mit dem Microsoft SQL Server 7.0 verfügbar gemacht wurde, war letztlich
nur ein Zwischenergebnis der Entwicklungsarbeit. Erst mit den Analysis Services der jüngsten Ausführung haben
die Redmonder diese Funktionen eng mit dem Datenbank-Managementsystem integriert. Auf Basis von OLE DB
for Data Mining kann die Data Mining Engine der Analysis Services Daten automatisch mit dem SQL Server
austauschen. Dabei wird auf Konzepte wie das Einfügen und Verknüpfen (JOIN) von Tabellen zurückgegriffen,
die Datenbankentwicklern vertraut sind.
Die grundlegenden Konzepte beim SQL Server 2000 sind einerseits die Segmentierung, mit denen gleichartige
Daten in Clustern zusammengefasst werden können, und auf der anderen Seite Entscheidungsbäume, mit deren
Hilfe Voraussagen getroffen werden können. Diese Entscheidungsbäume lassen sich über Abhängigkeitsnetze
auch miteinander verbinden. Damit wird die Analyse komplexer Daten signifikant erleichtert. Die Segmentierung
spielt dabei insbesondere bei sehr grossen Datenbeständen wie beispielsweise der Analyse von Benutzerdaten
bei Websites eine Rolle, aus denen Verhaltensmuster extrahiert werden sollen.
Der SQL Server 2000 bietet Algorithmen für beide Aufgabenstellungen an, die den Administrator und Entwickler
unterstützen. Hinzu kommt die Unterstützung ausgefeilter statistischer Methoden wie beispielweise den von
Thomas Bayes entwickelten. Diese Bayes'sche Verfahren erlauben eine Trennung von wiederkehrenden Mustern
von statistischem "Noise".
Separate Installation
Die Analysis Services müssen gesondert installiert werden. Nach dem Aufruf des Installationsprogramms stehen
neben dem Database Server und der English Query auch die Analysis Services zur Auswahl. Als
Installationsoptionen werden dann unter anderem der Analysis Server und der Analysis Manager angeboten.
Ersterer wird für die Ausführung der Analysefunktionen, letzterer für ihre Verwaltung benötigt. Darüber hinaus
müssen mit dem Analysis Server noch Objekte für die Entscheidungsunterstützung und Client-Komponenten
eingerichtet werden.
Die von Microsoft genannten Minimalvoraussetzungen für die Installation sind dabei definitiv nur als solche zu
verstehen. Die 130 MB an Plattenplatz für die Komponenten und die empfohlenen 64 MB an Hauptspeicher sind
für den praktischen Einsatz deutlich zu niedrig. Je nach zu analysierendem Datenvolumen und Komplexität der
Analysen sind die Analysis Services typische Funktionen für Mehrprozessorsysteme mit Hauptspeicher im
Bereich durchaus auch von mehreren Gigabyte.
Nach der Installation steht dann der Analysis Manager zur Verfügung, der gesondert aus dem Menü aufgerufen
werden kann. Dieses Werkzeug stellt dem Anwender alle wichtigen Funktionen für die Analyse von Daten zur
Verfügung. Die Verwaltung der Analysis Services kann mit diesem Programm von mehreren Administratoren
parallel durchgeführt werden. Die jeweils aktuell bearbeiteten und davon abhängigen Objekte werden selektiv
gesperrt.
Mit dem Analysis Manager lassen sich hauptsächlich die folgenden Aufgaben ausführen: • Erstellung von Datenbanken und spezifischen Datenquellen
• Aufbau von Cubes
• Erstellung und Ausführung von Data-Mining-Modellen
• Steuerung von Speicheroptionen • Optimierung der Abfrageperformance • Sicherheitsverwaltung • Verwaltung von Dimensionen und anderen Objekten
Für die Ausführung verschiedenster der genannten Funktionen stehen Assistenten zur Verfügung.
Die Erweiterungen bei den Cubes
Cubes stellen das zentrale Element von OLAP-Funktionen dar. Der Umgang mit Cubes wurde beim Microsoft SQL
Server 2000 im Vergleich mit der Vorgängerversion wesentlich erweitert. Mit Distributed Partitioned Cubes wird
ein ähnliches Modell wie mit den Distributed Partitioned Tables angeboten. Cubes können damit über mehrere
Server verteilt werden. Dazu werden entfernte Partitionen verwendet. Die Verwaltung dieser verteilten Cubes erfolgt über einen zentralen Analysis Server. Die Bearbeitung von
Analysen auf den Cube wird aber auf mehrere Server verteilt. Das ist insbesondere für sehr komplexe Analysen
von Bedeutung, da dadurch die Skalierbarkeit der Analysis Services erhöht werden kann. Neben den Distributed
Partitioned Cubes werden auch indizierte Sichten unterstützt.
Ebenfalls eine Verteilung bieten die verknüpften Cubes (Linked Cubes). Der Cube wird dabei auf einem Analysis
Server erstellt und auf anderen Servern bereitgestellt. Der Zugriff kann über jeden Analysis Server erfolgen.
Allerdings erfolgt die Verarbeitung nur auf dem Analysis Server, auf dem der Cube definiert ist. Es handelt sich
hier also nicht um eine Lastverteilung. Die Zielsetzung ist hier, sowohl die Administration durch Verringerung der
Zahl von Cubes zu reduzieren als auch den benötigten Plattenplatz einzuschränken.
Wesentliche Fortschritte gibt es auch bei der Verarbeitung von Cubes. Mit sogenannten lazy aggregations
können Daten aus Cubes für Endbenutzer auch während Berechnungen bereitgestellt werden. Dabei lässt sich
auch eine differenzierte Fehlerbehandlung definieren. Mit Real-Time OLAP wird OLE DB for Data Mining voll
ausgenutzt. In Real-Time Cubes lassen sich Daten für Benutzer dynamisch bereitstellen. Die Basis bildet der
relationale Datenspeicher des Microsoft SQL Server. Änderungen werden automatisch übernommen. Auf dieser
Basis lassen sich beispielsweise Analyseanwendungen für Aktienmärkte oder Call-Center-Anwendungen in
optimaler Weise realisieren.
Komfort per Action Wizard
Noch sichtbarer für den Endbenutzer sind Aktionen, die sich mit dem Action Wizard erstellen lassen. Aktionen
können sowohl andere Anwendungen mit definierten Parametern aufrufen als auch zusätzliche Informationen zu
den selektierten Daten erfragen. Damit lassen sich umfassendere Anwendungen als bisher erstellen. So kann
beispielsweise beim Unterschreiten von Werten für Lagerbestände gezielt die Beschaffung angestossen werden. Der Action Wizard erlaubt die Definition einer Reihe von Optionen für eine Aktion. Dazu gehören das Ziel, die
Dimension, die Mitglieder der Dimension und eine Reihe weiterer Parameter. Diese Elemente, die beschreiben, an
welcher Stelle eine solche Aktion ausgeführt werden kann, lassen sich im Action Wizard selektieren. Dafür
können dann der Typ und die Syntax der Aktion festgelegt werden. Beim Typ wird beispielsweise eine
Befehlszeile oder ein OLE-DB-Befehl angegeben. Als Syntax werden dann die Parameter festgelegt, die von dem
auszuführenden Befehl verwendet werden. Diese Parameter können aus den Ergebnissen der aktuellen Analyse
übernommen werden.
Weitere neue Funktionen im Bereich der Cubes sind das Drillthrough, über das Benutzer durch Ebenen von Daten
navigieren können, und die Möglichkeit zum Verstecken von Cube-Elementen.
Erweiterungen von Dimensionen
Auch bei den Dimensionen gibt es eine Vielzahl von Erweiterungen. Um die Beziehungen zwischen Mitgliedern
einer Dimension grafisch aufzubereiten, stellt SQL Server 2000 den Cube Editor zur Verfügung. Eine zentrale Erweiterung dabei sind die Parent-Child-Dimensionen, mit denen Beziehungen zwischen Objekten
abgebildet werden können. Damit lassen sich beispielsweise Organisationsstrukturen oder Teilelisten abbilden. Mit Hilfe dieser speziellen Dimensionen besteht zudem die Möglichkeit, in deutlich einfacherer Weise komplexe
Anwendungen zu realisieren. Die Parent-Child-Dimensionen sind nicht mit den abhängigen Dimensionen zu
verwechseln. Letztere werden verwendet, um das Wissen über Kombinationen von Mitgliedern ohne
Schnittstellen für eine Optimierung der Speicheranforderungen zu verwenden. Eine spezifische Form der
Parent-Child-Dimensionen sind hingegen die ragged dimensions. Damit lassen sich Strukturen abbilden, bei
denen es keine direkten Beziehungen zu den logischen Eltern gibt. Das ist beispielsweise der Fall, wenn bei
lokalen Angaben teilweise Bundesstaaten oder -länder genutzt werden, teilweise aber auch nicht. Dann fehlt bei
einem Teil der Daten die Beziehung zu übergeordneten Informationen, die durch Konfiguration der ragged
dimensions ersetzt werden können.
ROLAP für enorme Datenvolumen
Für sehr grosse Datenvolumen sind die ROLAP-Dimensionen von Bedeutung. Dabei werden die Daten, wie der
Name bereits sagt, in relationalen Datenstrukturen gespeichert. Damit werden die Grössenbeschränkungen, die
es beispielsweise bei MOLAP gibt, umgangen. Reizvoll sind auch die beschreibbaren Dimensionen. Diese setzen
allerdings speziell angepasste Anwendungen voraus, bei denen auch das Zurückschreiben unterstützt wird. Für
die Zugriffssteuerung werden Rollen verwendet.
Hochinteressant sind auch die änderbaren Dimensionen, bei denen Mitglieder gelöscht, hinzugefügt, umbenannt
und verschoben werden können, ohne dass der Cube vollständig neu berechnet werden muss. Cubes lassen sich
damit bei deutlich höherer Verfügbarkeit für Client-Anwendungen verändern.
Diese Art von Dimensionen sollte immer dann verwendet werden, wenn häufige, schnell durchzuführende
Änderungen zu erwarten sind und die Änderungen für Benutzer unverzüglich sichtbar werden sollen.
Grundsätzlich sind Parent-Child-Dimensionen, virtuelle Dimensionen und ROLAP-Dimensionen immer als
ändernde Dimensionen definiert. Diese Dimensions-Typen sind langsamer als nicht veränderbare Dimensionen. Um aus einer bestehenden Dimension eine veränderbare machen zu können, müssen eine Reihe von
Voraussetzungen gegeben sein. Dazu gehört, dass die Eigenschaft Member Keys Unique auf der untersten Ebene
der Dimension auf True gesetzt ist. Bei privaten Dimensionen muss die Eigenschaft Aggregation Usage auf
Standard gesetzt werden, wenn sie aktuell benutzerdefiniert ist. Anschliessend kann die Eigenschaft Changing
auf True gesetzt werden.
Für die Optimierung von Analysen sind die Dimensionsfilter von Bedeutung. Mit diesen WHERE-Bedingungen, die
sich an SQL-Statements orientieren, können die Zeilen, die in eine Dimension aufgenommen werden, beschränkt
sich an SQL-Statements orientieren, können die Zeilen, die in eine Dimension aufgenommen werden, beschränkt
werden. Auch hierzu werden die Eigenschaften der Dimension angepasst.
Analyse per Data Mining
Der dritte Änderungsbereich bei den Analysis Services betrifft das Data Mining, also die eigentlichen
Analysefunktionen. Dabei geht es darum, aus einer Vielzahl von Informationen diejenigen herauszufiltern, die
tatsächlich von Interesse sind. Hier sind die Microsoft-Entscheidungsbäume von besonderem Interesse. Auf diese wurde bereits weiter oben
kurz eingegangen. Die Erstellung von Entscheidungsbäumen erfolgt mit dem Befehl CREATE MINING MODEL. Die
Steuerung erfolgt über zwei Parameter. Mit COMPLEXITY_PENALTY wird die Entscheidung über die Aufteilung
von Bäumen beeinflusst. Mit MINIMUM_LEAF_CASES wird angegeben, wie viele Einzelfälle für die Aufteilung
eines Baums mindestens erforderlich sind. Der Standard ist 10. Der Wert kann deutlich erhöht werden, um die
Anzahl der ausgegebenen Entscheidungsfälle zu reduzieren. Mit Hilfe von Entscheidungsbäumen kann
beispielsweise auf Basis vorliegender Kredithistorien das Kreditrisiko von neuen Kreditanfragen bewertet
werden.
Die zweite zentrale Erweiterung beim Data Mining ist das Microsoft Clustering. Auf Basis der
Next-Neighbor-Methode kann das System dabei Daten, die ähnliche Charakteristika aufweisen, in Clustern
zusammenfassen. Der Reiz dieser Technologie liegt darin, dass diese Charakteristika in vielen Fällen zunächst nicht offensichtlich
sind. Das System kann diese analysieren und damit dem Administrator der Analysis Services zusätzliche
Informationen liefern, mit denen dieser dann die Aussagekraft der Informationen optimieren kann.
Die Sicherheit
Im Bereich der Sicherheit profitieren die Analysis Services insbesondere von den Erweiterungen beim SQL Server
2000 selbst. So können nun http-basierende Authentifizierungsmethoden genutzt werden. Reizvoll ist aber auch
die Möglichkeit, Zugriffsberechtigungen gezielt auf der Ebene von Dimensionen zu steuern. Dafür werden Rollen
verwenden. Für jede Rolle können die Zugriffe auf Dimensionen, Levels und Mitglieder gesteuert werden. Dabei
wird grundsätzlich zwischen Lese- und Schreibrechten unterschieden. Für beide Arten von Berechtigungen gibt
es wiederum die Unterscheidung zwischen unbeschränktem, vollständig beschränktem und benutzerdefiniertem
Zugriff. Bei benutzerdefinierten Zugriffsberechtigungen kann gezielt gesteuert werden, welcher Teil des Baums
sichtbar sein soll. Diese Steuerung erfolgt immer innerhalb der Hierarchien einer Dimension. Wenn für einen
bestimmten Level Zugriffsberechtigungen vergeben werden, wirken sich diese auch auf die untergeordneten
Levels aus. Sie können aber auf jeder Ebene neu gesetzt und gesteuert werden.
Die Analysis Services sind erwachsen
Betrachtet man die beschriebenen Erweiterungen und die Vielzahl weiterer neuer Funktionen bei den Analysis
Services von SQL Server 2000, dann wird deutlich, dass diese Funktionalität nun erwachsen geworden ist. Mit
Hilfe der Analysis Services lassen sich vergleichsweise einfach Anwendungen mit einem deutlich höheren
Leistungsvermögen erstellen. Die Analysis Services erlauben nicht mehr nur die Analyse von Daten durch speziell
dafür geschulte Anwender, sondern insbesondere auch die Entwicklung von Lösungen, bei denen die
Datenanalyse ein integraler Bestandteil ist, der aggregierte Informationen liefert, die dann beispielsweise über
Aktionen genutzt werden können, um andere Aktivitäten des Systems auszuliefern.
Schon die enge Integration mit dem SQL Server macht deutlich, dass es sich bei den Analysis Services und
OLAP-Funktionen heute nicht mehr um eine spezielle und fast schon esoterische Funktionalität im Umfeld von
Datenbanken handelt, sondern um eine Basisfunktionalität, die Anwendungen leistungsfähiger machen kann und das bei überschaubarem Entwicklungsaufwand. Copyright by Swiss IT Media 2017 
Herunterladen