Der Daten Import / Export Spezialist
 
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
Schauen Sie sich auch die verfügbaren Beispiele zum SqlServer Adapter an evtl. kann Ihre Frage hiermit schon beantwortet werden: CSV Import , FlatFile Export , Import IDENTITY (Auto Inkrement) Felder , Export auf mehrere CSV Dateien aufteilen
  • Seite:
  • 1

THEMA:

Schreiben mit SQLServerAdapter sehr langsam 2 Wochen 4 Tage her #4417

  • Olaf Waltjen
  • Olaf Waltjens Avatar Autor
  • Offline
  • Beiträge: 1
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.

Schreiben mit SQLServerAdapter sehr langsam 2 Wochen 3 Tage her #4419

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Beiträge: 1703
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.
Anhänge:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Letzte Änderung: von FlowHeater-Team.
  • Seite:
  • 1
Ladezeit der Seite: 0.121 Sekunden

andere Sprachen

en

FlowHeater Home

de en

Impressum/Kontakt

Datenschutz

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

Follow us on

twitter  facebook

YouTube

 de en