Is there a difference between partitioning and federation and sharding?
Is there a difference and does it really matter to all our intrepid scalable website builders?
Generally whatever Theo says is probably close to the truth. Yet, in my mind I think of partitioning as a basic level category and federation and sharding as more specific (subordinate) instances of partitioning. And partitioning is a more specific instance of the more more general (superordinate) category divide-and-conquer. Which isn't a useful way to think about the topic at all.
So, let's say federation is like Star Trek. The Vulcans, Klingons, and Humans live in very separate policy domains, but they each pledge to work together to make sure Captain Kirk always gets the girl. And sharding is like AJAX, a great marketing term for stuff that may have already existed, but has taken on a new useful life on its own.
And that new useful life is that there are very specific examples of how sharding works, how it has been successful for existing web sites, and how you can create your scalable web site use shards. Federation and partitioning are far more nebulous less pragmatic concepts, so I am more than happy to AJAXify sharding into the popular lexicon :-)
Related Articles: