Term
What is a distributed database? |
|
Definition
- A collection of sites connected by a communications network.
- Each site is a database system in its own right, but the sites have agreed to work together
- A user at any site can access data anywhere as if data were all at the user's own site
|
|
|
Term
What are the principles of DDBMS? |
|
Definition
- Local autonomy
- No central site
- Continuous operation
- Location independence
- Fragmentation independence
- Replication independence
- Distributed query processing
- Distributed transactions
- Operating system independence
- Network independence
- DBMS independence
|
|
|
Term
What are some principles of Distributed Databases that Parallel databases don't have |
|
Definition
- Local autonomy
- Hardware independence
- Operating system independence
- Network independence
- DBMS independence
|
|
|
Term
Describe Local Autonomy in DDBMSs |
|
Definition
The sites in a distrubuted database system should be autonomous or independent from each other
Each site should provide its own security, locking, logging, integrity, and recovery. Local operations use and affect only local resources and do not depend on other sites. |
|
|
Term
Describe "No reliance on central site" in DDBMSs |
|
Definition
A distributed database system should not rely on a central site, which may be a single point of failure or a bottleneck
Each site of a distributed database system provides its own security locking, logging, integrity, and recovery, and handles its own data dictionary. No central site must be involved in every distributed transaction |
|
|
Term
Describe Continuous operation in DDBMSs |
|
Definition
A distributed database system should never require downtime
A distributed database should provide on-line backup and recovery, and a full and incremental archiving facility. The backup and recovery should be fast enough to be performed online without noticeable detrimental affect on the entire system performance. |
|
|
Term
Describe Location Independence in DDBMSs |
|
Definition
Applications should not know, or even be aware of, where the data is physically stored; Applications should behave as if all data were stored locally.
Location independence allows applications and data to be migrated easily fromone site to another without modifications |
|
|
Term
Describe Fragmentation Independence in DDBMSs |
|
Definition
Relations can be divided into fragments and stored at different sites
Applications should not be aware of the fact that some data may be stored in a fragment of a table of a site different from the site where the table itself is stored |
|
|
Term
Describe Replication Independence in DDBMSs |
|
Definition
Relations and fragments can be stored as many distinct copies on different sites
Applicatins should not be aware that replicas of the data are maintained and synchronized automatically |
|
|
Term
Describe Distributed Query Processing in DDBMSs |
|
Definition
Queries are broken down into component transactions to be executed at the distributed sites |
|
|
Term
Describe Distributed Transaction Management in DDBMSs |
|
Definition
A distributed database system should support atomic transactions
Critical database integrity; a distributed database system must be able to handle concurrency, deadlocks and recovery. |
|
|
Term
Describe Hardware Independence in DDBMSs |
|
Definition
A distributed database system should be able to operate and access data spread accross a wide variety of hardware platforms
A truly distributed DBMS should not rely on a particular hardware feature, nor should it be limited to a certain hardware architecture |
|
|
Term
Describe OS independence in DDBMSs |
|
Definition
A distributed database should be able to run in different oprerating system |
|
|
Term
Describe Network Independence in DDBMSs |
|
Definition
A distributed database system should be designed to run regardless of the communication protocols and network topology used o interconnect sites |
|
|
Term
Describe DBMS Interdependence in DDBMSs |
|
Definition
An ideal distributed database system must be able to support interoperability between DBMS runing on different nodes even if these DBMS are unalike
All sites in a DBMS should use commond standard interfaces in order to interoperate with each other |
|
|
Term
What are some principles of fragmentation? |
|
Definition
- Allows localization of acceses of relations by applications
- Allows parallel execution (increases concurrency and throughput)
- There are two types:
- Horizontal - Each fragment contains a subset of tuples of the global relation
- Vertical - Each fragment contains a subset of the attributes of the global relation
|
|
|
Term
Describe Decomposition in DBMS Fragmentation |
|
Definition
Relation R is decomposed into fragments:
FR = {R1, R2, ..., Rn}
Decomposition (horizontal or vertical) can be expressed in terms of relational algebra expressions
|
|
|
Term
Describe Completeness in DBMS Fragmentation |
|
Definition
FR is complete if each data item in di in R s found in some Rj |
|
|
Term
Describe Reconstrutction in DBMS Fragmentation |
|
Definition
R can be reconstructed if its possible to define a relational operator ▽ such that R = ▽Ri for all Ri ∈ FR
Note that ▽ will be different for different types of fragmentation |
|
|
Term
Describe Disjointness in DBMS Fragmentation |
|
Definition
FR is disjoint if every data item di in each Rj is not in any Rk where k≠j
Note that this is only strictly true for horizontal decomposition
For vertical decomposition, primary key attributes are typically repeated in all fragments to allow reconstruction; disjointness is defined on non-primary key attributes. |
|
|
Term
Describe Horizontal Fragmentation in DBMS Fragmentation |
|
Definition
Each fragment contains a subset of the tuples of the global relation
Two versions:
- Primary horizontal fragmentation performed using a predicate defined on the relation being partitioned
- Derived horizontal fragmentation performed using defined on another relation
|
|
|
Term
Describe Primary Horizontal Fragmentation in DBMS Fragmentation |
|
Definition
- Decomposition
- FR={Ri: Ri=ofi(R)} where fi is the fragmentation predicate for Ri
- Reconstruction
- Disjointness
- FR is disjoint if the simple predicates used in fi are mutually exclusive
|
|
|
Term
Describe Derived Horizontal Fragmentation in DBMS Fragmentation |
|
Definition
- Decomposition
- FR={Ri: Ri=R|>Si}
- where Fs={Si=ofi(S)} and fi is the fragmentation predicate for the primary horizontal fragmentation of S
- Reconstruction
|
|
|
Term
Describe Vertical Fragmentation in DBMS Fragmentation |
|
Definition
- Decomposition
- FR={Ri: Ri=πai(R)} where ai is the subset of attributes of Ri
- Completeness
- FR is complete if each attribute of R appears in some ai
- Reconstruction
- R = |><|K Ri for all Ri ∈ FR
- Where K is the set of primary key attributes of R
- Disjointness
- FR is disjoint if each non-primary key attribute R appears in at most one ai.
|
|
|