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:
Distributed Processing and Distributed Databases
Advantages and Disadvantages 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.
A remote transaction, composed of several requests, accesses data at a single remote site. A remote transaction is illustrated in the following figure.
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.
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.
Client/Server Vs. DDBMS
Distributed Database Design Concepts
Different Types of Distribution Transparency
Back to DBMS Questions