Neu Eure Empfehlung - beste Lösung für schnellere Importe (CSV) inkl. Automatisierung

Tim_Schroeder

Mitglied
7. März 2021
19
0
Hallo zusammen,

ich habe folgendes Problem. Ich muss ab sofort täglich ca. 25.000 Datensätze einlesen und bei meiner Kombination aus:

- SQL Datenbank gehostet bei JTL
- Rechner mit der Wawi bei mir zuhause
- Internetgeschwindigkeit ca. 50.000 Download / 15.000 Upload

brauche ich für die Importe von unterschiedlichen CSV-Dateien aktuell zu viel Zeit.

Ab heute muss ich von den ca. 25.000 Datensätzen 18000 Datensätze für Variationen einlesen und der erste Import läuft gerade und er schafft gerade im Durchschnitt 62 Datensätze pro Minute. So brauch ich wenn es sich nicht noch verschlechtert 290 Minuten nur für diesen Import.

Dazu kommt noch das ich jeden Tag von Hand die Daten importiere. Die Importe habe ich aus der Ameise in eine Batch-Datei erstellt und ich muss nicht jeden einzeln machen. Dies möchte ich auch gerne automatisch machen aber ich habe auch hier ein Problem:

- Die CSV-Daten kommen Nachts um ca. 3 Uhr per E-Mail.
- Diese speichere ich dann morgens lokal bei mir auf dem Rechner in einem bestimmten Pfad ab
- Ich starte die Import-Batch-Datei (Dauer ca. 50 Minuten - ca. 5.000 Datensätze)
- dann den Abgleich mit dem Shop (ca. 7 Minuten)
- Neu (jetzt 20.000 weitere Datensätze für Variationen - noch keine Zeit gemessen)

Am liebsten möchte ich dies auf einem gehosteten Server oder andere Lösung automatisiert laufen lassen. Um die E-Mail Lösung abzuschaffen wäre ein Server mit FTP-Server Funktionalitäten am besten. So kann die Firma X die Daten dort ablegen. Dann müsste aber automatisiert der Import starten und der Abgleich zum Shop.

Ich habe gesehen das JTL die RDP-Lösung anbietet. Würde dies meine beiden Probleme beheben (schnellere Importe / Automatisierung)?

Was könnt Ihr empfehlen? Wie habt Ihr Euch aufgestellt?

Danke

Tim
 

Tim_Schroeder

Mitglied
7. März 2021
19
0
Danke Jens

- E-Mail-Idee ist gut aber die Übertragung per FTP wäre besser. Daher brauche ich wohl ein Server mit FTP, aber ich will hier keine hunderte Euro im Monat bezahlen (aber dann muss auch eine Firewall her). Vielleicht muss ich meine ganze Umgebung verändern.

- Die Importe lasse ich schon im cmd laufen und starte die passende Batch.

Aber mein größtes Problem ist die Import-Zeit:
Aktuell habe ich 2900 Datensätze von 17850 importiert und leider liege ich jetzt schon bei 2 Std. 40 Minuten. Daher vermute ich das der Import zwischen 16-24 Stunden braucht.

SQL bei JTL und Importe bei mir privat übers Internet ist anscheinend der Flaschenhals. Daher brauche ich Euch um zu erfahren welche Lösung die beste ist.
 

fibergirl

Sehr aktives Mitglied
14. April 2016
828
253
Gibt es vielleicht Workflows, die bei jeder Artikel-Änderung aufgerufen werden?
Wenn ja, könntest Du prüfen, ab diese auch bei den genannten Ameisen-Importen notwendig sind.
Sollte sich herausstellen, dass sie in diesem Fall überflüssig sind, könntest Du
- den betreffenden Workflow für die Ameise deaktivieren, oder
- die Ameise ohne Workflow-Ausführung starten.

Die Workflows weglassen bringt potentiell viel Zeiterparnis beim Import via Ameise.
 

Tim_Schroeder

Mitglied
7. März 2021
19
0
Gibt es vielleicht Workflows, die bei jeder Artikel-Änderung aufgerufen werden?
Wenn ja, könntest Du prüfen, ab diese auch bei den genannten Ameisen-Importen notwendig sind.
Sollte sich herausstellen, dass sie in diesem Fall überflüssig sind, könntest Du
- den betreffenden Workflow für die Ameise deaktivieren, oder
- die Ameise ohne Workflow-Ausführung starten.

Die Workflows weglassen bringt potentiell viel Zeiterparnis beim Import via Ameise.
ich habe gar keine Workflows aktiv. daher liegt es auch nicht daran.
 

ksw

Aktives Mitglied
15. November 2017
52
19
Schwäbisch Hall
Je nachdem was den die Datensätze enthalten. bzw was für Daten aktualisiert werden sollen, würde ich das direkt in der DB machen.
Ein SSIS Paket ist für so kleine automatische Datenmanipulationen schnell zusammen gebaut.
 

Enrico W.

Administrator
Mitarbeiter
27. November 2014
8.218
1.608
Mit welcher Wawi-Version arbeitest du und was wird hier genau importiert?
Importierst Du direkt auf dem Server? Wo befindet sich Deine Datenbank? Ist diese evtl. gehostet?
 

Tim_Schroeder

Mitglied
7. März 2021
19
0
Hallo zusammen,

hier ein Feedback von meiner Seite.

Umstellung
Ich habe mich entschlossen das SQL- Hosting bei JTL umzustellen auf das RDP-Hosting inkl. SSL-Zertifikat. Dementsprechend hat mich das Vertriebs-/Technikteam von JTL super unterstützt und meine Zweifel genommen diesen Schritt zu gehen (DANKE an das JTL Team). Dementsprechend liegt der Wawi-Client und die SQL-Datenbank auf einem Windows Server 2016. So greife ich direkt auf die SQL-Datenbank zu und habe kein Flaschenhalseffekt bzgl. der Internetverbindung. Die Importe per Batch Datei mache ich auch nur noch auf dem RDP-Server. Importe und Abfragen übers Internet auf eine SQL-Datenbank soll auch nicht wirklich gut funktionieren.

Für die normalen Auftragsbearbeitungen nutze ich weiterhin unsere Notebooks oder Workstation, wo die lokale Wawi installiert ist.

Fazit & Zeitvergleich
Ich bin echt total positiv überrascht. Die normalen Importe, die täglich ca. 42 Minuten beansprucht haben, waren jetzt in 5 Minuten fertig inkl. Abgleich zum Onlineshop.

Die große Importierung der ca. 20.000 Variations-Datensätze hat heute 43 Minuten benötigt. Dies war bei mir vorher zwischen 12-20 Stunden abgebrochen.

Ich lasse die Importe über eine Batch-Datei laufen (die ich vorher natürlich in der Ameise gebaut habe).

Offene Probleme / Automatisierung
Der nächste Schritt ist es alles zu automatisieren. Hier habe ich noch keine finale Lösung.

Fragen die ich im Kopf habe:

- FTP-Lösung - wo kann ich ein gute Lösung in der Cloud mieten, so dass der Lieferant dort die Daten ablegen kann
- wie bekomme ich automatisch die Daten von einem FTP-Server (welches Tool ist am besten), ist dies auch per Batch möglich?
- wie schaffe ich es, sobald neue Daten zum importieren kommen, auch die Importe zu starten (nicht das ich z.B. jede Stunde die gleichen Daten importiere)
- ist es auch möglich nach dem Import-Batch in der Batch-Datei den Abgleich zum Onlineshop zu starten?
-->Ich habe mir den JTL- Worker angesehen, aber was ist wenn der Import der Daten länger braucht und der JTL-Worker schon wieder die Daten mit dem Onlineshop abgleichen will?
- Ist es möglich den JTL-Worker z.B. erst ab 7 Uhr alle 3600 Sekunden abzugleichen oder um 0 Uhr zu stoppen? So könnte ich täglich um 5 Uhr den Import der Daten machen und ab 7 Uhr werden diese übertragen

Es sind einige Fragen ich weiß ;)

Wenn jemand Hilfe braucht bzgl. Import-Jobs als Batch, so helfe ich Euch gerne. Meldet Euch einfach.

Tim
 

Frank Hoffmeister

Sehr aktives Mitglied
11. Mai 2014
142
28
Hallo zusammen,

hier ein Feedback von meiner Seite.

Umstellung
Ich habe mich entschlossen das SQL- Hosting bei JTL umzustellen auf das RDP-Hosting inkl. SSL-Zertifikat. Dementsprechend hat mich das Vertriebs-/Technikteam von JTL super unterstützt und meine Zweifel genommen diesen Schritt zu gehen (DANKE an das JTL Team). Dementsprechend liegt der Wawi-Client und die SQL-Datenbank auf einem Windows Server 2016. So greife ich direkt auf die SQL-Datenbank zu und habe kein Flaschenhalseffekt bzgl. der Internetverbindung. Die Importe per Batch Datei mache ich auch nur noch auf dem RDP-Server. Importe und Abfragen übers Internet auf eine SQL-Datenbank soll auch nicht wirklich gut funktionieren.

Für die normalen Auftragsbearbeitungen nutze ich weiterhin unsere Notebooks oder Workstation, wo die lokale Wawi installiert ist.

Fazit & Zeitvergleich
Ich bin echt total positiv überrascht. Die normalen Importe, die täglich ca. 42 Minuten beansprucht haben, waren jetzt in 5 Minuten fertig inkl. Abgleich zum Onlineshop.

Die große Importierung der ca. 20.000 Variations-Datensätze hat heute 43 Minuten benötigt. Dies war bei mir vorher zwischen 12-20 Stunden abgebrochen.

Ich lasse die Importe über eine Batch-Datei laufen (die ich vorher natürlich in der Ameise gebaut habe).

Offene Probleme / Automatisierung
Der nächste Schritt ist es alles zu automatisieren. Hier habe ich noch keine finale Lösung.

Fragen die ich im Kopf habe:

- FTP-Lösung - wo kann ich ein gute Lösung in der Cloud mieten, so dass der Lieferant dort die Daten ablegen kann
- wie bekomme ich automatisch die Daten von einem FTP-Server (welches Tool ist am besten), ist dies auch per Batch möglich?
- wie schaffe ich es, sobald neue Daten zum importieren kommen, auch die Importe zu starten (nicht das ich z.B. jede Stunde die gleichen Daten importiere)
- ist es auch möglich nach dem Import-Batch in der Batch-Datei den Abgleich zum Onlineshop zu starten?
-->Ich habe mir den JTL- Worker angesehen, aber was ist wenn der Import der Daten länger braucht und der JTL-Worker schon wieder die Daten mit dem Onlineshop abgleichen will?
- Ist es möglich den JTL-Worker z.B. erst ab 7 Uhr alle 3600 Sekunden abzugleichen oder um 0 Uhr zu stoppen? So könnte ich täglich um 5 Uhr den Import der Daten machen und ab 7 Uhr werden diese übertragen

Es sind einige Fragen ich weiß ;)

Wenn jemand Hilfe braucht bzgl. Import-Jobs als Batch, so helfe ich Euch gerne. Meldet Euch einfach.

Tim
Theoretisch müßte es doch machbar sein, daß du bei deinem RDP Hosting auch FTP, natürlich mit Verschlüsselung freigibst, dann mußt du nichts mehr von einem anderem FTP-Server holen, in der Batch-Datei baust du das verschieben/umbenennen/löschen der abgearbeitetn csv ein. Den Worker via Aufgabenplanung starten und beenden wäre eine Möglichkeit, wobei ich da vorsichtig wäre, da doch öfters der Hintergrunddienst hängt, vorallem bei Workflows.
Gruß Frank
 

jtldudel

Sehr aktives Mitglied
4. Januar 2018
527
174
Sollte das hier noch offen sein: Wenn du einen Online- Shop hast kannst du da ja mal nachfragen ob man auf dem Shopserver nicht ein Verzeichnis erstellt und einen SFTP Benutzer den dann der Lieferant benutzen kann um die Daten dort abzulegen.
Für automatisierte FTP Operationen kann ich dir WinSCP empfehlen, gutes Tool das kostenlos ist und relativ einfach mit Skripten arbeiten kann. Auf der Homepage gibt es dazu auch jede Menge Anleitungen und der Community Support ist sehr gut.
 

Tim_Schroeder

Mitglied
7. März 2021
19
0
Theoretisch müßte es doch machbar sein, daß du bei deinem RDP Hosting auch FTP, natürlich mit Verschlüsselung freigibst, dann mußt du nichts mehr von einem anderem FTP-Server holen, in der Batch-Datei baust du das verschieben/umbenennen/löschen der abgearbeitetn csv ein. Den Worker via Aufgabenplanung starten und beenden wäre eine Möglichkeit, wobei ich da vorsichtig wäre, da doch öfters der Hintergrunddienst hängt, vorallem bei Workflows.
Gruß Frank
Ich habe mir jetzt SyncBackPro gekauft. Dies ist richtig super. Hier ist es auch möglich Batch-Dateien vor und nach dem FTP-Job auszuführen.
 

Tim_Schroeder

Mitglied
7. März 2021
19
0
Sollte das hier noch offen sein: Wenn du einen Online- Shop hast kannst du da ja mal nachfragen ob man auf dem Shopserver nicht ein Verzeichnis erstellt und einen SFTP Benutzer den dann der Lieferant benutzen kann um die Daten dort abzulegen.
Für automatisierte FTP Operationen kann ich dir WinSCP empfehlen, gutes Tool das kostenlos ist und relativ einfach mit Skripten arbeiten kann. Auf der Homepage gibt es dazu auch jede Menge Anleitungen und der Community Support ist sehr gut.
Ich habe mir jetzt SyncBackPro gekauft. Dies ist richtig super. Hier ist es auch möglich Batch-Dateien vor und nach dem FTP-Job auszuführen.
 

Tim_Schroeder

Mitglied
7. März 2021
19
0
Warum so früh morgens?

Du kannst den Worker auf max. 9999 Sekunden = ca. 3 Stunden einstellen ...
Hallo,

die Daten zum importieren werden um ca. 4 Uhr morgens bereitgestellt.

Ich starte jetzt SyncBackPro um 5 Uhr morgens um sicherzugehen dass alle Dateien auch bereitgelegt worden sind. Dann importiere ich die CSV-Dateien dies dauert ca. 1 Std. 15 Minuten. Daher war meine Idee 2 Abgleiche am Tag. Aber ich habe keine Ahnung wie dies klappen soll.

Wenn ich alle 3 Stunden setze, dann kann es ja passieren, dass der Import noch läuft. Kann es hier nicht zu Problemen kommen?
 

Shopworker.de

Offizieller Servicepartner
SPBanner
4. Januar 2011
4.114
542
Arnsberg, Sauerland
Den Import mit der Ameise kannst du über die CMD-Line Ameise machen (siehe Guide) ... Die wiederum kannst du über den Windows-Aufgabenplaner starten, da kannst du jede beliebige Zeit und auch mehrere Termine oder Intervalle einstellen ...
Normal kommt sich da nichts ins Gehege ;)
 

Tim_Schroeder

Mitglied
7. März 2021
19
0
Den Import mit der Ameise kannst du über die CMD-Line Ameise machen (siehe Guide) ... Die wiederum kannst du über den Windows-Aufgabenplaner starten, da kannst du jede beliebige Zeit und auch mehrere Termine oder Intervalle einstellen ...
Normal kommt sich da nichts ins Gehege ;)
dies habe ich auch gemacht. Ich rufe die Importe in einer Batch-Datei auf. Aber wie gesagt dauert dies über 1 Stunde. Was passiert wenn jetzt zeitgleich der Abgleich mit dem Shop läuft?

Ich frage mich warum man den Onlineshopabgleich nicht zu festen Uhrzeiten laufen lassen kann.
 

Ähnliche Themen