Notes and Study Materials

Transaction Transparency

 

 

Transaction transparency is a DDBMS property that ensures that database transactions will maintain the distributed database’s integrity and consistency. Remember that a DDBMS database transaction can update data stored in many different computers connected in a network. Transaction transparency ensures that the transaction will be completed only when all database sites involved in the transaction complete their part of the transaction.

Distributed database systems require complex mechanisms to manage transactions and to ensure the database’s consistency and integrity. To understand how the transactions are managed, you should know the basic concepts governing remote requests, remote transactions, distributed transactions, and distributed requests.

 

Distributed Requests and Distributed Transactions:

You May Also Like:

Evoluation of DDBMS

Distributed Processing and Distributed Databases

Advantages and Disadvantages of DDBMS

Components of DDBMS

 

Whether or not a transaction is distributed, it is formed by one or more database requests. The basic difference between a non-distributed transaction and a distributed transaction is that the latter can update or request data from several different remote sites on a network.

 

 

A remote request, illustrated in the following figure lets a single SQL statement access the data that are to be processed by a single remote database processor. In other words, the SQL statement (or request) can reference data at only one remote site.

transaction transparency_remote request

A remote transaction, composed of several requests, accesses data at a single remote site. A remote transaction is illustrated in the following figure.

transaction transparency remote transaction

The features of remote transaction are as follows:

 

• The transaction updates the PRODUCT and INVOICE tables (located at site B).

• The remote transaction is sent to and executed at the remote site B.

• The transaction can reference only one remote DP.

• Each SQL statement (or request) can reference only one (the same) remote DP at a time, and the entire transaction can reference and be executed at only one remote DP.


A distributed transaction allows a transaction to reference several different local or remote DP sites. Although each single request can reference only one local or remote DP site, the transaction as a whole can reference multiple DP sites because each request can reference a different site. The distributed transaction process is illustrated in the following Figure.


transaction transparency distributed transaction 

Note the following features in the above figure

 

• The transaction references two remote sites (B and C).

• The first two requests (UPDATE PRODUCT and INSERT INTO INVOICE) are processed by the DP at the remote site C, and the last request (UPDATE CUSTOMER) is processed by the DP at the remote site B.

• Each request can access only one remote site at a time.

 

The third characteristic may create problems. For example, suppose the table PRODUCT is divided into two fragments, PRODl and PROD2, located at sites B and C, respectively. Given that scenario, the preceding distributed transaction cannot be executed because the request:

SELECT *
FROM PRODUCT
WHERE PROD_NUM = '231785';

cannot access data from more than one remote site. Therefore, the DBMS must be able to support a distributed request.

 

A distributed request

Let’s a single SQL statement reference data located at several different local or remote DP sites. Because each request (SQL statement) can access data from more than one local or remote DP site, a transaction can access several sites. The ability to execute a distributed request provides fully distributed database processing capabilities because of the ability to:

 

• Partition a database table into several fragments.

• Reference one or more of those fragments with only one request. In other words, there is fragmentation transparency.

 

 

The location and partition of the data should be transparent to the end user. The following figure illustrates a distributed request. As you examine in the figure, Note that the transaction uses a single SELECT statement to reference two tables, CUSTOMER and INVOICE. The two tables are located at two different sites, B and C.

transaction transparency distributed request

You May Also Like:

Client/Server Vs. DDBMS
Distributed Database Design Concepts
Different Types of Distribution Transparency
Back to DBMS Questions