Benefits of Partitioning
Pick up a marketing presentation of any cloud service, and you can be sure to see the word “scalability” and (with only slightly weaker certainty) that it will include something about parallelism or parallel execution.
There is some justification for the marketing hype: cloud platforms such as Azure indeed make it much easier to allocate and deallocate new instances of services (not only the VMs that you create explicitly, in the case of Infrastructure-as-a-service (IaaS) but also the VMs that are created for you behind the scenes, in the case of PaaS). In turn, this means that you are offered a great opportunity to optimize your SQL queries, for example, by splitting them into specific tasks that can be executed in parallel.
This brings us to an important and potentially tricky terminological distinction: the difference between partition and distribution strategies. Similar to many other terminological differences, there appears to be a...