This question already has an answer here:
I'm new to scaling and its related topics, now I just finished reading about database scaling strategy like database sharding and database replication. So I'm really wondering is it possible to combine these two strategies together? That is, having multiple shards of a giant database on different machines, and on each machine I replicate (master/slave) that shard. Not sure whether this is practical and which company is using this strategy.