Search Postgresql Archives

Re: RAMFS with Postgres

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

My application is database intensive. I am using 4 processes since I have 4 processeors on my box. There are times when all the 4 processes write to the database at the same time and times when all of them will read all at once. The database is definitely not read only. Out of the entire database, there are a few tables which are accessed most of the times and they are the ones which seem to be the bottleneck. I am trying to get as much performance improvement as possible by putting some of these tables in RAM so that they dont have to be read to/written from hard disk as they will be directly available in RAM. Here's where slony comes into picture, since we'll have to mainatin a copy of the database somewhere before running our application (everything in RAM will be lost if there's a power failure or anything else goes wrong).

My concern is how good Slony is?
How much time does it take to replicate database? If the time taken to replicate is much more then the perf. improvement we are getting by putting tables in memory, then there's no point in going in for such a solution. Do I have an alternative?

Regards,
Vinita Bansal

From: Marco Colombo <pgsql@xxxxxxxxxx>
To: vinita bansal <sagivini@xxxxxxxxxxx>
CC: pgsql-general@xxxxxxxxxxxxxx
Subject: Re: RAMFS with Postgres
Date: Wed, 20 Jul 2005 12:08:49 +0200

On Tue, 2005-07-19 at 16:45 +0000, vinita bansal wrote:
> Hi,
>
> I am  trying RAMFS solution with Postgres wherein I am pushing the most
> heavily used tables in RAM.

Why? I mean, what problem are you trying to solve?

> I have 32GB RAM on a 64 bit opteron machine. My database size is 40GB. I
> think Linux allows max. of 16GB (half of available RAM) to be used directly
> to push tables to it.
>
> I am concerned about reliabilty here (what if there is a power failure).
> What are the things that need to be considered and what all can be done to > ensure that there is no data loss in case something goes wrong. What steps
> must be taken to ensure data recovery. I am planning to use Slony
> replication to replicate my database to a diff node so that incase something > goes wrong, I can restore it from replication node and start my runs on that
> data again. The only problem here is that I need to run engines from
> beginning. Is there any other way of doing the same thing or such a thing is > good enough given the fact that a failure like this happens very rarely. The > most imp. thing for me is the **data** which should not be lost under any
> circumstances.

Then don't use RAMFS. Slony may be a good idea, but it's hard to tell if
you don't provide more info.

What is the database used for?
- heavy long running, CPU-based, read only queries?
- many simple queries but over the whole dataset (thus I/O based)?
- many INSERTs/UPDATEs?

Is the database accessed by many concurrent users? How many of them are
mostly read-only and how many perform writes?

Each problem in each scenario may have a different solution...

> Has anyone used Slony replication before. How good is it. Is there anything
> else available which is better then Slony Replication?

"better" is meaningless w/o a context. There are tasks in which Slony
may the best tool in the world, and others that require a totally
different approach. First you have to define what your problem is, and
why the obvious solution (a normal PostGreSQL server, with a standard
filesystem) does not work/fit. Then you choose a solution.

>
> Regards,
> Vinita Bansal

.TM.
--
      ____/  ____/   /
     /      /       /                   Marco Colombo
    ___/  ___  /   /                  Technical Manager
   /          /   /                      ESI s.r.l.
 _____/ _____/  _/                      Colombo@xxxxxx


_________________________________________________________________
Logon to MSN Games http://www.msngamez.com/in/gamezone/ Enjoy unlimited action


---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux