Zum Hauptinhalt springen
Weil einfach - produktiver ist

Der Daten Spezialist

Konvertieren Sie die Daten mühelos zwischen verschiedenen Formaten ohne Programmierkenntnisse dank Visual Designer. Effizient und super einfach.
Flowheater Chart

Schreiben mit SQLServerAdapter sehr langsam

Mehr
2 Jahre 10 Monate her #4417 von Olaf Waltjen
Schreiben mit SQLServerAdapter sehr langsam wurde erstellt von Olaf Waltjen
Hallo,

wir haben einen FH-Job, der Daten aus einer Postgres-Datenbank in eine MSSQL-Datenbank übertragen soll (ca. 2 Mio Zeilen).
Die Versionen sind aktuell.
Dabei haben wir das Problem, dass der FH lediglich mit ca. 4 MBit/s in die Datenbank schreibt. Egal, ob im Batch-, Memory- oder MassData-Modus.
Das Lesen der Daten braucht ca 2-3 Minuten, das Schreiben dann mehr als 30 Minuten.

Mit welchen Einstellungen kann man die Übertragungsraten steigern?
Zum Vergleich: Der FlatFile-Import der gleichen Daten in die gleiche Tabelle mit dem SQL-Management-Studio läuft mit ca. 60 - 100 MBit/s und ist in ein paar Minuten fertig.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
2 Jahre 10 Monate her - 2 Jahre 10 Monate her #4419 von FlowHeater-Team
FlowHeater-Team antwortete auf Schreiben mit SQLServerAdapter sehr langsam
Hallo Herr Waltjen,

zuerst hätte ich da mal eine Frage. Wie importieren Sie denn die 2 Millionen Datensätze über das SQL Server Management Studio, verwenden Sie dafür einen „BULK INSERT“ oder den Wizard?

Wenn Sie „BULK INSERT“ würde mir das erklären warum es so schnell geht. Aus meiner Sicht sind 30 Minuten für 2 Millionen Datensätze gar nicht so schlecht. Aber optimieren kann man natürlich immer

Einmal sollten Sie bei nur INSERT Definitionen darauf achten, dass im SQL Server Adapter auf der WRITE Seite das auch so eingestellt ist bzw. hier UPDATEs nicht aktiviert sind. Wenn Sie hier nichts geändert haben sollte das passen, so sind jedenfalls die Standardeinstellungen bei einer Neuanlage einer Definition. Hintergrund: Sind in der Definition UPDATEs aktiviert, wird pro Datensatz geprüft ob der Datensatz bereist existiert und verlangsamt den Vorgang nochmal.

Dann kann über das Transaktionsverhalten auch nochmal optimiert werden. Hier wird in den Standardeinstellungen eine „Große“ Transaktion pro Verarbeitungsschritt verwendet. Manche Datenbanken performen mit solch „großen“ Transaktionen nicht ganz so optimal. Der SQL Server ist hier eigentlich klar im Vorteil und sollte keine Probleme haben. Sie können hier allerdings einmal probieren, nach ca. 10.000 – 50.000 geschriebenen Datensätzen einen „AutoCommit“ durchzuführen.

Oft ist allerdings auch die Netzwerk Anbindung ein Flaschenhals. Es ist ein Unterschied ob Sie z.B. mit dem SQL Server Management Studio direkt auf dem Server einen Import Job anstoßen und mit dem FlowHeater übers Netzwerk darauf zugreifen. Hier kommen bei solch großen Datenmengen über die Latenz schnell mal ein paar Minuten mehr zustande.

Daten nur anfügen
 


Transaktionsverhalten ändern
 

gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Letzte Änderung: 2 Jahre 10 Monate her von FlowHeater-Team.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Ladezeit der Seite: 0.257 Sekunden
FlowHeater Logo

FlowHeater - Der Daten Spezialist

Effiziente Datenintegration und Transformation mit FlowHeater - Ihre Lösung für nahtlosen Datentransfer.

Rechtliches

Support & Kontakt

Kontaktinformation

Telefon:
0951 / 99339792

E-Mail:
Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein.


Copyright © 2009-2024 by FlowHeater GmbH. Alle Rechte vorbehalten.