Wednesday, July 17, 2013

Database Partitioning vs. Sharding vs. Federation

Partitioning: Take one table and split it horizontally. All the partitions reside in the same database and server.



Sharding: Take one database and slice it to create shards of the same database. The schema in each shard remains the same. The shards can reside on different servers. Each database is complete in itself.




Federation:  Take a database and spread it across a bunch of servers. The database even though spread on different servers works as a single unit.