PostgreSQL Dans La Mémoire De La Base De Données

Je veux lancer mon serveur de base de données PostgreSQL à partir de la mémoire. La raison en est que sur mon nouveau serveur, j'ai 24 GO de mémoire, et à peine il est utilisé.

Je sais que je peux exécuter cette commande pour faire un ramdisk:

mdmfs -s 1024m md2 /mnt

Et j'ai pu, en théorie, PostgreSQL stocker ses données. Mais le problème, c'est que si le serveur tombe en panne ou redémarrage de l'ordinateur, les données seront perdues.

Fondamentalement, je veux que la base de données pour être chargé dans la mémoire à tout moment, de sorte qu'il n'a pas à aller sur le disque dur de lire tous les enregistrements, depuis j'ai des TONNES de mémoire et vu que la mémoire est plus rapide que les disques durs.

Est-il un moyen de le faire tout en ayant également PostgreSQL écrire sur le disque, donc je ne pas perdre toutes les données en cas de défaillance du serveur? Ou est-il un moyen pour mettre en cache toutes les données en mémoire?

  • Avez-vous mesuré que presque rien de ces 24 giga-octets sont utilisés par postgresql?
  • Vu que la mémoire est plus rapide que le disque qu'il devrait être un peu de vitesse mais, depuis PostgreSQL n'est pas conçu pour être exécuté en mémoire la vitesse peut ne pas être aussi grand que prévu. Par exemple PostgreSQL voudrais essayer de vider sa mémoire pour le stockage persistant (normalement le disque, la mémoire dans ce cas), voir le Mémoire de Systèmes de Bases de données: Une vue d'ensemble par Gracia-Molina et Kenneth Salem, voici mes notes de ce document.
InformationsquelleAutor David Barnes | 2009-12-01