DeltaLoad mit Change Data Capture

In den meis­ten BI-Sys­te­men nimmt das Laden der Fak­ten­da­ten die meis­te Zeit in Anspruch. Daher kommt man schnell auf die Idee, nicht immer alle Fak­ten­da­ten zu laden, son­dern nur die neu­en und die geän­der­ten Daten­sät­ze. Dabei gibt es unter­schied­li­che Sze­na­ri­os in Bezug auf das Quell-Sys­tem:

  • Es wer­den nur neue Daten­sät­ze gela­den und es ist eine Spal­te vor­han­den, mit­tels derer gen­au bestimmt wer­den kann, wel­che Daten­sät­ze zu laden sind. Dies könn­te z. B. ein fort­lau­fen­der Daten­satz­zäh­ler sein.
  • Es kann ein über­lap­pen­des Zeit­fens­ter auf einer Datums­spal­te bestimmt wer­den, in wel­chem sich Daten ändern kön­nen, z. B. das Buchungs­da­tum.
  • Es sind kei­ne Infor­ma­tio­nen vor­han­den, mit Hil­fe derer nur die geän­der­ten Daten selek­tiert wer­den kön­nen.

Der SQL Ser­ver bie­tet unter­schied­li­che Mög­lich­kei­ten, die­se Pro­ble­me zu lösen. Mit­tels selbst pro-gram­mier­tem T-SQL Code ist selbst­ver­ständ­li­ch alles mög­li­ch, jedoch ist das nicht immer die bes­te Lösung. Gera­de für das drit­te oben genann­te Sze­na­rio wäre viel Auf­wand not­wen­dig. Bereits für den SQL Ser­ver 2008 hat Micro­soft eine Funk­ti­on mit dem Namen Chan­ge Data Cap­tu­re (CDC) ein­ge­führt. Mit dem SQL Ser­ver 2012 wur­de die Funk­ti­on wei­ter aus­ge­baut, u. a. ist eine SSIS- Unter­stüt­zung hin­zu­ge­kom­men. In die­sem Bei­trag wird gezeigt, wie CDC für ein Del­ta Lade­vor­gang ver­wen­det wer­den kann.

Den gesam­ten Arti­kel kön­nen Sie hier abru­fen.

Schreibe einen Kommentar