Why not use a partitioned table? You can write a trigger to control which 
partition the coming data should be inserted.

Regards,
----
Liu Haifeng
Home: http://liuhaifeng.com




On May 30, 2012, at 4:13 AM, Igor Shmain wrote:

> Can you please help with advice?
> 
> I need to design a solution for a database which will grow and will require a 
> horizontal split at some moment.
> 
> Here is how I am planning to do it: Every record in every table has a shard 
> number. After the database becomes too large (gets too many requests), the 
> tables need to be horizontally split. It means that for every table all 
> records with some specific shard numbers need to be moved to a new database.
> 
> My plan is to (1) create a copy of the database on a new server 
> (backup/restore?), (2) synchronize the databases (how?), and then (3) forward 
> all requests for the moved shards to the new database. (I will get rid of the 
> unneeded shards later). An important requirement: there should be no outage 
> for the users.
> 
> What are the ways to achieve it?
> 
>  
> 
> Thank you in advance,
> -igorS
> 
>  
> 

Reply via email to