> One machine is simply not going to be able to scale with the quantities
> of links we hope to store information about and we want to move to some
> kind of cluster.  Because of the quantities of data, it seems to make
> sense to go for a cluster setup such that in a 4 machine cluster, each
> machine has a quarter of the data (is this "Share nothing," or, "Share
> everything"?).  To that end, we figured a good first step was to
> partition the data on one machine into multiple tables defining the
> logic which would find the appropriate table given a piece of data.
> Then, we assumed, adding the logic to find the appropriate machine and
> database in our cluster would only be an incremental upgrade.

So you set up 4 separate copies of PG in 4 machines? This is neither SN or 

The partition is good for performance if you distribute IOs and CPUs. In 
your design, I believe IO is distributed (to 4 machines), but since you 
sliced data into too small pieces, you will get penality from other places. 
For example, each table has to maintain separate indices (index becomes an 
useless burden when table is too small), so there will be so many Btree root 
...  System tables (pg_class/pg_attribute, etc) has to contains many rows to 
record your tables ... though we cached system table rows, but the memory 
space is limited ...

In short, too many tables. To design your new partition method, jsut keep in 
mind that database access data in a page-wise IO.


---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster

Reply via email to