Data Partitioning (Guidance)
Data partitioning is a common approach to achieve scale in the cloud. As the requirement to scale out increases beyond the capacity or throughput of an individual service additional scale can be achieved through the use of multiple instances of the resource. In addiont to partitioning for scale there are are a number of other reasons to parition data with isolation being a popular one as well as security, maintenance, cost, availability, and metering. Although partitioning data can provide a number of benefits to a solution there are som challenges as result and determining a boundy to parition on is not always as straight forward as a tenant in a multi-tenant solution. Transactions across these boundries and data consistency can commonly create challenges and performance can potentially suffer as a result.