DeltaLoad mit Change Data Capture

In den meisten BI-Systemen nimmt das Laden der Faktendaten die meiste Zeit in Anspruch. Daher kommt man schnell auf die Idee, nicht immer alle Faktendaten zu laden, sondern nur die neuen und die geänderten Datensätze. Dabei gibt es unterschiedliche Szenarios in Bezug auf das Quell-System:

  • Es werden nur neue Datensätze geladen und es ist eine Spalte vorhanden, mittels derer genau bestimmt werden kann, welche Datensätze zu laden sind. Dies könnte z. B. ein fortlaufender Datensatzzähler sein.
  • Es kann ein überlappendes Zeitfenster auf einer Datumsspalte bestimmt werden, in welchem sich Daten ändern können, z. B. das Buchungsdatum.
  • Es sind keine Informationen vorhanden, mit Hilfe derer nur die geänderten Daten selektiert werden können.

Der SQL Server bietet unterschiedliche Möglichkeiten, diese Probleme zu lösen. Mittels selbst pro-grammiertem T-SQL Code ist selbstverständlich alles möglich, jedoch ist das nicht immer die beste Lösung. Gerade für das dritte oben genannte Szenario wäre viel Aufwand notwendig. Bereits für den SQL Server 2008 hat Microsoft eine Funktion mit dem Namen Change Data Capture (CDC) eingeführt. Mit dem SQL Server 2012 wurde die Funktion weiter ausgebaut, u. a. ist eine SSIS- Unterstützung hinzugekommen. In diesem Beitrag wird gezeigt, wie CDC für ein Delta Ladevorgang verwendet werden kann.

Den gesamten Artikel können Sie hier abrufen.

Schreibe einen Kommentar