Distribution Transparency
• Distribution transparency allows user to perceive database as single, logical entity.
• If DDBMS exhibits distribution transparency, user does not need to know:
• Data is fragmented (fragmentation transparency),.
• Location of data items (location transparency).
• Otherwise call this local mapping transparency.
• With replication transparency, user is unaware of replication of fragments.
Naming Transparency:
• Each item in a DDB must have a unique name.
• DDBMS must ensure that no two sites create a database object with same name.
• One solution is to create central name server. However, this results in:
• loss of some local autonomy;
• central site may become a bottleneck;
• low availability; if the central site fails, remaining sites cannot create any new objects.
• Alternative solution - prefix object with identifier of site that created it.
• For example, Branch created at site S1 might be named S1.BRANCH.
• Also need to identify each fragment and its copies.
• Thus, copy 2 of fragment 3 of Branch created at site S1 might be referred to as S1.BRANCH.F3.C2.
• However, this results in loss of distribution transparency.
• An approach that resolves these problems uses aliases for each database object.
• Thus, S1.BRANCH.F3.C2 might be known as LocalBranch by user at site S1.
• DDBMS has task of mapping an alias to appropriate database object.
Transaction Transparency:
• Ensures that all distributed transactions maintain distributed database’s integrity and consistency.
• Distributed transaction accesses data stored at more than one location.
• Each transaction is divided into number of subtransactions, one for each site that has to be accessed.
• DDBMS must ensure the indivisibility of both the global transaction and each of the subtransactions.
Concurrency Transparency:
• All transactions must execute independently and be logically consistent with results obtained if transactions executed one at a time, in some arbitrary serial order.
• Same fundamental principles as for centralized DBMS.
• DDBMS must ensure both global and local transactions do not interfere with each other.
• Similarly, DDBMS must ensure consistency of all subtransactions of global transaction.
Performance Transparency:
• DDBMS must perform as if it were a centralized DBMS.
• DDBMS should not suffer any performance degradation due to distributed architecture.
• DDBMS should determine most cost-effective strategy to execute a request.
0 comments:
Post a Comment