Datenbankschema Konvertierungen

Hallo,
ich suche (z.Z. mehr als Brainstorming-Hilfe) Infos zum Transfer von Datenbeständen zwischen zwei Datenbanken. Dabei soll die Beziehung der Daten eines Altsystems zu denen des Neusystems auf Basis einer Abbildung der beiden Datenschemata dargestellt werden (im simpelsten Fall Tabelle/Spalte S/X aus Datenbank A wird zu Tabelle/Spalte T/Y aus Datenbank B).
Jegliche Tips (Schlagwörter, Links, Litref. etc.), die in diese Richtung gehen, wären hilfreich.

Gruss
Enno

Hallo Enno,

Die Problemstellung fällt in den Bereich EAI (Enterprise Application Integration), alle EAI-Plattformen die was auf sich halten bringen Werkzeuge mit um dein Problem zu lösen.

Von der grundsätzlichen Architektur schaut das so aus, das du mal für jedes Endsystem (in deinem Fall die Datenbanken) einen Konnektor/Adapter hast. Zwischen den beiden Adaptern hast du für die logische Datentransformation ein entsprechendes Tool in dem sich die Beziehungen idealerweise grafisch darstellen lassen.

Solche EAI-Plattformen sind aber in der Regel ziemlich teuer und wahrscheinlich nicht ganz was du suchst.

Ich würde mir da was ähnliches selber basteln, XML und XSLT basierend. Zuerst bildest du die Daten auf XML ab (eventuell gibts da je nach verwendeter Datenbank schon was) und dann lasst du sie durch eine XSLT-Engine (gibts als Open Source) laufen. XSLT beschreibt Transformationen zwischen XML-Daten. Da gibts auch kostengünstige grafische Editoren.

Mit ein paar Mannwochen Entwicklungsaufwand läßt sich damit IMHO eine für diesen speziellen Fall gute Lösung entwickeln.

Grüße, Robert

Danke,
an eine XSLT/XML basierte Lsg. hatte ich auch schon gedacht. Das Problem ist allerdings die Datenmenge. Ein Dump der Oracle 9.x DB ist ca. 1GB groß - eine XML-Beschreibung würde sicher noch um einiges größer ausfallen. Evtl. ließe sich das Stream-basiert lösen.
Auch ist mir XSLT an sich zu mächtig. Bedeutend lieber wäre mir eine pur deklarative Beschreibung der Transformation, die keine/wenige für die Transformation unverwendete Sprachelemente enthält. Die Lsg. könnte hier eine XML Beschreibung der Transformationssprache sein, die via XSLT in ein XSLT Script transformiert wird, das letzlich die Transformation der XML-Beschreibung der DB vornimmt.
Ich bin halt momentan noch am sondieren.

Gruss
Enno