Warum schreibst du nicht gleich in das große Array? Wenn du dessen Länge nach einem Füll-Vorgang nachträglich erhöhst bleiben die Daten von zuvor erhalten.
Bei gewissen Mengen könnte sich hier aber auch schon der Einsatz einer embedded
DB lohnen, wie Firebird. Arrays haben den Nachteil, dass sie gerne komplett am Stück im Speicher sein wollen. Große Größen kann Windows aber ggf. wegen der Speicherfragmentierung nicht mehr zusammen hängen liefern, so dass dann eine weitere Vergrößerung potenziell auf den Out of Memory Hammer läuft. Bei einer
DB hättest du den ganzen Komfort von Queries und den Funktionen des
DBMS, und müsstest zu keinem Zeitpunkt mehr alle Daten gleichzeitig in deinem Programm vorhalten. Würde man das auf eine richtige
DB aufweiten, wäre ein dauerhaft verfügbares Langzeitarchiv auch denkbar.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)