In: Computer Science
Discuss the types of distribution transparency as they may benefit to various business contexts. Provide illustrative examples.
Database Management Question
Hello There,
Please find the answer mentioned below:
Distribution System:The distributed systems are considered as a single entity by the users but actually they are a collections of autonomous systems, which are co-operating,consistent and time shared by nature.
Distribution System Example :Suppose as a developer you are using oracle and ms-sql in your application which are automonous by nature but by the user point of view he is accessing the data from a single database. abstraction layer is always maintain in distribution system.
Also the users should be unaware of where the services are located and also the transferring from a local machine to a remote should also be transparent.
While implementing the distribution system the complexities should be hidden from user ,Complexities includes implementaion,accessing ,combining different distribution system,
Hiding the complexities comes under the concept called transparency.
There are different kinds of transparencies which are considered while implementing the distributed systems.
1. Access Transparency: There should be no difference between local and remote access methods means if you are using you are trying to access a webpage from your local desktop or you are trying to connect some other system through remote access, output should be same .connecting of remote can be done in linux using command telnet and work accordingly.
2. Location Transparency: User should see a similar file name space/path in distributed system. Files or groups of files may be relocated without changing their pathnames. a developer should make such an abstraction layer that user should not be able to access the physical structure of it as an example consider one record of user is in Oracle DB other is in SQL-Server both the folder structure should be same but the physical structure of both the DB is different which should be not in knowledge of user.
3. Concurrency Transparency: Users and Applications should be able to access shared data or objects without interference between each other in a time shared manner Concurrency Transparency can be acheived by Microservice architecture where different code structure which is written in different language can be easily accessed using a single URL from regitry system i.e Eureka.
4.Replication Transparency: This kind of transparency should be mainly handled for the distributed file systems, which clone the data at two or more sites for more reliability. its the developer responsibility to make sure while user access the data from any site he should get the same result .replication is done to recover the loss of data . cloud is such an example which use different reigons to store the data.
5. Failure Transparency:User should be unaware about the failure of the system and output should be same differnt banking now a days using fault tolerance mechanism to make application robust using microservices and cloud.
6. Migration Transparency: This transparency allows the user to be unaware of the movement of processes within a system without affecting the operations of the users and the applications that are running. Migration can be easily understood by banking appliction where back then accounts use to open using register and pen but now a days as a technology is enhancing we are moving the data to cloud
7. Performance Transparency: Allows the system to be re-configured and restructured to improve the performance for a application to run its very important to improve the performance and use new software to secure.
8. Scaling Transparency: Most of the enterprise require new server and new storage ,day by day graceful scaling of application is very necessary cloud application can be scaled using different platform using AWS,Azure and others.
9. Execution Transparency: Migration of processes will not be visible to the user.
10. Configuration Transparency: Configuration should not affect the programming or use of the system whether you are using development environment or production environment.
11. Network Transparency: To The user the system should look like a standalone rather than a combination of different micro services(small services-code structures) which can be easily achieved using cloud and micro services.
Note:Above transpencies examples are provided in the context of Banking Application .
Thank You!!