2009-07-16 4 views
1

Ich habe die Delta-Erkennung beim Laden von Data Warehouse aus Transaktionssystemen mithilfe einer Identitätsspalte oder einer Datums-/Uhrzeitspalte in Quelltransaktionstabellen implementiert. Wenn Daten das nächste Mal extrahiert werden müssen, wird der maximale Datum-Uhrzeit-Wert, der beim letzten Mal extrahiert wurde, im Filter der Extraktionsabfrage verwendet, um neue oder geänderte Datensätze zu identifizieren. Das war gut genug, außer wenn es mehrere Transaktionen in der gleichen Millisekunde gab.In SQL Server CDC mit SSIS, welche Daten sollten für Windowing (LSN oder Date) gespeichert werden?

Aber jetzt haben wir Change Data Capture (CDC) mit SQL Server 2008 und es bietet eine neue Sache namens LSN (Log Sequence Number), die binär der Länge 10 ist. Jetzt bin ich verwirrt. Welche Daten sollten für die Fensterfunktion, die LSN oder das Datum/Uhrzeit gespeichert werden? Natürlich eliminiert LSN die Notwendigkeit, zusätzliche Datum-Zeit-Werte in großen Transaktionstabellen zu speichern, aber hat das irgendwelche Nachteile? Welchen sollte ich benutzen? Ich denke, die Zuordnung von LSN zu Datum und Uhrzeit und die Speicherung von Datum und Uhrzeit ist keine zuverlässige Methode. Was ist deine Meinung?

PS: An, Nicht-BI-Profis, Entschuldigung.

Antwort

0

Nach langem Warten sehe ich hier keine weiteren Antworten. Ich habe LSN in meinem aktuellen Projekt für Fenster verwendet und ich finde es besser als Datum Zeit Werte, da es genauer ist und der Prozess ist einfach. Ich empfehle die Verwendung von LSN. Wenn jemand da draußen nicht einverstanden ist, lassen Sie es mich wissen ...

1

Informationen zur Verwendung von CDC mit SSIS finden Sie unter Improving Incremental Loads with Change Data Capture.

+0

Das Verwenden von Datum hat den Nachteil, dass es nicht zwischen den in derselben Sekunde eingefügten/geänderten Datensätzen unterscheiden kann, es sei denn, der letzte datetime2-Typ wird verwendet. In den dort angegebenen Beispielen verwenden sie den alten Datetime-Datentyp. Sieht so aus, als ob der Autor sich keine Gedanken über diese Tatsache macht. – Faiz

0

Wenn Sie CDC einrichten, erhalten Sie eine Systemtabelle mit dem Namen cdc.lsn_time_mapping zu Ihrer Datenbank hinzugefügt, so dass Sie entweder verwenden können.

Verwandte Themen