Ankündigung

Einklappen
Keine Ankündigung bisher.

Artikel Import mit großen Datenmengen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Artikel Import mit großen Datenmengen

    Hallo, ich habe mal eine Frage an euch, und hoffe ihr könnt ihr mir ein paar Tipps geben.

    Ich möchte für ein System einen Artikelimport entwickeln. Die Artikel bekommen wir per .csv geliefert.

    Wie ist die beste Herangehensweise dafür, wenn ich davon ausgehen kann, das die .csv Dateien sehr sehr viele Datensätze haben werden.

    Ich würde einfach die .csv Datei einlesen, und für jeden Datensatz ein Objekt erstellen, und diesen dann in die Datenbank speichern. Ich könnte mir aber vorstellen, das dies irgendwann zu Problemen führen könnte (lange Zeiten, Speicherprobleme?).

    Könnt ihr mir nun Tipps geben, was bei so einen Importer zu beachten ist, damit dieser Stabl/Effektiv läuft.

    Mach es z.B. Sinn die .csv vorher zu teilen?


    Vielen Dank für jeden Tipp.

  • #2
    CSV durch die DB importieren?

    Kommentar


    • #3
      Zitat von Dormilich Beitrag anzeigen
      CSV durch die DB importieren?
      Hallo und danke, aber ich würde es wirklich gern über die Anwendung machen. Da im System dann auch noch einige Zuordnungen getroffen werden müssen.

      Kommentar


      • #4
        wenn du Sorgen wegen der Speicherlast hast, versuch's mal mit Generatoren (https://php.net/generators).

        Kommentar


        • #5
          Zitat von carfly Beitrag anzeigen
          Könnt ihr mir nun Tipps geben, was bei so einen Importer zu beachten ist, damit dieser Stabl/Effektiv läuft.
          Schreibs als Spaghetticode runter, achte auf eine saubere Validierung und schau was rauskommt. Performance und Ressourcenverbrauch siehst du damit und kannst entscheiden ob Optimierungen nötig sind oder nicht. Allzuviele Optionen hast du über eine Fremde Anwendung dann aber auch nicht. Parallelisieren ist eine Möglichkeit, wobei das mit PHP immer so ein Ding ist. Eine weitere Option, wenn das erezugen und speichern der Objekt sehr Ressourcen intensiv ist, wäre ein Delta import. Du berechnest aus dem aktuellen Zustand des Systems oder der zu letzt importieren Datei die Abweichnungen zur aktuellen Datei, und schreibst dann nur die Änderungen. (Dazu eignet sich sqlite wunderbar.)

          Kommentar


          • #6
            Was ist eine große Menge?

            Kommentar


            • #7
              Zitat von xm22 Beitrag anzeigen
              Was ist eine große Menge?
              So Circa 600.000 Artikel.

              Kommentar


              • #8
                Und von welcher Datenbank ist die Rede? MySQL/MariaDB ?

                Das Zeitproblem sehe ich für den Fall dann eher beim Insert in die DB als beim Einlesen und Aufarbeiten.

                Kommentar

                Lädt...
                X