Database Reference
In-Depth Information
8.4.1 Federation Design
Although federations can be used for better performance and scalability, it also creates com-
plication for database development and management. When database objects are distrib-
uted to multiple federation members, it posts challenges for updating, querying, and altering
these database objects. Before implementing a federation, you need to answer the following
questions:
How should the database objects be partitioned?
What value should be used as the federation key?
What should be stored in a federation atomic unit?
How can data be distributed evenly across federation members?
How should data from multiple federation members be joined to support an application?
How should we run functions, stored procedures, and other programming units across mul-
tiple federation members?
How should changes made by an application be saved to federation members?
How should we manage changes in table structures across multiple federation members?
How should we keep referential integrity when the parent table and child table are stored in
diferent federation members?
How should we manage user accounts as federation members are dynamically added and
removed?
hese questions reveal the challenges in designing federations. To answer these questions, one
may consider adopting a few design strategies shown below.
8.4.1.1 Generating Federation Key
A federation key should be chosen so that related rows from related tables are stored in one federa-
tion member. his kind of design enables the use of related data to be selected from one federation
member to reduce the complexity of the query. Federation keys can be generated with the following
methods:
Sequential Big Integer : Use sequential big integers as federation keys. Assign each federa-
tion atomic unit a sequential big integer as the key. All database objects such as tables within
that atomic unit will be labeled with the key. he use of sequential big integer can avoid
duplicated federation keys.
Globally Unique Identiier (GUID) : A GUID is the unique identiication number assigned
by the operating system to each database object. he use of the GUID can guarantee the
uniqueness. However, it will cause complication in key management.
Keys Generated by Programming Unit : Federation keys can also be generated with a com-
puter program. To meet a particular purpose, a designer can deine the keys with speciied
range and specially designed hashing function.
8.4.1.2 Database Operations across Multiple Federation Members
For multiple federation members, database operations such as querying, accessing, and updating
databases can be designed with the following strategies:
Search WWH ::




Custom Search