Bearbeiten von großen Datenmengen in PHP Frage Bearbeiten von großen Datenmengen in PHP zu Favoriten hinzufügen

Daumen hoch 1 Daumen runter

Hallo zusammen,

ich habe eine Projekt, in dem eine große Menge Datensätze ( rund 6 Millionen Zeilen in einer Key-Value Tabelle, Oracle ) auf Anforderung einlesen, analysiert und dann via Excel exportiert werden müssen. Damit die Werte analysiert werden können, müssen eine Menge Objekte zusammengebaut werden, was unter anderem den Arbeitsspeicher in die Höhe treibt.

Ein Durchlauf, der auf der Kommandozeile eines Linuxservers gestartet wird, dauert in der Regel 1 Stunde und benötigt so circa 4 GB an Arbeitsspeicher.

Dies ist sehr unbefriedigend und unsere Systemadministratoren steigen mir jedesmal aufs Dach. Insgesamt bin ich der Meinung, das PHP für diesen Job nicht gemacht wurde, und suche deshalb nach Möglichkeiten dies in einer anderen Sprache performanter zu gestalten.

Hat jemand einen Tipp?

Antworten


Diese Antwort als GUT bewerten 0 Diese Antwort als SCHLECHT bewerten

PL/SQL vielleicht hilft dir das.

ich habe damit nie gearbeitet, nur gelesen, da du aber Oracle für die Datenhaltung hast, sollte es passen. Resultat wäre toll, wenn du mal hier reviewst.

Diese Antwort als GUT bewerten 0 Diese Antwort als SCHLECHT bewerten

6 Millionen Datensätze sollte auch PHP schaffen. Die Frage ist, was du damit in deinem Script machst. Eventuell kannst du einen Teil der Berechnungen bereits von der Datenbank erledigen lassen.

Auf jeden Fall kann etwas Profiling nicht schaden. Wo geht die meiste Zeit drauf? Welche Datenstrukturen deines Analysetools verbrauchen den meisten RAM? Dort anpacken und optimieren.

Erst wenn du der Meinung bist, dass es nichts mehr zu optimieren gibt, würde ich den Schritt zu einer anderen Sprache nehmen. Welche? Keine Scriptsprache, irgendwas das kompiliert. Was auch immer du kennst ... Scala, Java, C++, ...

Deine Antwort

Registrierter User Bereits registriert? Bitte logge dich vor dem Antworten ein.

Deine Daten