N/A wrote:
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.
Wherever possible, I think that local storage is almost always best as
it is a less complex system (hence less can go wrong). However, you
will probably get better answers if you tell us what sort of NAS you are
looking at using, how it will connect to your system, etc.
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.
How internally consistant is this snap? I.e. if the file is changed
while the snap is being taken, what happens? This behavior may be
product-dependnant and has serious ramifications for your data.
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).
Personally I think that there are better approaches than NAS for this,
but again I am unwilling to say "never use it."
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?
Best Wishes,
Chris Travers
Metatron Technology Consulting
begin:vcard
fn:Chris Travers
n:Travers;Chris
email;internet:chris@xxxxxxxxxxxxxxxx
x-mozilla-html:FALSE
version:2.1
end:vcard