Scaling Out with SQL Azure Federation

This is an introduction to SQL Azure federations, one of the new tools Microsoft has made available to database architects and developers for scaling out a database in the cloud. Federations in SQL Database are a way to achieve greater scalability and performance from the database tier of your application through horizontal partitioning. One or more tables within a database are split by row and portioned across multiple databases (Federation members). This type of horizontal partitioning is often referred to as ‘sharding’. The primary scenarios in which this is useful are where you need to achieve scale, performance or to manage capacity.

Using Windows Azure and SQL Azure federation to scale applications out and down works well, but they aren’t a magic bullet. You’ll still need to do a lot of work on your databases to prepare them for SQL Azure federation. Scaling out your database requires an architectural design that allows for data sharding. Modifying an already existing database to migrate to a sharding environment isn’t a simple task and might not be the right solution for you. But for data that can be sharded — or new databases that you create with federating in mind — SQL Azure federation provides a great foundation for scaling out and saves a lot of setup time.