What is this about? - Tirasa/OpenJPA-Azure GitHub Wiki
This project aims to provide full Windows Azure SQL Database sharding support for [Apache OpenJPA] (http://openjpa.apache.org).
Using this project
- Take a look at our sample web application
- Check out how to get started
- Check out how to get involved
- Subscribe to [email protected]
Release notes & Roadmap
Read information about releases.
Take a look at the milestones.
Background
Federations in Windows Azure 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.
Windows Azure SQL Database and federations
A federation is a collection of database partitions that are defined by a federation distribution scheme, known as the federation scheme. The federation scheme defines a federation distribution key, which determines the distribution of data to partitions within the federation.
The database partitions within a federation are known as federation members, and each member covers a part, or all, of the range of values covered by the data type of the federation distribution key. Federated tables are tables which are spread across federation members. Each federation member has its own schema, and contains the federated table rows that correspond to the federation member’s range. The collection of all rows in a federation member that match a specific federation key value is called a federation atomic unit.
Federations are accessed through a federation root database, which represents the application boundary of the federation. Each root database may contain multiple federations, each with its own federation schema. It may also contain global data, such as users, passwords, roles, or other application specific data.