Distributed Databases Flashcards
What is a Distributed
Database?
This is a Db system that is stored on several computers, interconnected through a network.
What are some features of a site?
Each site can process local transactions involving data only on that site
Each site has a local transaction manager
Each site has a transaction coordinator
Are global interactions possible?
Yes, Some sites may get involved in global transactions,
which access data from several sites.
Local transaction managers communicate to achieve this.
Examples
University of the West Indies
Bursary - Financial information
Personnel - Staff information
Registry - Student information
Multinational
HQ in Kingston
Manufacturing in Trinidad
Warehouse in Miami
European HQ in London
Each site keeps data on local employees, as well as data
relevant to the operation of the site.
Why are distributed Databases Beneficial?
More natural for representing many real world organizations.
Local autonomy
Improved performance
- Speeds up query processing with the possibility of parallel computing
-Local Processing
Provide 3 benefits of Distrbuted databases:
Improved availability/reliability
-DB can continue to function even if some subsystems are down if we replicate data or hardware.
Security
-Avoid destruction of DB by replicating vital data.
Incremental growth
-Increasing size of DB
-Increasing operations
-Example: Include R&D facility.
What do we want from a distributed database?
To allow users to use the system as if it is not distributed.
No reliance on central master site as this causes bottle necks.
Continuous Operations to enforce reliability and availability.
Distributed Query Processing so that all data is available at a no. of different sites.
Distributed Transaction Management
- Same copy of a data item may be a a number of sites.
Transparency
Local Autonomy
What is autonomy in distributed systems?
All operations at a site are controlled by that site.
What are the 3 different types of autonomy?
Design
Communication
Execution
Describe each type of autonomy.
Design
Individual DBs can use data models and transaction management techniques that they prefer.
Communication
Individual DBs can decide which information they want to make accessible to other sites
Execution
Individual DBs can decide how to execute transactions submitted to them.
What are some issues with Distributed database design.
How should DB and applications be placed across sites.
How should data dictionary be placed across sites.
Replication and partitioning
What are issues and problems associated with distributed database systems?
Distributed database design
Distributed query processing (How to break down a query into series of data manipulation operations.)
Distributed concurrency control
Distributed deadlock control
Reliability
Heterogeneous databases
Describe the Problem of Reliability with DDBs(Distributed Database Systems).
If site becomes inaccessible, how do you ensure that DBs at other sites remain consistent and up-to-date?
What is a heterogeneous database?
Sharing pre-existing DBs with different conceptual schemas.
Also called multidatabase systems
What is Replication?
Maintaining multiple copies of a part of a DB.
What is Fragmentation?
Storing different parts of a database on different sites.
Advantages of Replication
Increased availability - If one site goes down, the data may be available from elsewhere.
Increased parallelism - More likely that the data needed is at the site that poses the query.
We may send parts of the same query to different sites.
Disadvantages of Replication
Disadvantages
Increased storage space
Increased overhead on update.
Must ensure that all copies are consistent.
Why fragment? Why not simply store different
complete tables at different sites?
Applications usually access only a subset of a relation.
Fragmentation gives possibility of increased parallelism.
What are the 3 types of Fragmentation? Explain the different types.
Horizontal fragmentation - Assign different tuples to each fragment (e.g.,through a selection in the sense of relational algebra).
Vertical fragmentation - Assign different attributes to each fragment.
Must ensure re constructability.
Mixed Fragmentation - Mixture of the two.
Problems with Fragmentation?
Increased response time
Data integrity might be harder to maintain
Issues with correctly finding where to place the various fragments.