views:

136

answers:

2

What is the concept of Sharding from Database Design perspecitve ?

+2  A: 

Partitioning the key space across a cluster of DB servers to distribute the service load and promote scalability of the overall system.

And a good/detailed article on sharding: http://www.codefutures.com/database-sharding/
Marcel J.
+1  A: 

Well you could start by reading the wikipedia article on it, and perhaps the Hibernate Shards documentation. If you then have a more specific question, then ask that.

Horizontal partitioning is a design principle whereby rows of a database table are held separately, rather than splitting by columns (as for normalization). Each partition forms part of a shard, which may in turn be located on a separate database server or physical location. The advantage is the number of rows in each table is reduced (this reduces index size, thus improves search performance).

skaffman
This seems to equate sharding with horizontal partitioning, which is misleading. Sharding is breaking up the db into multiple instances; it involves issues with replicating shared state, migrating shards to load-balance, etc. Partitioning is on a per-table basis, and often does not involve multiple instances.
SquareCog