Ich muss ein System mit Daten persistent und schnell neu zu laden, die mit mmap()
implementiert wird. Aber Systeme, die mmap()
für die Persistenz verwenden, verloren oft Datenintegrität bei Systemabsturz, wie Single-Mongo MongoDB.Kann mmap() die Datenintegrität bei einem Absturz garantieren, wenn ich Datenblöcke in 1/n von Linux PAGE_SIZE? Oder Festplattenblockgröße speichere?
Was ich habe, ist eine sehr flache Datenstruktur zu speichern: Daten werden in 1024 große Blöcke Chunked, keine Abhängigkeit zwischen den Blöcken. Auf Blöcke wird während der Betriebszeit des Servers zufällig und schwer zugegriffen.
Haben 'mmap' viele Male benutzt, aber nie, wo es Persistenzbedenken gab, also hatte ich mich nicht mit' msync' geprügelt. Das Lernen hat stattgefunden. Vielen Dank. –