Diplombericht Master Thesis
Diplombericht Master Thesis
Diplombericht Master Thesis
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