Federation is introduced in SQL Azure for scalability. Federation helps both admin and developers to scale data. It helps admin by making easier in repartitioning and redistributing of data. It helps developers in routing layer and sharding of data. It helps in routing without application downtime.
Federation is basic scaling objects in SQL Azure Database. . Federations are the partinoed data. There can be multiple Federations within a database. And each different Federation represents different distribution scheme.
We create Federation on different distribution scheme and requirement. Student table and Grades table of a School Database may have different distribution requirement so they are put into different Federations.
Each Federation object scale out data to many system managed nodes. Federation object contains,
Federation members are managed directly by federation while data are partinoed. All Federation objects are stored in central system Database called Federation Root. Each Federation object is identified by a Federation Distribution key.
Federation key is used for partitioning the Data. A Federation key represents Distribution style and Data Domain.
Data is being scaled out in Atomic Unit. All Data of a particular atomic unit stick together. Atomic unit can be separated and all the rows of a particular Partition key stay and distributed together.
Atomic unit is instance of Federation key.
Let us create Federation with respect to a School Database. We are creating a Federation on Student table called Federation_Student.
So now any row in Student table with Roll Number between 100 to 1000 would be atomic unit for scalability.