Balanced Data Distributor

Todd McDermid hat die Tage mal wieder die SSIS Community Tasks and Components aktualisiert (vielen Dank an dieser Stelle für das Google Analytics Source Update) und dabei auch auf den Balanced Data Distributor verwiesen, den Microsoft vor ein paar Tagen veröffentlicht hat.

Mittlerweile ist auch ein umfangreicher Blog Beitrag zur BDD Component von Len Wyatt aus dem SQL CAT Team erschienen.

Wie in dem SQL CAT Team Artikel so schön geschrieben wird, ist die Funktion des Microsoft® SQL Server Integration Services Balanced Data Distributor sehr einfach: Er nimmt die eingehenden Daten und routet sie in gleichgroßen Portionen in die Outputs, je nachdem wie viele vorhanden sind.

In der Tat funktioniert der BDD auch so einfach. Der BDD verfügt über keinen Designer und konfiguriert sich somit quasi von selber über die Anzahl der Output-Pfade.

image

Eingesetzt werden kann der BDD bei sehr großen Datenmengen, die schneller geladen als innerhalb des Datenflusses verarbeitet werden können und bei denen keine Abhängigkeiten innerhalb der Reihenfolge der Datarows existieren. Dies bedeutet, dass der BDD nicht nur wie obigen Beispiel beim Schreiben von Daten eingesetzt werden kann, sondern auch bei verschiedenen Transformationen innerhalb des Datenflusses. Für weitere Infos zu Bottlenecks sei noch einmal auf den SQL CAT Artikel verwiesen.

Ein paar kleinere Test auf meinem Notebook haben zwar unterschiedliche und damit natürlich auch keine repräsentativen Werte ergeben, prinzipiell zeigt es aber, dass beim Speichern von 1.000.000 Datensätzen, der Einsatz des BDD die Zeiten von ~ 40 Sekunden auf ~ 20 Sekunden und damit fast um bis zu 50% reduzieren kann. Bei 10 Mio. Datensätzen verringert sich die Zeit von ~ 10 Minuten auf ~ 4:30 Minuten.

Wer die Komponente testen möchte, kann sich die aktuelle Version für X86 sowie x64 über den Microsoft Download Bereich herunterladen. Für Schnell-Clicker sei gesagt, das man dort wirklich eine Word-Datei herunterladen muss. In dieser muss man über einen Button den Lizenzvertrag innerhalb des Dokumentes bestätigen und erhält damit die Links zum Download der beiden Versionen.