Hervé Piedvache wrote:
>>My point being is that there is no free solution. There simply isn't.
>>I don't know why you insist on keeping all your data in RAM, but the
>>mysql cluster requires that ALL data MUST fit in RAM all the time.
>
>
> I don't insist about have data in RAM .... but when you use PostgreSQL with
> big database you know that for quick access just for reading the index file
> for example it's better to have many RAM as possible ... I just want to be
> able to get a quick access with a growing and growind database ...
If it's an issue of RAM and not CPU power, think about this scenario.
Let's just say you *COULD* partition your DB over multiple servers. What
are your plans then? Are you going to buy 4 Dual Xeon servers? Ok,
let's price that out.
For a full-blown rackmount server w/ RAID, 6+ SCSI drives and so on, you
are looking at roughly $4000 per machine. So now you have 4 machines --
total of 16GB of RAM over the 4 machines.
On the otherhand, let's say you spent that money on a Quad Opteron
instead. 4x850 will cost you roughly $8000. 16GB of RAM using 1GB DIMMs
is $3000. If you went with 2GB DIMMs, you could stuff 32GB of RAM onto
that machine for $7500.
Let's review the math:
4X server cluster, total 16GB RAM = $16K
1 beefy server w/ 16GB RAM = $11K
1 beefy server w/ 32GB RAM = $16K
I know what I would choose. I'd get the mega server w/ a ton of RAM and
skip all the trickyness of partitioning a DB over multiple servers. Yes
your data will grow to a point where even the XXGB can't cache
everything. On the otherhand, memory prices drop just as fast. By that
time, you can ebay your original 16/32GB and get 64/128GB.