tags:

views:

34

answers:

3

I'm using Postgres, but I'm curious about this just in general. People talk about running on multiple servers for better availability, but I actually haven't the slightest idea how I would run a relational DB on more than one server, and still have data integrity.

+2  A: 

You're at the stage where googling for "database replication", and reading a few articles, is the right thing to do.

mjfgates
@mjfgates - thanks, that's actually helpful. When it comes to DBs, I always feel like there's some super secret science that only DBAs know, but it's just like any other software. It just takes some DD. It's always helpful to start here so I don't waste 3 days heading down the wrong path.
orokusaki
A: 

I'd look into database partitioning and database sharding. There are some questions on this site that relate to the topic with Postgres.

Javid Jamae
sharding has to do with scalability, not availability
Matt Briggs
@Matt - I intend on producing both results from this process. I'd like to make scaling easier, but also increase availability rates.
orokusaki
+2  A: 

The idea is you have a master database, with slave databases constantly copying data from it. When the master goes down, you flip a switch and go off of a slave. You do lose some data during the switch, but that is often preferable to just not working until the db comes back up.

Matt Briggs