Voglio eseguire il mio server di database PostgreSQL dalla memoria. Il motivo è che sul mio nuovo server, ho 24 GB di memoria, e quasi nessuno di essi viene utilizzato.PostgreSQL nel database di memoria
So che posso correre questo comando per fare un ramdisk:
mdmfs -s 1024m md2 /mnt
E potrei teoricamente PostgreSQL memorizzare i dati lì. Ma il problema con questo è che se il server si blocca o si riavvia, i dati saranno andati.
Fondamentalmente, voglio che il database sia caricato in memoria in ogni momento in modo che non debba andare sul disco fisso per leggere ogni record, dato che ho tonnellate di memoria e dato che la memoria è più veloce del disco rigido unità.
C'è un modo per farlo mentre anche PostgreSQL scrive sul disco in modo da non perdere alcun dato nel caso in cui il server si spegne? O c'è un modo per memorizzare tutti i dati nella memoria?
Hai misurato che quasi nulla di quei 24 gigabyte sono usati da postgresql? – tuinstoel
Poiché la memoria è più veloce del disco molto probabilmente sarebbe un po 'più veloce ma, dal momento che PostgreSQL non è progettato per essere eseguito in memoria, la velocità potrebbe non essere così grande come previsto. Ad esempio PostgreSQL proverà a svuotare la memoria nell'archiviazione persistente (normalmente disco, memoria in questo caso), vedi _Main Memory Databases Systems: An overview_ di Gracia-Molina e Kenneth Salem, [ecco i miei appunti] (https: // docs.google.com/document/d/1k9N8UNvCVM484P8xKSAF8Su8UnNKAt3D8oWM-aFYsK8/edit) di questo documento. – user454322