Vision und Machbarkeit des „Logical Data Warehouse“

Werbung
Das Konzept des „Logical Data Warehouse“ im Oracle Data Warehouse nutzen
Vision und Machbarkeit des
„Logical Data Warehouse“
1
Das Konzept des „Logical Data Warehouse“ im Oracle Data Warehouse nutzen
2
Die Motivation ............................................................................................................. 4
Lösungskonzepte ......................................................................................................... 5
Evolution statt Revolution ........................................................................................... 6
Aspekte des Logical Data Warehouse (LDW) .............................................................. 8
1.
Technische Sourcen ..................................................................................... 8
2.
Zugriffsverfahren ......................................................................................... 8
3.
Zugriffstechnik ............................................................................................. 9
4.
Formate ....................................................................................................... 9
5.
Metadaten ................................................................................................... 9
6.
Security ...................................................................................................... 10
7.
Konsumenten............................................................................................. 10
Wie unterstützt das Oracle Data Warehouse das Konzept des LDW ........................ 11
1.
Welche technischen Sourcen lassen sich anbinden? ................................ 11
2.
Welches Zugriffsverfahren steht zur Verfügung........................................ 12
3.
Welche Zugriffstechniken stehen zur Verfügung ...................................... 12
4.
Formate und Oracle ................................................................................... 14
5.
LDW-Metadaten mit Oracle ...................................................................... 15
6.
Security im LDW-Konzept mit Oracle ........................................................ 16
7.
Nutzer- (Konsumenten-) Neutralität / Virtualisierung der Nutzermodelle
17
Resümee .................................................................................................................... 18
Das Konzept des „Logical Data Warehouse“ im Oracle Data Warehouse nutzen
3
Bereits seit einigen Jahren (verstärkt seit 2011) wird das Konzept des „Logical Data
Warehouse“ besprochen, und vorgestellt..
Die aktuelle Diskussion rund um Big Data, aber auch die vielen neuen technischen
Möglichkeiten, die heute bereitstehen, machen diese Diskussion interessanter denn
je. Es sind Lösungskonzepte möglich, deren Problemstellung wir vor Jahren noch gar
nicht gesehen haben. Allerdings fasst der Begriff auch schon längst bestehende
Technologien unter einem neuen Schlagwort zusammen.
Kurz zu dem Stichwort: Logical Data Warehouse (LDW.
Ein „Logisches Data Warehouse“ stellt Unternehmensdaten bereit, ohne diese zuvor
physikalisch an einen zentralen Ort in dem Data Warehouse zu bewegen.
Wie in einem klassischen Data Warehouse werden einheitliche Sichten für
Analysezwecke bereitgestellt. Während die Daten des klassischen Data Warehouse
aus einer „wohldefinierten“ physikalisch einheitlichen Datenbank stammen, zieht sich
das „Logische Data Warehouse“ Daten zum Abfragezeitpunkt aus diversen Quellen
zusammen. Die eigentlichen Ablageorte werden virtualisiert.
In diesem Artikel wird der Begriff noch etwas weiter gefasst: Die neuen In-Memory
Technologien erlauben auch das Virtualisieren von Strukturen innerhalb des Data
Warehouse. In jedem Fall bietet das System den Benutzern Daten an, die in der ihm
präsentierten Form nicht physikalisch als Tabellen in einer Data Warehouse –
Datenbank liegen.
Das Konzept des „Logical Data Warehouse“ im Oracle Data Warehouse nutzen
4
Die Motivation
Es gibt in einigen Unternehmen eine wachsende Motivation bei den WarehouseArchitekten sich mit diesem Konzept zu beschäftigen:
1. Es werden immer noch nicht alle im Unternehmen existierenden Daten in die
Analyseprozesse mit einbezogen. D. h., Opportunities gehen verloren, weil
Informationen nicht da sind.1
2. Eine Ursache liegt darin, dass nicht alle wichtigen Daten-Ressourcen über
recht schwerfällige Warehouse-Projekte mit der Entwicklung von
aufwendigen ETL-Strecken, in das Warehouse integriert sind. Hohe
Entwicklungskosten, fehlendes Personal aber fehlendes Bewusstsein für
Synergie-Effekte zentraler Analyseprozesse im Management mögen Gründe
sein.
3. Ein weiterer Grund ist sicher der Umstand, dass in immer kürzeren
Zeitabständen neue Daten-Ressourcen von den Fachabteilungen angefordert
werden.
4. Wir haben das zunehmend deutlicher spürbare Latenzproblem. D. h., die
Beschaffungszeiten mittels traditioneller ETL-Batch-Prozesse sind bei einer
wachsenden Zahl von Analyseanforderungen zu lang.
5. Manche Datenquellen sind in Struktur und Inhalt derart volatil, sodass man sie
kaum noch mit klassischen Warehouse Konzepten (z. B. konventionellem
Batch-ETL) einfangen kann.
6. Unternehmen richten heute zunehmend Ihr Augenmerk auch auf nichttraditionelle Unternehmensdaten. Sie kaufen externe Daten zu, sie zapfen
öffentlich zur Verfügung stehende Datentöpfe an, sie erschließen zusätzliche
Datenquellen, an die vor Jahren noch niemand gedacht hat, z. B.
Maschinendaten, Mail-Verkehre, Telefondaten usw. Solche Daten waren zwar
immer schon vorhanden. Doch nun beginnt man, angeheizt durch die Big Data
Diskussion, die Daten zu kombinieren und versucht aus möglichen
Zusammenhängen Nutzen zu ziehen. Bei diesen Datenarten besteht die
berechtigte Frage, ob sie überhaupt in ein Data Warehouse geladen werden
sollten.
1
Siehe hierzu z. B. Umfrage in US: “From Overload to Impact: An Industry Scorecard on Big
Data Business Challenges” Link
Das Konzept des „Logical Data Warehouse“ im Oracle Data Warehouse nutzen
5
Lösungskonzepte
Als technische Lösung stehen und standen sich zwei Lösungsvarianten gegenüber.
a) Verteilte Datenhaltung, die durch eine Metadaten-Schicht virtuell
zusammengefasst werden. Daten verbleiben in ihren jeweiligen
Anwendungen oder werden in zusätzliche (aber verteilte) Datentöpfe
abgelegt. Solche sog. „Distributed Warehouse Solutions“ werden von einigen
DB-Herstellern, mit mehreren (zugekauften) DB-Systemen angeboten. Solche
Konzepte sind jedoch schon bei den ersten Gehversuchen in frühen Projekten
(2008 / 2009) an der Komplexität der vielen unterschiedlichen Strukturen
gescheitert.2
b) Erweiterung eines bestehenden zentralen Warehouse-Systems um die
Möglichkeit des Zugriffs auf externe Datenquellen bzw. der Möglichkeit der
Steuerung externer Prozesse.
Das Oracle Data Warehouse fällt eindeutig zur Gruppe unter b). Auch schon vor der
Diskussion um das Logische Data Warehouse Konzept, hat Oracle in den letzten
Jahrzehnten Kommunikationswege und Schnittstellen in die Unternehmens-ITInfrastruktur in der Datenbank implementiert. Schon seit mehr als 15 Jahren reden wir
bei der Oracle Datenbank, nicht nur über ein nacktes Datenhaltungssystem, sondern
von einer Art Datendrehscheibe, die kaum Hürden bei dem Zugriff auf
Unternehmensdaten kennt. (In vielen Unternehmen sind diese Techniken auch im
Einsatz, ohne dass man den Namen „Logisches Data Warehouse“ verwendet.)
2
Vgl. Gartner „Hype Cycle for Business Intelligence and Analytics, 2013” Mark A. Beyer
Das Konzept des „Logical Data Warehouse“ im Oracle Data Warehouse nutzen
6
Evolution statt Revolution
Die Variante b) macht eine evolutionäre Weiterentwicklung vieler bestehender
Warehouse-System möglich, denn es ist kaum anzunehmen, dass Unternehmen ihre
Warehouse-Systeme regelmäßig mal eben so neu konzipieren. Mann wird sie „auf
kleiner Flamme“ in Versuchs-Labors Stück für Stück weiter entwickeln und für
bestimmte Datenquellen „virtuelle“ Zugriffsmöglichkeiten einbauen.
Es gibt noch einen zweiten sehr wichtigen Punkt, der für die Variante b) spricht. Das
sind die 4 klassischen Hauptaufgaben eines Data Warehouse:
1. Das sachgebietsübergreifende Integrieren von sachgebietsbezogenen Daten
an zentraler Stelle mit der Notwendigkeit zu Harmonienieren.
2. Das Anreichern von Daten mit Erklärungen und zusätzlicher Semantik.
3. Das Historisieren von Daten als Grundlage für Trenderkennung.
4. Das Separieren von Daten aus dem operativen Kontext zum Zweck der
Simulation und der Möglichkeit zusätzliche Informationen aus im Data
Warehouse neu entstandenen Querbezügen zu anderen Daten zu gewinnen.
Diese 4 Punkte sind an anderer Stelle schon oft ausgeführt worden und sollten daher
hier nur kurz erwähnt bleiben. Das sind aber oft diejenigen Punkte, die man bei
Diskussionen rund um Hype-Themen gerne vergisst. Ein Warehouse, dessen
Datenbeschaffungsfunktionen komplett virtualisiert wären, müsste die 4 genannten
Aufgabenstellungen auch komplett virtuell lösen. Bei jeder vernünftigen Betrachtung:
unmöglich!3 Das bedeutet: Für die Masse der Warehouse Daten bleibt eine
konventionelle Batch-Verarbeitung sinnvoll, nicht aus Performance oder technischen
Gründen, sondern weil pragmatischerweise konsolidierende, harmonisierende
Tätigkeiten einfacher zu lösen sind.
3
Es ist das gleiche „aufgesetzt“ Vorhaben, das mancher Hersteller von reinen In-MemoryDatenbanken in seinen Marketing-Unterlagen als zukunftsweisend bewirbt, um dann doch
wieder in den Projekten auf die klassischen Warehouse-Prizipien mit persistierten
Datentabellen zurückzukommen. Dann aber mit einer sehr komplexen Ausgangslage und
zusätzlichen Datenhaltungskrücken.
Das Konzept des „Logical Data Warehouse“ im Oracle Data Warehouse nutzen
7
Wir sollten uns also mit einer Lösung beschäftigen, die ein bestehendes Data
Warehouse in der oft praktizierten Schichten-Architektur (Stage/Core
Warehouse/Marts) als Ausgangspunkt nimmt, und dieses in evolutionärer Weise
Stück für Stück um virtuelle Zugriffs- und Bereitstellungstechniken erweitert.
Das klassische 3-Schichtenmodell nach Inmon
Das Konzept des „Logical Data Warehouse“ im Oracle Data Warehouse nutzen
8
Aspekte des Logical Data Warehouse (LDW)
Der konsequente Aufbau von logischen (virtuellen) Strukturen in einem Data
Warehouse umfasst eine Reihe von Aspekten und Komponenten, wie sie in der
folgenden Tabelle dargestellt sind.
Technische
Sourcen
noSQL
Hadoop
(HDFS)
RDBMS
Files
Web
ZugriffsVerfahren
Batch
Direkt
Message
ZugriffsTechnik
APIs
MapReduce
SQL,
Proprietär,
Formate
Metadaten
Security
XML
JSON
CSV
KeyValue,
ER
Fundorte
Struktur
Inhalte
Zugriffsdaten
Objektbezogen
Toolbezogen,
Quellsystem
bezogen
Konsumenten
Modellflexibilität
Beliebige
BI-Tools
native
Allgemeine Aspekte in dem Konzept des „Logical Data Warehouse“
1. Technische Sourcen
Die klassischen technischen Datenquellen sind sicherlich Datenbanksysteme
(relational, hierarchisch) und Flatfiles. Bereits in den frühen 2000er Jahren sind WebSourcen hinzugekommen, also Daten, die remote über Internet-Dienste angeboten
wurden. Warehouse-System erfüllten damit ihre althergebrachte Aufgabe des ErfolgsMonitorings bestehender, bekannter Prozesse.
Heute sind auf der Suche nach neuen Opportunities und Wettbewerbsvorteilen
bislang unberücksichtigte Daten in den Fokus gerückt (externe Daten, Daten aus
sozialen Medien, Maschinendaten, Log-Daten, Wetterdaten, Bewegungsdaten usw.).
Aufgrund ihrer Strukturierung aber auch aufgrund der Art der Datenentstehung will
man sie oft nicht mehr klassisch speichern und sucht nach neuen Wegen. Die
technische Innovation hat Hadoop/HDFS oder auch die noSQL-Datenbanken für solche
Daten bereitgestellt.
Das LDW muss mit all diesen technischen Sourcen umgehen können.
(Aber Achtung: Wir reden heute nicht deshalb über das Konzept des Logical Data
Warehouse, nur weil es die Big Data Diskussion gibt. Auch ohne diese Entwicklung und
diese „neuen“ Datenobjekte ist Konzept überlegenswert.)
2. Zugriffsverfahren
a) Das ursprüngliche Batch-Verfahren zum monatlichen / wöchentlichen /
täglichen / untertägigen Updaten und Bereitstellen von Daten ist in seiner
Struktur periodisch. Technisch gesehen ist es gleichgültig, ob man täglich oder
stündlich ein Warehouse befüllt. Das, was manchmal Realtime genannt wird,
ist nach wie vor ein Batch-Load, auch wenn dieser Batch-Load im 10Sekunden-Takt erfolgt. Wesentlich für den Begriff „Batch“ ist der Umstand,
dass eine gewisse Anzahl von Daten aus einem Quell-System gelesen und in
ein Zielsystem geschrieben werden..
Das Konzept des „Logical Data Warehouse“ im Oracle Data Warehouse nutzen
9
b) Anders verhält es sich, wenn zu analysierende Daten aus einem Quellsystem
zum Zeitpunkt der Analyse direkt aus dem Vorsystem gelesen werden (DirektLeseverfahren). Dieses Verfahren macht keine Aussage über die Aktualität der
Quelldaten und hat auch keinen Transaktionsbezug auf das OLTP-System.
Wichtig ist allein die Abfrage des Analysten, der zum Zeitpunkt der Abfrage in
den operativen Datenbestand hineingreift, ob mit Filter oder ohne.
c) Die 3. Variante ist das aktive Befüllen des Warehouse über einen
permanenten Kommunikationsprozess zwischen Warehouse und operativen
Systemen, indem Nachrichten (Messages) hin- und her fließen, entweder im
Push oder im Pull-Verfahren.
Alle drei Verfahren sollten in dem LDW machbar sein. Es wäre ein Trugschluss, das
klassische DWH als Batch-orientiert und das LDW mit dem Direkt-Leseverfahren zu
assoziieren. Ein virtualisierter Zugriff auf ein operatives System ist technisch auch als
spontan gestarteter Batch-Aufruf oder als Message-Abruf über einen SOA-Bus
denkbar.
Entscheidend ist der Punkt, dass die Warehouse-Datenbasis im Bedarfsfall spontan
erweitert werden kann.
3. Zugriffstechnik
Unterschiedliche technische Sourcen erfordern spezifische Zugriffstechniken, die mit
den Besonderheiten der jeweiligen Datenhaltung umgehen können. Für RDBMSSysteme hat sich SQL etabliert. Für ein Hadoop-System wird MapReduce angeboten.
Das LDW muss auf die Datenhaltungen zum Zeitpunkt X spontan zugreifen können. Es
wird aber zu klären sein, ob das LDW jede spezifische Zugriffstechnik adaptieren muss.
Einfacher wäre ein einziger standardisierter Zugriff, bei dem man nur einen Adapter
austauschen muss, wenn es sich um eine andere Datenhaltung handelt, aber die Art
des Zugriffs gleich bleibt.
4. Formate
Die technische Datenablage ist das eine, die Art, wie diese Information abgelegt ist,
und beim Lesen interpretiert werden muss (Format) ist das andere. Hier wird noch
nicht die Frage nach der Strukturierung von Daten angesprochen (strukturiert,
unstrukturiert, multi-strukturiert etc.). In einem HADOOP-HDFS-System können
sowohl Fließtexte, XML-Strukturen, CSV-Objekte, JSON-Files liegen. Das Gleiche gilt für
das klassische File-System.
Das LDW muss formatunabhängig Zugriffe realisieren können.
5. Metadaten
Einer der heikelsten Punkte des LDW ist sein Metadatenbereich. Wie soll man auf
Daten zugreifen, wenn man nicht einmal weiß, ob diese überhaupt existieren? Das
klassische Warehouse bietet hierfür z. B. den Datenbank-Katalog an. Und wenn es nur
Das Konzept des „Logical Data Warehouse“ im Oracle Data Warehouse nutzen
10
ein einfaches „SELECT * FROM TAB“, (Oracle-Variante) ist, man erhält eine erste
Übersicht über die Existenz bestimmter Objekte.4
Ein LDW muss über eine Metadaten-Komponente verfügen, in der für die nicht in
dem Warehouse liegenden Daten neben den Fundorten auch die Struktur und die
Semantik (Beschreibung der Inhalte) erfasst sind. Für den Nutzer des Systems muss
eine durchgängige Sicht sowohl über die lokalen Warehouse-Daten als auch über die
nicht in dem System physisch gespeicherten aber zugreifbaren Daten angeboten
werden.
6. Security
Man stelle sich ein Logisches Data Warehouse vor, das in Ergänzung zu den
bestehenden Warehouse-Daten immer mal wieder zusätzlich in das eine oder andere
Quellsystem hineingreift um dort spontan, meist operative Daten, abzugreifen. Die
Benutzer dieser Daten werden, wenn sie über ein Data Warehouse zugreifen, meist
nicht dieselben sein, wie die Benutzer, die in den Quellsystemen für Datenzugriffe
berechtigt sind. Es muss also für das LDW ein zusätzliches Berechtigungsverfahren
implementiert werden, das sich an den Richtlinien der Sourcen orientiert.
7. Konsumenten
In vielen Betrachtungen des LDW kommt dieser Aspekt nicht vor. Es ist aber nur
konsequent, wenn auch die Konsumentenseite, spricht, die Art der Verwendung
virtuell, also frei wählbar ist. Dies meint z. B. die Austauschbarkeit von BI-Tools und
Analyse-Verfahren, meint aber auch die Flexibilität der Auswertedatenmodelle. Es
handelt sich bei dem LDW um die Virtualisierung von Datenzugriffen, also das Lesen
von Informationen auf so nicht vorhandene Daten, ob die Daten nun außerhalb des
Warehouse-Systems liegen oder innerhalb. Abhängig von dem Informationsbedarf
legt man eine passende Virtualisierung auf. Mit virtuellen Sichten schafft man
passende Auswertemodelle, ohne die physikalische Datenbasis im Data Warehouse zu
verändern. Die potenzielle Austauschbarkeit von Analysewerkzeugen ist dann ein
Selbstläufer.
Ein LDW sollte nicht für eine bestimmte Verwendung hin entwickelt werden, denn
auch die Art der Verwendung kann sich spontan ändern.5
4
Wenn auch beschränkt: In den meisten bestehenden Warehouse-Systemen fehlen echte
Metadaten-Auskünfte. Also z. B. die Information welche Tabellen mit welchen anderen
Tabellen gemeinsam sinnvo9ll abfragbar sind, welche Tabellen Fakten enthalten und welche
Tabellen Dimensionen mit entsprechenden Hierarchien.
5
Dies gilt auch schon für das klassische Data Warehouse, denn die Informationen eines
Warehouse-Systems sind meist langlebiger als ein konkreter Analysebedarf, der über eine
spezifische Technologie (Tool) abgedeckt wird.
Das Konzept des „Logical Data Warehouse“ im Oracle Data Warehouse nutzen
11
Wie unterstützt das Oracle Data Warehouse das
Konzept des LDW
Ein erster wichtiger Punkt in der Philosophie des Oracle Data Warehouse, auch bzgl.
des LDW-Konzeptes, ist die Standardisierung mittels SQL. D. h. alle Daten, ob sie im
zentralen Data Warehouse oder außerhalb liegen, sollten mittels SQL zugreifbar sein.
Das gilt ebenso für die Konsumenten. Diese sollten mittels SQL abfragen können. Das
bedeutet, dass im Oracle Data Warehouse eine Transformation der Formate
stattfindet. Mit dieser Transformation sind dann auch weitere Anforderungen leicht
lösbar, z. B. die Metadaten-Abbildung oder Teile der Security-Anforderung.
Die zentrale Rolle von SQL bei der Virtualisierung von Vereinheitlichung von Zugriffen
durch das Oracle Warehouse und anschließbare Systeme
Der zweite Aspekt ist die Vermeidung von unnötigen Datentransporten. D. h., Daten
sollten an Ort und Stelle analysiert werden, wenn dies möglich ist. Das ist nicht
möglich, wenn Daten aus unterschiedlichen Quellen über einen Join
zusammengeführt werden sollen.
Die einzelnen Anforderungen des LDW-Konzeptes werden in der Folge beschrieben.
1. Welche technischen Sourcen lassen sich anbinden?
Alle oben genannten technischen Source-Systeme lassen sich anbinden. Daten können
an ihren Orten und in ihren Systemen bleiben. Der Zugriff erfolgt in nahezu allen
Fällen, von der Position der Oracle Datenbank aus. D. h., es müssen keine Prozesse
oder Vorkehrungen in den jeweiligen Quellsystemen erfolgen. (Auf die technische
Umsetzung wird weiter unten eingegangen).
Das Konzept des „Logical Data Warehouse“ im Oracle Data Warehouse nutzen
12
Oracle Warehouse und anschließbare Systeme
2. Welches Zugriffsverfahren steht zur Verfügung
Alle besprochen Verfahren sind möglich. Alles, was direkt zugegriffen werden kann, ist
auch im Batch möglich und umgekehrt. Ist eine Fremd-Datenbank z. B. über einen
Select-ODBC-Zugriff erreichbar, so gelingt dies natürlich auch im Batch-Verfahren, weil
man in einem Batch-Job genauso mit Kommandos agieren kann, als wäre man online.6
Darüber hinaus erlaubt die Datenbank Optimierungen, um große Datenmengen zu
bewegen, wenn dies nötig ist.
Durch das Verwenden von passenden Adaptern oder auch durch Webservice-Zugriffe
kann man zu jedem Zeitpunkt und beliebig häufig auf Remote-Daten aus der
Datenbank heraus zugreifen. Auch umgekehrt lässt sich die Datenbank remote
ansteuern, um diese als „Senke“ für Nachrichten zu nutzen.
Das Oracle Data Warehouse mit der Datenbank ist also an sich Batch-, Online- und
Realtime-fähig.
3. Welche Zugriffstechniken stehen zur Verfügung
Hier muss man zwischen den unterschiedlichen technischen Sourcen unterscheiden.
a) Für Flat Files gibt seit den frühen 2000er Jahren External Tables. Die
Textdaten, welcher Art auch immer (beliebige Formate und Zeichensätze),
verbleiben außerhalb der Datenbank. Sie können aber mittels SQL aus der
Datenbank heraus so behandelt werden, als wären es Datenbanktabellen.7.
Wir werden noch sehen, dass das External Table Konzept auch für andere
technische Sourcen verwendet wird.
6
Im Batch-Verfahren wird ebenso eine Datenbank-Session eröffnet, wie in einem OnlineZugriff. Es stehen die gleichen Kommandos zur Verfügung.
7
Mehr Informationen zu External Tables in der Oracle Dokumentation oder auch in diesem
Whitepaper
http://www.oracle.com/technetwork/database/bi-datawarehousing/twp-dataloading-oracle-db-12c-2189777.pdf
Das Konzept des „Logical Data Warehouse“ im Oracle Data Warehouse nutzen
13
b) Auf Oracle-DBs greift man mit dem altbekannten Database-Link-Mechanismus
zu. Auch diese Technik erlaubt Zugriffe mittels SQL. Tabellen in einer RemoteOracle-Datenbank erscheinen wie lokale Tabellen im Data Warehouse.8
c) Für Nicht-Oracle-DBs gibt es die (bei einigen gar nicht mehr bekannten)
Gateways. Anders als die heute oft favorisierten Replikationsmechanismen
wie GoldenGate, verbleiben die Daten, wie bei dem LDW-Konzept gefordert,
in dem Quellsystem. Es werden nur diejenigen Daten abgegriffen, die nach
einem auf dem Quellsystem stattgefundenen Filter- und Selektionsvorgang
übrig bleiben. Man muss also nicht erst Daten bewegen, um festzustellen, ob
man sie braucht. Der Zugriffsmechanismus über Gateway erfolgt analog zur
Database Link Mechanik. Auch für die Gateway-Technik ist SQL das
Zugriffsmittel.
d) Informationen über das World Wide Web abzurufen ist heute Standard. Ob
man direkt aus der Datenbank zugreift oder über eine Middleware-Apparatur
mit noch mehr flexiblen Möglichkeiten, muss man separat entscheiden. Aber
auch hier ist der Einsatz von SQL möglich.9
e) Auch auf HDFS-Files (Hadoop) kann man seit Sommer 2014 direkt aus der
Datenbank heraus mit SQL zugreifen. Ähnlich wie bei den Storage-Zellen einer
Exadata-Maschine, hat man auf jeden Knoten eines Hadoop-Clusters eine
Scan-Software gebracht, die die einzelnen Blöcke einer Hadoop-Datei parallel
lesen und analysieren kann. Auch hier spielen External Tables in der Oracle
Datenbank eine zentrale Rolle. Sie verfügen über einen Oracle_HADOOP- und
alternativ einen ORACLE_HIVE-Adapter, der mit den Scan-Prozessen auf den
Hadoop-Clustern kommuniziert. Die Strukturbeschreibung zum Erstellen der
External Tables bezieht während der Definition der External Table aus dem
Hive-Metastore über einen automatisierten Extrakt-Porzess10.
f) Analoges gilt für die noSQL-Datenbank von Oracle. Für weitere noSQLDatenbanken anderer Hersteller sind ebenfalls External-Table Adapter
geplant.
g) Mit der R-Schnittstelle ORE (Oracle R Enterprise) gibt es Möglichkeiten, die
bislang recht unbekannt sind. Zum einen verfügt die Open Source-Sprache R
Zugriffspakte auf nahezu alle Datenarten (auch Hadoop). Zum anderen
können gelesene Daten, die R als sog. R-Objekt im Hauptspeicher hält sofort
und 1:1 in Datenbanktabellen oder Views umgewandelt werden. Solche RZugriffe auf Daten sind als Script verpackt auch über SQL direkt aus der
Datenbank heraus aufrufbar. Man kann also von einem Direkt-Zugriff auf
Daten sprechen. Ein Batch–Lauf ist nicht nötig.
8
Siehe Oracle –Doku:
https://docs.oracle.com/database/121/SQLRF/statements_5006.htm#SQLRF01205
9
https://docs.oracle.com/middleware/1212/owsm/
10
Siehe http://www.oracle.com/us/products/database/big-data-sql/overview/index.html
Das Konzept des „Logical Data Warehouse“ im Oracle Data Warehouse nutzen
14
h) ODI (Oracle Data Integrator und Golden Gate sollten hier nur kurz erwähnt
werden. Sie liefern zwar zu allen denkbaren technischen Source-Systemen
passende Schnittstellen. Der Einsatz läuft aber in der Regel entweder auf eine
Batch-Verarbeitung oder permanentes Replizieren hinaus. Das sind sicherlich
machbare Verfahren, zumal man Batch-Laufzeiten auch auf weniger Sekunden
reduzieren kann. Aber das Herbeischaffen von Daten mittels spontanem SQLAufruf, während die Quelldaten in dem Source-System verbleiben, ist ein
anderes Konzept.
Zugriffstechniken des Oracle Data Warehouse auf remote liegende Datenobjekte
4. Formate und Oracle
Remote liegende Datenbestände können, wie oben beschrieben, in unterschiedlichen
Formaten vorliegen. Aufgrund der in dem Abschnitt zuvor beschriebenen
Zugriffstechniken muss man sich um diese Formate nicht kümmern, da die
Formatumwandlung (XML -> relationale Struktur, JSON -> relationale Struktur, CSV ->
relationale Struktur, KeyValue -> relationale Struktur) bereits in den jeweiligen
Adaptern erfolgt.
Es gibt jedoch eine Variante, bei der man sich um Formate Gedanken machen muss,
und zwar in dem Fall, in dem man remote liegende Daten temporär in eine Art
operational Datastore innerhalb des Data Warehouse kopiert. In diesem Fall repliziert
man operative Daten in das Warehouse, um Analysezugriffe zu vereinfachen.
a) CSV-Objekte liest man über External Tables direkt in relationale Tabellen.
b) Ebenso KeyValue Store Objekte mit dem Loader for Hadoop.. Auch hier finden
wieder External Tables Verwendung und das Ergebnis sind relationale
Tabellen.
Das Konzept des „Logical Data Warehouse“ im Oracle Data Warehouse nutzen
15
c) XML-Objekte werden in XML-Tabellen innerhalb der Datenbank geladen. Mit
den Möglichkeiten der XML-DB greift man auf hier mit SQL relational zu.11
d) Ähnlich verfährt man mit JSON-Objekten. Auch dieses Format kann man wie
XML in die Datenbank legen, und es mit SQL abfragen..
Bei allen genannten Verfahren kann man ODI oder Golden Gate als Tools und zur
Vereinfachung einsetzen.
Der Aufbau eines operational Data Stores als temporärer Hilfsdatenbestand
Es sollte noch einmal erwähnt werden, dass aus Sicht des LDW-Konzeptes die
Einrichtung eines Operational Data Stores nur eine Hilfskonstruktion darstellt, wenn
ein direkter Zugriff auf Daten in den Quellsystemen nicht möglich ist. Denn ein
Operational Data Store muss zusätzlich durch eine Kopie mit Daten gefüllt werden.
5. LDW-Metadaten mit Oracle
Aufgrund des SQL-Zugriffs auf die meisten Objekte ist das Datenbank-Dictionary ein
einfaches und praktisches Hilfsmittel. Es dient als Metadatensystem. Hier sind
Tabellen mit ihren Spalten dokumentiert. Sobald External Tables existieren, existieren
auch Metadaten für alle Objekte, auf die man mit External Tables zugreift:
a) Tabellen aus fremden Datenbanksystemen mit Oracle-konformen Feldtypen
b) Datei-Strukturen (CSV und Fixed Length)
c) HDSF, Hive-Objekte, Übernahme der Metadaten des Hive Metastore
Für andere Objekte wie JSON-/XML-Strukturen oder den „Value-Part“ bei Key Value
Objekten sind Metadaten nur über einen expliziten Beschreibungsvorgang, verbal
oder über einen Pseudo-Code erhältlich. JSON- und XML-Objekte führen ihre eigenen
11
Siehe hierzu
http://www.oracle.com/technetwork/database/databasetechnologies/xmldb/overview/index.html
Das Konzept des „Logical Data Warehouse“ im Oracle Data Warehouse nutzen
16
Metadaten in dem Objekt selbst mit sich, die aufgrund ihrer Vielfältigkeit nicht
generisch (im Sinne eines Metadaten-Repositories, oder des Oracle DatenbankDictionaries) beschreibbar sind.
Bezüglich der Metadatenanforderung des LDW sind die größten Herausforderungen
zu lösen. Metadaten entstehen auch in dem Oracle Data Warehouse erst durch einen
Definitionsprozess der jeweiligen Objekte. D. h., es muss zunächst ein Objekt, z. B.
eine External Table zum Lesen einer HDFS-Datei, mittels der DDL-Anweisung CREATE
erstellt werden, damit auch Metadaten zur Verfügung stehen.
Dies setzt bereits besondere Kenntnisse über die Objektstruktur und den technischen
Zugriffsweg auf das Objekt voraus. Eine generische, allgemeine oder rein fachliche
Beschreibung der Objekte reicht nicht aus.
Um die Problematik zu verdeutlichen, stelle man sich den Alltag der heute oft
diskutierten Rolle des „Data Scientist“ vor. Er hat es mit einer Vielzahl von Objekten,
vor allem jenseits der bekannten und einfach zu bedienenden SQL-Datenbanken zu
tun. Bevor er die Qualität und Zweckdienlichkeit der Inhalte von Daten bewerten
kann, muss er technische Zugänge definieren, um diese Daten überhaupt zu lesen.
An dieser Stelle bewährt sich Oracles Weg, SQL als Zugriffs- und
Beschreibungssprache für die vielen unterschiedlichen technischen Daten-Sourcen
und Formate zu nutzen.
Für SQL gibt es schon seit Jahren sehr weit entwickelte Werkzeuge, die auch für die
Metadaten-Beschaffung eine Reihe von Wizards anbieten. Oracle hat in den letzten
Jahren den SQL-Developer für diesen Zweck kontinuierlich weiter entwickelt.12
a) Die Datenbank Dictionaries vieler Nicht-Oracle Datenbanken lassen sich direkt
auslesen.
b) Das Format von beliebigen Textdaten lässt sich bestimmen. External Tables
werden automatisch generiert.
c) Die Struktur von HDFS- und Hive-Objekten kann mit Hilfe der Revers
Engineering-Funktion des Data Modeler (eine DatenmodellierungsKomponente des SQL Developer) aus dem Hive Metastore ausgelesen
werden. Aus diesen Metadaten generiert der SQL Developer schließlich die
External Tables, mit denen man HDFS- oder Hive-Objekte lesen kann.
6. Security im LDW-Konzept mit Oracle
Auch der Security-Aspekt des LDW wird entsprechend abgedeckt. Bei virtuellen
Zugriffen auf verteilte Daten müssen die Zugriffsschutzeinrichtungen der jeweiligen
Quelldatensysteme mit in die Datenbank hinein übernommen werden. Wird z. B. ein
unternehmensweites LDAP-Verzeichnis zur zentralen Benutzerverwaltung eingesetzt,
so kann man solche Security-Informationen in ein Rollenkonzept in der Datenbank
übernehmen. Gerade bei Daten aus operativen Systemen ist dann eine gezielte
Maskierung von Teilen der Informationen (bestimmte Spalten oder Zeilen) nötig.. Es
12
Siehe hierzu http://www.oracle.com/technetwork/developer-tools/sql-developer/what-issqldev-093866.html
Das Konzept des „Logical Data Warehouse“ im Oracle Data Warehouse nutzen
17
reicht also völlig aus, tabellenartige Objekte zu schützen, die in dem DatenbankDictionary dokumentiert sind.
7. Nutzer- (Konsumenten-) Neutralität / Virtualisierung der Nutzermodelle
Der Titel dieses Punktes ist etwas irreführend. Im Gegensatz zu den vorgenannten 6
Aspekten, bei denen es um die Zugriffe auf außerhalb des Data Warehouse liegende
Daten-Sourcen geht, befasst sich dieser Punkt mit der Verwendung der Daten
innerhalb des Data Warehouse. Die Informationsbedürfnisse der Benutzer können
sich ändern. In der Folge ändern sich auch die abgefragten Datenobjekte oder auch
sogar die Werkzeuge, mit denen die Benutzer zugreifen. Bislang sind in solchen Fällen
neue Auswertemodelle zu entwerfen und die entstehenden neuen Tabellen sind mit
ETL-Aufwand zu befüllen.
Auch hier zieht das Konzept der Virtualisierung, nur dass die Datenobjekte innerhalb
des Warehouse und nicht außerhalb liegen. Auswertemodelle entstehen nur auf einer
logischen Ebene und nicht als Tabellenwerk in einer Datenbank.
Des Oracle Data Warehouse nutzt in der aktuellen Version (12.1.0.2) hierfür die neue
In-Memory Option. Das Prinzip ist sehr einfach: Star Schemen, als die dem
Endbenutzer zugewandten multidimensionalen Modelle, werden nicht mehr
persistent und „hart modelliert“. Sondern sie bestehen aus einer Ansammlung von
Datenbank-Views. Deren Basistabellen befinden sich im Hauptspeicher der Datenbank
und die Views sind somit extrem schnell abfragbar.
Die SQL-Selects hinter den Views werden erst zum Abfragezeitpunkt auf das Star
Schema aufgelöst. Der Vorteil dieser Vorgehensweise liegt in der Möglichkeit, die
Struktur von Dimensionen und Fakten schnell zu ändern.
Konzept der Virtualisierung von Star Schemen
Das Konzept des „Logical Data Warehouse“ im Oracle Data Warehouse nutzen
18
Resümee
Es wird hoffentlich jetzt niemand sein bestehendes Warehouse wegwerfen oder auf
den Kopf stellen, nur um sich ein modernes Look and Feel des „Logical Data
Warehouse“ zuzulegen. Aber die Ausführungen haben gezeigt, dass es eine Reihe von
Stellen gibt, an denen heute mehr Flexibilität machbar ist. Immer häufiger stehen wir
aber auch schon „mit dem Rücken an der Wand“, d. h., die Anforderungen aus den
Fachabteilungen überrollen die Möglichkeiten und Ressourcen der WarehouseAbteilung. Es wurde gezeigt, wie mit einfachen Mitteln die Situation etwas entschärft
werden kann:
Einen neuen technischen Zugriff auf remote liegende Daten zu legen, diese dann über
eine View-Definition zu kapseln und als „lokal“ zu präsentieren, ist sicher schneller
umgesetzt und mit weniger Kostenrisiko verbunden, als eine weitere ETL-Strecke über
ein Projekt zu implementieren.
Man sollte sich dennoch darüber bewusst sein, dass ein Remote-Zugriff noch keine
echte Integration darstellt. Integration ist erst dann erreicht, wenn die Remote-Daten
mit anderen Daten fachlich und strukturell verzahnt sind.
Die Vorteile des LDW-Konzeptes sind:
 Verminderter ETL – Aufwand und damit höhere Reaktionsfähigkeit.
Schnelleres Umsetzen von Modelländerungen.
 Verminderung des Datenvolumens im zentralen Warehouse.
 Erhöhung der Reichweite eines Data Warehouse, weil ein breiteres Spektrum
an Daten zur Verfügung steht.
 Höhere Aktualität von einigen Daten, da operative Daten unmittelbar
einbezogen werden können.
Die neuen technischen Möglichkeiten in der Oracle Datenbank, Big Data SQL und die
Column-Store In-Memory Option befördern die Diskussion rund um das Logical Data
Warehouse.
Alfred Schlaucher, Oracle, Januar 2015
Herunterladen