Hallo,
ich muss unglaublich viele Dateien erstellen (so ca. 43 Millionen).
Inhalt der Dateien sind serialisierte Objekte.
Das läuft jetzt ungefähr so:
Ich habe eine 230GB große Datei mit völlig unsortierten Daten, die
im RDF-Format, also in Triples, gespeichert sind. Jedes Triple bezieht
sich dabei auf ein bestimmtes Objekt identifiziert durch eine ID.
Also z.B.
xyz name tom
abc typ baum
...
Ich nehm mir also die ID, gucke ob die Datei schon vorhanden ist
(deserialisiere), schreibe die neuen Daten ins Objekt und schreibe
sie dann auf die Festplatte (serialisiere).
Das ganze geht am Anfang natürlich schnell, jetzt wo ich bereits bei
1.4 Millionen erzeugten Dateien bin benötigt das Programm aber
schon eine Sekunde um eine Datei zu erstellen. Da warte ich ewig.
Wie gehe ich also am besten mit dieser Menge an Dateien um,
damit das ganze schneller geht.... denn mal ehrlich, noch 40 Millionen
Sekunden warten... naja ^^
ich muss unglaublich viele Dateien erstellen (so ca. 43 Millionen).
Inhalt der Dateien sind serialisierte Objekte.
Das läuft jetzt ungefähr so:
Ich habe eine 230GB große Datei mit völlig unsortierten Daten, die
im RDF-Format, also in Triples, gespeichert sind. Jedes Triple bezieht
sich dabei auf ein bestimmtes Objekt identifiziert durch eine ID.
Also z.B.
xyz name tom
abc typ baum
...
Ich nehm mir also die ID, gucke ob die Datei schon vorhanden ist
(deserialisiere), schreibe die neuen Daten ins Objekt und schreibe
sie dann auf die Festplatte (serialisiere).
Das ganze geht am Anfang natürlich schnell, jetzt wo ich bereits bei
1.4 Millionen erzeugten Dateien bin benötigt das Programm aber
schon eine Sekunde um eine Datei zu erstellen. Da warte ich ewig.
Wie gehe ich also am besten mit dieser Menge an Dateien um,
damit das ganze schneller geht.... denn mal ehrlich, noch 40 Millionen
Sekunden warten... naja ^^