Download Dist-DB lecture notes

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Oracle Database wikipedia , lookup

IMDb wikipedia , lookup

Microsoft SQL Server wikipedia , lookup

Entity–attribute–value model wikipedia , lookup

Global serializability wikipedia , lookup

Extensible Storage Engine wikipedia , lookup

Commitment ordering wikipedia , lookup

Serializability wikipedia , lookup

Open Database Connectivity wikipedia , lookup

Microsoft Jet Database Engine wikipedia , lookup

Functional Database Model wikipedia , lookup

Database wikipedia , lookup

ContactPoint wikipedia , lookup

Versant Object Database wikipedia , lookup

Relational model wikipedia , lookup

Clusterpoint wikipedia , lookup

Database model wikipedia , lookup

Concurrency control wikipedia , lookup

Transcript
Basis for Distributed Database Technology
 Database System Technology (DST)
 controlled access to structured data
 aims towards centralized (single site) computing
 Computer Networking Technology (CNT)
 facilitates distributed computing
 goes against centralized computing
 Distributed Database Technology = DST + CNT
 aims to achieve integration without centralization
What is distributed?
Processing Logic
Function
Data
Control
All the above modes of distribution are necessary and important for
distributed database technology
Distributed database system
A distributed database is a collection of multiple, logically
interrelated databases distributed over a computer network.
A distributed database management system (DDBMS) is a software
system that permits the management of the distributed databases
and makes the distribution transparent to the users.
What is not a DDBMS?
A DDBMS is not a “collection of files” that can be stored at each
node of a computer network.
A multiprocessor system based DBMS (parallel database system) is
not a DDBMS.
A DDBMS is not a system wherein data resides only at one node.
Aims of Distributed DBMS - Transparent
Management of Distributed & Replicated Data
Transparency refers to separation of the higher-level semantics of a
system from lower-level implementation details.
From data independence in centralized DBMS to fragmentation
transparency in DDBMS.
Who should provide transparency? - DDBMS!
Aims of Distributed DBMS - Reliability through
Distributed Transactions
Distributed DBMS can use replicated components to eliminate
single point failure.
The users can still access part of the distributed database with
“proper care” even though some of the data is unreachable.
Distributed transactions facilitate maintenance of consistent
database state even when failures occur.
Aims of Distributed DBMS - Improved
Performance
Since each site handles only a portion of a database, the contention
for CPU and I/O resources is not that severe. Data localization
reduces communication overheads.
Inherent parallelism of distributed systems may be exploited for
inter-query and intra-query parallelism.
Performance models are not sufficiently developed.
Aims of Distributed DBMS - Easier System
Expansion
Ability to add new sites, data, and users over time without major
restructuring.
Huge centralized database systems (mainframes) are history
(almost!).
PC revolution (Compaq buying Digital, 1998) will make natural
distributed processing environments.
New applications (such as, supply chain) are naturally distributed centralized systems will just not work.
Complicating Factors
Data may be replicated in a distributed environment. Therefore,
DDBMS is responsible for (i) choosing one of the stored copies of the
requested data, and (ii) making sure that the effect of an update is
reflected on each and every copy of that data item.
Maintaining consistency of distributed/replicated data.
Since each site cannot have instantaneous information on the
actions currently carried out in other sites, the synchronization of
transactions at multiple sites is harder than centralized system.
and Complexity, Cost, Distribution of control, Security,...
Problem Areas
Distributed Database Design
Distributed Query Processing
Distributed Directory Management
Distributed Concurrency Control
Distributed Deadlock Management
Reliability of Distributed Databases
Operating Systems Support
Heterogeneous Databases
Relationship among Problems
Directory Management
Query Processing
Distributed DB Design
Concurrency Control
Deadlock Management
Reliability
Transparency and Architecture
issues in DDBMSs
Top-Down DDBMS Architecture - Classical
Global Schema
Fragmentation Schema
Site Independent
Schemas
Allocation Schema
Local Mapping Schema I
Local Mapping Schema I
DBMS I
DBMS I
Local Database I
Site 1
Local Database 2
Site 2
Other sites
Top-Down DDBMS Architecture - Classical
Global Schema: a set of global relations as if database were not
distributed at all
Fragmentation Schema: global relation is split into “non-overlapping”
(logical) fragments. 1:n mapping from relation R to fragments Ri.
Allocation Schema: 1:1 or 1:n (redundant) mapping from fragments
to sites. All fragments corresponding to the same relation R at a site
j constitute the physical image Rj. A copy of a fragment is denoted
by Rji.
Local Mapping Schema: a mapping from physical images to
physical objects, which are manipulated by local DBMSs.
Global Relations, Fragments and Physical Images
R
R1
R11
R1 2
R1
(Site 1)
R2
R2
R3
Global
Relation
1
R2
(Site2)
•Separating concepts of
fragmentation and allocation
•Explicit control of redundancy
•Independence from local
databases
R2 2
Allows for:
R3 2
•Fragmentation Transparency
Fragments
R3
(Site3)
R3 3
Physical Images
•Location Transparency
•Local Mapping Transparency
Rules for Data Fragmentation
Completeness: All the data of the global relation must be mapped
into fragments.
Reconstruction: It must always be possible to reconstruct each
global relation from its fragments.
Disjointedness: It is convenient if the fragments are disjoint so that
the replication of data can be controlled explicitly.
Types of Data Fragmentation
Vertical Fragmentation
•Projection on relation (subset of attributes)
•Reconstruction by join
Vertical Fragmentation
•Updates require no tuple migration
Horizontal Fragmentation
•Selection on relation (subset of tuples)
•Reconstruction by union
•Updates may requires tuple migration
Horizontal Fragmentation
Mixed Fragmentation
•A fragment is a Select-Project query on
relation.
Levels of Distribution Transparency
Fragmentation Transparency: Just like using global relations.
Location Transparency: Need to know fragmentation schema; but
need not know where fragments are located. Applications access
fragments (no need to specify sites where fragments are located).
Local Mapping Transparency: Need to know both fragmentation and
allocation schema; no need to know what the underlying local
DBMSs are. Applications access fragments explicitly specifying
where the fragments are located.
No Transparency: Need to know local DBMS query languages, and
write applications using functionality provided by the Local DBMS
Why is support for transparency difficult?
There are tough problems in query optimization and transaction
management that need to be tackled (in terms of system support
and implementation) before fragmentation transparency can be
supported.
Less distribution transparency the more the end-application
developer needs to know about fragmentation and allocation
schemes, and how to maintain database consistency.
Higher levels of distribution transparency require appropriate
DDBMS support, but makes end-application developers work easy.
Some Aspects of top-down architecture
Distributed database technology is an “add-on” technology, most
users already have populated centralized DBMSs. Whereas top
down design assumes implementation of new DDBMS from scratch.
In case of OODBMs, top-down architecture makes sense because
most OODBMs are going to be built from scratch.
In many application environments, such as semi-structured
databases, continuous multimedia data, the notion of fragment is
difficult to define.
Current relational DBMS products provide for some form of location
transparency (such as, by using nicknames).
Bottom up Architecture - Present & Future
Possible ways in which multiple databases may be put together for
sharing by multiple DBMSs.
The DBMSs are characterized according to
•Autonomy - degree to which individual DBMSs can operate
independently. Tightly coupled - integrated (A0), Semiautonomous federated (A1), Total Isolation - multidatabase systems(A2)
•Distribution - no distribution - single site (D0), client-server distribution of DBMS functionality (D1), full distribution - peer to peer
distributed architecture(D2)
•Heterogeneity - homogeneous (H0) or heterogeneous (H1)
Distributed DBMS Implementation Alternatives
Distribution
(A0,D2,H0)
(A2,D2,H1)
Autonomy
Heterogeneity
Architectural Alternatives
(A0,D0,H0): multiple DBMSs that are logically integrated at single
site - composite systems.
(A0,D0,H1): multiple database managers that are heterogeneous
but provide integrated view to the user.
(A0,D1,H0): client-server based DBMS.
(A0,D2,H0): Classical distributed database system architecture.
(A1,D0,H0): Single site, homogeneous, federated database systems
- not realistic.
(A1,D0,H1): heterogeneous federated DBMS, having common
interface over disparate cooperating specialized database systems.
Architectural Alternatives
(A1,D1,H1): heterogeneous federated database systems with
components of the systems placed at different sites.
(A2,D0,H0): homogeneous multidatabase systems at a single site.
(A2,D0,H1): heterogeneous multidatabase systems at a single site.
(A2,D1,H1) & (A2,D2,H1): distributed heterogeneous multidatabase
systems. In case of client-server environments it creates a three
layer architecture. Interoperability is the major issue.
Autonomy, distribution, heterogeneity are orthogonal issues.
Client/Server Database Systems
Distinguish and divide the functionality to be provided into two
classes: server functions and client functions. That is, two level
architecture. Made popular by relational DBMS implementations.
DBMS client: user interface, application, consistency checking of
queries, and caching and managing locks on cached data.
DBMS Server: handles query optimization, data access and
transaction management.
Typical scenarios: multiple clients/single server; multiple
client/multiple servers (dedicated home-server or any server)
Client/Server Reference Architecture
Operating
System
User Interface Application Program
Client DBMS
Communication software
SQL Queries
Result Relation
Communication software
Operating
Semantic Data Controller
Query Optimizer
Transaction Manager
Recovery Manager
Runtime Support Processor
System
Database
Distributed Database Reference Architecture
ES1
ES2
ESn
GCS
LCS1
LCS2
LCSn
LIS1
LIS2
LISn
Components of Distributed DBMS
User
System Responses
External Schema
Global Conceptual Schema
GD/D
User Requests
User Interface Handler
User Processor
Semantic Data Controller
Global Query Optimizer
Global Execution Monitor
Local Conceptual Schema
System Log
Local Internal Schema
Local Query Processor
Local Recovery Manager
Runtime Support Processor
Database
Data Processor
MDBS Architecture With Global Schema
GES1
LES11
LES12
GES2
LES13
GCS
GES3
LESn1
LESn2
LCS1
LCSn
LIS1
LISn
LESn3
MDBS Architecture without Global Schema
ES1
ES2
ESn
LCS1
LCS2
LCSn
LIS1
LIS2
LISn
Multidatabase
Layer
Local Database
System Layer
Components of MDBS
User
System Responses
User Requests
Multi-DBMS Layer
Query Processor
Query Processor
Transaction Manager
Transaction Manager
Scheduler
Scheduler
Recovery Manager
Recovery Manager
Runtime Support Processor
Runtime Support Processor
Database
Database
Global Directory Issues
Directory is itself a database that contains meat-data about the
actual data stored in the database. It includes the support for
fragmentation transparency for the classical DDBMS architecture.
Directory can be local or distributed.
Directory can be replicated and/or partitioned.
Directory issues are very important for large multi-database
applications, such as digital libraries.
Impact of new technologies
Internet and WWW
 Semi-structured data, multimedia data
 Keyword based search - browsing versus querying
 What does integration mean?
Applied technologies
 Workflow systems
 Data warehousing & Data mining
 What is the role of distributed database technology?
Research Issues - DDBMS Technology
Evaluation of state of the art data replication strategies.
On-line distributed relational database redesign.
Distributed object-oriented database systems - design
(fragmentation, allocation), query processing (methods execution,
transformation), transaction processing
WWW and Internet - transparency issues, implementation strategies
(architecture, scalability), On-line transaction processing, On-line
analytical processing (data warehousing , data mining), query
processing (STRUDEL, WebSQL), commit protocols
Research Issues - Applications
Workflow systems - High throughput (supply chain, Amazon,..)
short, sweet, and robust versus ad-hoc (office automation) problem
solving.
Electronic commerce - reliable high throughput, distributed
transactions.
Distributed multimedia - QoS, real-time delivery, design and data
allocation, MPEG-4 aspects.