Information Technology Reference
In-Depth Information
In vertical partitioning , a logical relation is partitioned into vertical fragments
r 1 ;:::;r k with
r D r 1 ::: r k ;
where the intersection of the schemas of the fragments contains the primary key
of r . Typically, the schema of a vertical fragment contains the attributes that are
often queried together.
In both horizontal and vertical partitioning, the fragments r i may be placed at
different servers, but the application programmer still sees only a single logical
relation r . A large relation may be partitioned in both ways. The system catalog
at each server must, naturally, store a description of the partitioning of the relation.
Sometimes an individual database server wants to retain sole access to its local
database schema and hence withholds it from other servers. Such a server may
still allow distributed transactions that access its database via stored procedures.
A stored procedure is a program stored in the database that accesses data items of
the database. Distributed transactions invoked at a remote server may be granted
permission to execute a stored procedure with suitable input arguments and to
receive results via output arguments.
With stored procedures, it is not possible to do global SQL query optimization.
Instead, each SQL query or update statement issued on the local database during the
execution of the stored procedure is only optimized locally. The system catalog at
the remote servers only contains the name of the stored procedure, a description
of its arguments, and the identifier of the server that stores the procedure, not the
schemas of the relations the procedure accesses.
13.2
Transactions on a Distributed Database
Any of the database servers of a distributed database system can execute local
transactions that operate only on the data items stored at the database managed
by that server. The servers can also participate in global transactions , also called
distributed transactions , that read or update data items stored at more than one
server.
A distributed transaction that operates on data items stored at servers
s 0 ;s 1 ;:::;s k consists of subtransactions T 0 ;T 1 ;:::;T k , one for each participating
server, where T i is a local transaction that operates only on data items stored at
server s i ,fori D 0;:::;k. Thus T i consists of all the read and update actions of
the distributed transaction that operate on data items stored at s i .Servers i is called
a cohort or participant of the distributed transaction.
The execution of a distributed transaction consisting of subtransactions
T 0 ;T 1 ;:::;T k is coordinated by one of the participating servers s 0 ;s 1 ;:::;s k .That
server is called the coordinator of the distributed transaction. Often, the coordinator
is the server at which the transaction was started. In the following we assume this
Search WWH ::




Custom Search