Hi,
I'm putting together a mission critical application
which will use a Postgresql database, and I am trying to decide if I should
place my Postgresql database on a network attached storage appliance or on local
disks.
If I place the database on the NAS, it will get
"backed up" by the NAS device's "snap" type of images. That means the NAS
will make a copy of the delta, or difference, between the current version of the
files on it, and the version from the last time the "snap" was done. The
"snap" images will be dumped to tape at some interval of time.
I'm concerned about using a "snap" of an open and
active database to restore the database if the need arises. Now,
postgresql is pretty good about keeping checkpoints and recovering, but I'm
still concerned about data integrity, (who knows what state any internal
pointers are in when the "snap is taken), and as my application will need to
archive groups of files that have to be kept together in order for the data in
those files to be meaningful, (a group of files could be in the process of being
archived to the database, the NAS takes a "snap" when only some of the files
have been written in the database, and then the rest of the files are written in
the database). There is also the question of speed, Network attached
storage vs. local disks, (network speed is pretty good 100 Meg and will be going
to 1 Gig in the future).
I suppose I could place the database on the NAS,
shutdown the database when a backup of the database is desired, have
Postgresql create the database re-creation script, let the NAS take it's
"snap", and then bring the database back up.
Any suggestions, experiences, or
observations?
|