16
R*: An overview of R*: An overview of the Architecture the Architecture By R. Williams et al. By R. Williams et al. Presented by D. Kontos Presented by D. Kontos Instructor : Dr. Instructor : Dr. Megalooikonomou Megalooikonomou

R*: An overview of the Architecture By R. Williams et al. Presented by D. Kontos Instructor : Dr. Megalooikonomou

Embed Size (px)

Citation preview

Page 1: R*: An overview of the Architecture By R. Williams et al. Presented by D. Kontos Instructor : Dr. Megalooikonomou

R*: An overview of the R*: An overview of the ArchitectureArchitecture

By R. Williams et al.By R. Williams et al.

Presented by D. KontosPresented by D. Kontos

Instructor : Dr. MegalooikonomouInstructor : Dr. Megalooikonomou

Page 2: R*: An overview of the Architecture By R. Williams et al. Presented by D. Kontos Instructor : Dr. Megalooikonomou

OverviewOverview

DistributedDistributed Database Systems. Database Systems.

R*R* : an experimental DDMS developed at : an experimental DDMS developed at IBMIBM

Almaden ResearchAlmaden Research Center in 1981. Center in 1981.

Overview of the Overview of the architecturearchitecture:: Transaction managementTransaction management

ObjectObject naming, naming, cataloguecatalogue management management

AuthorizationAuthorization, , communicationcommunication etc. etc.

Conclusions on the issues arising in a DDBMS Conclusions on the issues arising in a DDBMS

Page 3: R*: An overview of the Architecture By R. Williams et al. Presented by D. Kontos Instructor : Dr. Megalooikonomou

Distributed DBMS (DDBMS)Distributed DBMS (DDBMS)

Need for Need for sharing resourcessharing resources, data., data.

Preserve Preserve transparency of networktransparency of network

communication and data organization.communication and data organization.

Maximum independence – “Maximum independence – “site autonomysite autonomy”.”.

R*: DDBMS consisting of a confederation of R*: DDBMS consisting of a confederation of

voluntarily voluntarily co-operating sitesco-operating sites, each supporting , each supporting

RelationalRelational data model communicating via IBM’s data model communicating via IBM’s

CICS.CICS.

Page 4: R*: An overview of the Architecture By R. Williams et al. Presented by D. Kontos Instructor : Dr. Megalooikonomou

Architecture aspectsArchitecture aspects

EnvironmentEnvironment and Data Definitions. and Data Definitions.

ObjectObject Naming. Naming.

Distributed Distributed CatalogsCatalogs..

TransactionTransaction management, management, commitcommit protocols. protocols.

Query preparationQuery preparation..

Query executionQuery execution..

SQLSQL additions and changes. additions and changes.

Page 5: R*: An overview of the Architecture By R. Williams et al. Presented by D. Kontos Instructor : Dr. Megalooikonomou

EnvironmentEnvironment and Data Definitions and Data Definitions

Several Several database sitesdatabase sites communicating via communicating via

networknetwork topology (CICS). topology (CICS).

Data stored in relationsData stored in relations disperseddispersed

replicatedreplicated

partitionedpartitioned

End userEnd user not awarenot aware of the data distribution, of the data distribution,

organized by the DDBMS.organized by the DDBMS.

Page 6: R*: An overview of the Architecture By R. Williams et al. Presented by D. Kontos Instructor : Dr. Megalooikonomou
Page 7: R*: An overview of the Architecture By R. Williams et al. Presented by D. Kontos Instructor : Dr. Megalooikonomou

ObjectObject Naming Naming

Site autonomySite autonomy – not a global naming system. – not a global naming system.

NetworkNetwork details details transparencytransparency to the user, programming to the user, programming

as simple as possible.as simple as possible.

MappingMapping end user name end user name “print names” “print names”

internal System Wide Namesinternal System Wide Names (SWN) (SWN)

USER @ USER_SITE.OBJECT_NAME @ BIRTH_SITEUSER @ USER_SITE.OBJECT_NAME @ BIRTH_SITE

e.g.e.g. BRUCE at SAN_JOSE accesses table TBRUCE at SAN_JOSE accesses table T

BRUCE @ SAN_JOSE.T @ SAN_JOSEBRUCE @ SAN_JOSE.T @ SAN_JOSE

Page 8: R*: An overview of the Architecture By R. Williams et al. Presented by D. Kontos Instructor : Dr. Megalooikonomou

Distributed Distributed CatalogsCatalogs

Distributed Catalog ArchitectureDistributed Catalog Architecture

Each siteEach site keeps and maintains catalogs regarding the keeps and maintains catalogs regarding the objects at the databaseobjects at the database, replicas, fragments stored at the , replicas, fragments stored at the particular particular sitesite..

The “The “birthbirth” site of each object ” site of each object keeps informationkeeps information about about where it is where it is currently storedcurrently stored..

Object located through its Object located through its SWNSWN, catalogs store access , catalogs store access paths.paths.

Search path:Search path:

local catalog local catalog birth site catalog birth site catalog indicated current site indicated current site

Page 9: R*: An overview of the Architecture By R. Williams et al. Presented by D. Kontos Instructor : Dr. Megalooikonomou

TransactionTransaction management management commitcommit protocols protocols

UniqueUnique sequence transaction sequence transaction numbernumber..

StartsStarts from the site it was from the site it was enteredentered SynchronousSynchronous & & asynchronousasynchronous execution. execution.

CommitCommit UNIFORMUNIFORM (all abort OR all commit) (all abort OR all commit)

Two phaseTwo phase commit protocol commit protocol CoordinatorCoordinator makes the makes the final decisionfinal decision

Other sites Other sites prepared to commitprepared to commit awaitingawaiting

LostLost commit commit messagesmessages detected by detected by time-outtime-out..

Page 10: R*: An overview of the Architecture By R. Williams et al. Presented by D. Kontos Instructor : Dr. Megalooikonomou

Query preparationQuery preparation

Name resolutionName resolution

AuthorizationAuthorization : Each site checks authorization on it’s own : Each site checks authorization on it’s own local datalocal data trusts the remote sites. trusts the remote sites.

GlobalGlobal compilationcompilation planplan by the by the mastermaster, access , access strategies.strategies.

Plan distributionPlan distribution, , local compilationlocal compilation of parts. of parts.

Final Final codecode generated at the generated at the mastermaster, two phase , two phase compilation.compilation.

OptimizationOptimization of access paths included of access paths included minimizationminimization of of query execution timequery execution time..

Page 11: R*: An overview of the Architecture By R. Williams et al. Presented by D. Kontos Instructor : Dr. Megalooikonomou
Page 12: R*: An overview of the Architecture By R. Williams et al. Presented by D. Kontos Instructor : Dr. Megalooikonomou

Query executionQuery execution

Code Code loaded locallyloaded locally, , parallelparallel execution execution messagesmessages for for

communication.communication.

Concurrency controlConcurrency control Distributed deadlock detectionDistributed deadlock detection by periodically checking at each by periodically checking at each

site site wait-for informationwait-for information gathered locally or from other sites. gathered locally or from other sites.

Deadlock cycle breakerDeadlock cycle breaker abort transaction. abort transaction.

Logging and recovery:Logging and recovery: Resources Resources held onlyheld only if a transaction if a transaction failsfails after entering the after entering the

second phasesecond phase of the of the commit protocolcommit protocol..

Page 13: R*: An overview of the Architecture By R. Williams et al. Presented by D. Kontos Instructor : Dr. Megalooikonomou
Page 14: R*: An overview of the Architecture By R. Williams et al. Presented by D. Kontos Instructor : Dr. Megalooikonomou

SQLSQL additions and changes additions and changes

SQL SQL extendedextended to include the to include the distributed capabilitiesdistributed capabilities..

Page 15: R*: An overview of the Architecture By R. Williams et al. Presented by D. Kontos Instructor : Dr. Megalooikonomou

ConclusionsConclusions

November 1981 R*November 1981 R* experimental prototype system. experimental prototype system.

Key ingredient Key ingredient autonomy of the sitesautonomy of the sites..

Distributed data authorizationDistributed data authorization, , compilationcompilation, , commitcommit etc. etc.

Based on a Based on a master – apprenticesmaster – apprentices approach, approach, two phase two phase

protocolsprotocols..

TransparentTransparent networknetwork topology, topology, data definitiondata definition and and

managementmanagement..

A promising step towards a A promising step towards a REAL DISTRIBUTED REAL DISTRIBUTED

DBMSDBMS..

Page 16: R*: An overview of the Architecture By R. Williams et al. Presented by D. Kontos Instructor : Dr. Megalooikonomou

THANK YOU!!THANK YOU!!

Questions??Questions??