Distribution entries for model over multiple tables

Here’s the thing. I’m designing an application that is very likely to
generate lots of db entries quickly, therefore it’s important to think
about scalability before doing any moves.

To make it more clear: the model would be called ‘Item’ and it will
hold a serial number and some info about it. My guess is that the
number of those items is going to grow up to, say, 100 000 in no time.
And I need search and update through them fast enough.

I’ve no experience doing that kind of thing, but the most obvious
solution to me is to distribute entries over multiple tables, using
hash, for example. So the question is: what would be the best way to
this in theory, and how would that look in practice with ActiveRecord
(how do I tell model to use a particular table dynamically?).

On 22 Nov 2008, at 11:57, snitko wrote:

I’ve no experience doing that kind of thing, but the most obvious
solution to me is to distribute entries over multiple tables, using
hash, for example. So the question is: what would be the best way to
this in theory, and how would that look in practice with ActiveRecord
(how do I tell model to use a particular table dynamically?).

If you really want to help the database, sharding over tables won’t
help that much. You’d want to shard across multiple database servers.

Fred