02.11.2013 Aufrufe

Diplombericht Master Thesis

Diplombericht Master Thesis

Diplombericht Master Thesis

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>Diplombericht</strong><br />

<strong>Master</strong> <strong>Thesis</strong> MAS-07-01.21<br />

2.1.2 Ladeprozess kleine Tabellen<br />

Bei der Übernahme von Tabellen mit Records < 30'000'000 in den Stagingbereich, werden<br />

die kompletten Daten bei jeder Übertragung gelöscht und wieder geladen. Die Löschung<br />

erfolgt mit dem Befehl Truncate und ist dadurch sehr schlank gehalten. Der Ladevorgang ist<br />

bei einer grossen Anzahl Records aufwendig.<br />

2.1.3 Ladeprozess grosser Tabellen<br />

Bei der Übernahme von Tabellen mit Records > 30'000'000 in den Stagingbereich, werden<br />

nur Änderungen seit der letzten Übernahme verarbeitet.<br />

Abbildung 2 zeigt den Standardvorgang einer solchen Übernahme.<br />

1. Als erstes wird eine Hilfstabelle gelesen, welche die Primary Keys der gelöschten<br />

Records von der Haupttabelle enthält. Anhand dieses Keys werden auch auf der<br />

Zieltabelle diese Records gelöscht.<br />

2. Anhand einer Spalte, welche das Änderungsdatum enthält, werden die zusätzlichen<br />

oder geänderten Records seit der letzten Übernahme identifiziert. Da diese Spalte<br />

nicht indexiert ist, löst dies jede Nacht einen Full Table Scan aus.<br />

3. Um zu prüfen, ob auch wirklich die Daten auf der Quell- wie auch auf der<br />

Zieldatenbank gleich sind, wird nach jeder Übernahme einen Abgleich gemacht. Dies<br />

wird gemacht, indem man auf einer definierten Spalte eine Summe bildet und diese<br />

beiden Summen vergleicht. Die Vergangenheit hat gezeigt, dass dieser Abgleich<br />

notwendig ist, da schon einige Fehler gefunden wurden.<br />

4. Dies ist ein Trigger, welcher auf der Quelltabelle programmiert werden muss. Dieser<br />

stellt sicher, dass alle Änderungen mit einem korrekten Änderungsdatum versehen<br />

werden. Auch kann durch den Trigger gewährleistet werden, dass gelöschte Records<br />

zu einem späteren Zeitpunkt auf der Zieltabelle via Primary Key auch gelöscht werden<br />

können.<br />

ERP DB<br />

4<br />

PK gelöschte Rows<br />

Quelltabelle<br />

Full Table Scan Summe ausrechnen Summe vergleichen Summe ausrechnen - Full Table Scan<br />

3<br />

2<br />

Stagingbereich DWH<br />

Datawarehouse<br />

MIS DB<br />

Oracle 11g R1<br />

Full Table Scan - Änderungen selektieren - Änderungen übernehmen<br />

Gelöschte Records auch in DWH löschen<br />

1<br />

Delete Tabelle<br />

Zieltabelle<br />

Trigger<br />

Abbildung 2-2: Ladeprozess grösserer Tabellen<br />

10.09.2009 Seite 8 von 80

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!