In one of my daily web stumbles I found a cool blog entry2 by Theo Schlossnagle on his blog Esoteric Curio1. In general, it's a bit of rant on terminology. But, it's also a nice overview of the concepts surrounding partitioning and federation of data. The two lines in his post that I liked best are:
"Partitioning is a more general concept and federation is a means of partitioning."
"A shard is a piece of broken ceramic, glass, rock (or some other hard material) and is often sharp and dangerous. Sharding is the act of creating shards."
I think that sums up his feelings on the term "Shard." I don't really know where the term Shard came from but he does indeed make a good point. I think I'll be more careful when I discuss the various concepts around database scaling using partitioning. Thanks for a nice article Theo.
Resources:
1 - Esoteric Curio - http://www.lethargy.org/~jesus/
2 - Article - http://www.lethargy.org/~jesus/archives/95-Partitioning-vs.-Federation-vs.-Sharding.html