Python Vergleich von zwei massiven Mengen von Daten in die effizienteste Methode möglich

Habe ich zum vergleichen von großen Datenbank-dumps im xls-format zu Parsen Veränderungen Tag-zu-Tag (Brutto, richtig?). Ich bin derzeit dabei, dies in die nach hinten wie möglich und mit xlrd drehen Sie die xls-in csv-Dateien, und dann bin ich mit diffs zu vergleichen.

Da es eine Datenbank ist, und ich habe nicht ein Mittel zu wissen, ob die Daten bleibt immer in der gleichen Reihenfolge nach so etwas wie ein Element löschen, kann ich nicht vergleichen, x line, x line zwischen den Dateien, damit Listen von Tupeln oder etwas würde Sie nicht machen am meisten Sinn für mich.

Ich im Grunde muss jede einzelne änderung, die passiert sein könnten auf jede Zeile UNABHÄNGIG von der Zeile, die position in der aktuellen dump, und die einzige echte "lookup" ich denken konnte, SKU als eine eindeutige ID (es ist eine Produkt-Tabelle aus einer alten DB-system), aber ich muss wissen, viel mehr als nur Produkte gelöscht oder Hinzugefügt werden, da Sie sich ändern könnte, Preise oder sonst etwas in dieser Position.

Soll ich mich mit sets? Und einmal hab ich geladen 75+ tausend Einträge dieser Datenbank-Datei in eine "Reihe", ist meine ram-Auslastung gehen, um den hysterischen?

Dachte ich über das laden in jeder Zeile der xls als eine große verkettete Zeichenfolge hinzufügen, um einen Satz. Ist, dass eine effiziente Idee? Ich konnte im Grunde eine Liste von Zeilen, die sich unterscheiden, zwischen den Sätzen, und dann gehen Sie zurück, nachdem die Zeilen in die original-db-Datei zu finden, meine tatsächliche Unterschiede.

Habe ich noch nie gearbeitet mit Daten-parsing auf einer Skala wie dies. Ich bin meistens nur auf der Suche nach einer Beratung nicht machen, dieser Prozess mehr lächerlich, als es sein muss, und ich kam hier nach nicht wirklich etwas zu finden, schien spezifisch genug, um meinen Fall zu fühlen, wie eine gute Beratung. Vielen Dank im Voraus.

Es klingt wie Sie haven ' T sogar versucht, um zu sehen, was, wenn überhaupt, Probleme, die Sie ausgeführt werden. Moderne Computer sind überraschend kraftvoll. Ich würde vorschlagen, Sie versuchen es, dann kommen wieder die Probleme, die Sie gegenüberstellen. Die Gemeinschaft besser in der Lage sein, um Ihnen zu helfen mit spezifischen Problemen.
Könnten Sie festlegen, dass die Datenbank-log eine Aufzeichnung der änderungen, die gemacht werden? Es scheint einfacher als zu versuchen, um änderungen zu erkennen, die nach-der-Tatsache.
Ich werde Zustimmen, @Kevin auf diesem; gibt es irgendwelche Einschränkungen, die Sie machen würden, Konfiguration der Datenbank nicht möglich?
Nein, es ist ein legacy-system kann ich nicht Bearbeiten.
Auch das wird auf einem Webserver läuft, also der einzige Grund, warum ich care about RAM. Sorry für die unspezifische.

InformationsquelleAutor vapirix | 2011-12-22

Schreibe einen Kommentar