Saturday, August 9, 2008

Re: [PERFORM] Distant mirroring

On Sat, Aug 9, 2008 at 11:29 AM, dforum <dforums@vieonet.com> wrote:
> Hello,
>
> I'm trying to install a solution to permit me to :
> - Secure the datas, without RAID

Nothing beats a simple mirror set for simplicity while protecting the
data, and for a pretty cheap cost. How much is your data worth?

> - Giving ability to increase the potentiality of the database towards the
> needs.
>
> I have read about slony, DRBD, pgpool....
>
> I don't find the good system to do what I want.
>
> I manage for now 50 millions of request per month.

Assuming they all happen from 9 to 5 and during business days only,
that's about 86 transactions per second. Well within the realm of a
single mirror set to keep up if you don't make your db work real fat.

> I will reach 100 millions in the end of the year I suppose.

That takes us to 172 transactions per second.

> There is 2 difficulties :
> 1 - is the storage : to get faster access,it is recommend to use SAS 15 000
> tps. But the disk I can get are 149 GO of space. As the database is growing
> par 1,7 Go per week at the moment, it will reach is maximum in 3 month. I
> can add 3 disk at least so It can go to 9 month. What to do after, and
> especially what to do today to prevent it?

No, don't piecemeal just enough to outrun the disk space boogieman
each month. Buy enough to last you at least 1 year in the future.
More if you can afford it.

> 2 - The machine will treat more and more simultaneous entrance, so I need to
> loadbalance those inserts/updates on several machine and to replicate the
> datas between them. It's not a real problem if the data are asynchrony.

Then PostgreSQL might not be your best choice. But I think you're
wrong. You can easily handle the load you're talking about on a
mid-sized box for about $5000 to $10000.

You can use 7200 rpm SATA drives, probably 8 to 12 or so, in a RAID-10
with a battery backed cache and hit 172 transactions per second.

Given the 1+ G a week storage requirement, you should definitely look
at using inheritance to do partitioning. Then use slony or something
to replicate the data into the back office for other things. There's
always other things most the time that are read only.

--
Sent via pgsql-performance mailing list (pgsql-performance@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance

No comments: