local operations w (x, I), w (x&, w (xlr), where. 11,12,. 11 are the only sites that contam a copy of. X. It should be noted that a tradahOII operator T does not impose ...
Multidatabase Update Issues Yun Brertbart
Departmentof Computer Science Umverslty of Kentucky Lexmgton, KY 40506 Avr Sdberschatzj-
Departmentof Computer Science Umverslty of Texas Austm, Texas 78712 ABSTRACT
A formal model of data updates m a mulhdatabase environment 1s developed, and a theory of concurrency control 111such an environment is presented We formulate a correctnesscondmon for the concurrency control mechanismand propose a protocol that allows concurrent execution of a set of global transactions111 presenceof local ones This protocol ensuresthe consistency of the multldatabaseand deadlock freedom We use the developedtheory to prove the protocol’s correctnessand ducuss complexity Issuesof implementmg the proposedprotocol Global Transacbons
1. Introduction A Mu&database System (MDBS) 1sa collechon of several
databases,each of whch is controlled by a database management systems (DBMS) An MDBS creates the llluslon of a smgle database system It allows users to manipulate data contamed m the various databases without modlfymg current database apphcahons and w:thout nugratmg the data to a new database The MDBS hides from users the mmcacles of different DBMS’s and different accessmethods It provides uniform accessto pre-exlstmg databaseswithout reqmnng the users to know either the locahon or the charactensncsof different databases and their corresponding DBMS’s The MDBS query and data mampulahon languages allows users to accessmulnple pre-exlstmg databasesm a single query or apphcation
& Local Databua
t Thu nreucb W.Spatdy lupponedby Ohl CkmtnctNO@314 86 K0161 md NSF Raurzh Gnnt LXR 8507224
Figure 1 Multidatabase Model An MDBS consists of global and local components, as depicted m Rgure 1 Interactions with a global(local) database are conducted by user programs called global(local) trunsuctlons A transaction is simply a sequenceof read and wnte operations defined on a database A global transaction 1sa transachonthat 1ssubnutted to the MDBS and 1sexecuted under the MDBS control A local transaction, on the other hand, 1s a transaction submmed to a local DBMS, outside of the MDBS control
Permtsstonto copy wtthout fee all or part of thts mate& ISgranted prowded that the coptesare not madeor dlstnbuted for dtrect commerctaladvantage the AC\1 copyright “once and the utle of the publkauon and tts date appear,and notke I( gn en that copymgISb\ permwon of the Assoclatlon for ComputmSMachmen To uyn otherntse, or to repubhsh, requtresa fee and/or spec~ticpermtsston E 1988 ACM 0-89791-268-3/88/0006/0~35
4 LoCal Dabbase
$1 50
135
[MOTR81], researchers, (MJ=W, [FERR831, lLAND821, lTEMP851, [HAMMSOI, [LITW82]) to name lust a few These researchersconsidered the casewhere updatesto the databasesystemcan only be done by local transactrons Global transacuons were restrrcted to retrreve-only access One assumptron frequently made is that an MDBS wrth retneve-only global transactrons does not requrre a concurrency control mechanism [LAND821 This assumptron1sbasedon the prermsethat the probabrhty of mconsrstentretrreval in the presenceof local transacuonsis quite low and therefore rt IS not necessaryto synchromzeexecutton of local and global transactrons However we wrll show that thus may result 111 usersremevmg mconsrstentdata The update problem m a multrdatabaseenvrronment was recently drscussed m [GLIG851 The authors rdenttfied several issues that make an update problem difficult Among them are dtfferent
The global transactton manager (GTM) controls the executron of global transachons For each global transacuon, the GTM allocates one local transactton manager (LTM) for each of the sites referencedby the transactton Each LTM IS responsible for translatmg global read and wnte operanonsinto the languagesof the local DBMS and transferrmg retneved data to the GTM Once an LTM 1s allocated rt 1s not deallocated unnl the transacnon either commrtsor aborts The MDBS model drscussedm thrs paper is basedon the following two prmcrples a) No changescan be made m the local DBMS software m order to accommodatethe MDBS Modlfylng a local DBMS software createssrgmficantdevelopment and mamtenanceproblems It 1s no longer possible to use a DBMS’s vendor software wrthout modrficahons and thus, m turn, makes rt mfeasrble from an econonnc standpomt to mstall new software releasesfrom the vendor b) Each DBMS retamslocal autonomy of the databasert controls The concept of local autonomy reqmres that the local DBMS and local databaseadrmmstrator perform as If the MDBS does not exrst It meansthat local DBMS operatton, mamtenance, and performance tuning should proceed m the same way as without the MDBS We assumethat the local DBMS’s are not aware of each other, and rf a local transactron 1s submitted to a local DBMS then no other local site 1saware of that transactron In order to ensure the correct behavior of the system, the MDBS must be able to synchromze the executron of global transactronswith local ones Thus1s generally not possible to a&eve rf arbitrary local transactrons can be subnntted at local sates, smce a local transactron may changea value of a replicated data item To guard agamst such behavror the MDBS must provrde a concurrency control scheme and formulate restnctrons on the type of local transacttonsthat can be tolerated by the MDBS concurrency control mechanism The purpose of thts paper is to mvestrgate concurrency control issues that arise when global and local transactions are processedconcurrently m a multrdatabase envrronment Besides being of theorehcal mterest, concurrency control m a multtdatabase envrronment 1s an important pracucal problem A solutron to thus problem would allow semantrcallyrelated data m pre-exrstmgdatabase apphcatrons to be mamtamed m a consrstent state, thereby avoiding an expensrveredesign
1 2 3
How to generateand control executron of global transactronsat local sites How to mamtam global transactronatormcny at local sates How to detect and recover from, or how to prevent, global deadlocks
While the authors presentedextensive drscussronconcernmg the update problem, they drd not proposeeither a concurrency control scheme or a recovery algonthm that would solve the rdenhfied problems In ([PU861, [PU871, lELMA87]) the update problem IS addressed under the assumpuon that the MDBS 1s aware of local transactrons Makmg the MDBS aware of local transactrons requrres changes to the local concurrency control mechamsmsto enable the local DBMSs to report local transactron executton mformauon to the MDBS, which uses this mformauon for local and global transactrons synchromzatton Introducmg such changes allows any two DBMSs to commumcatewrth each other and, therefore, reduces the multtdatabase concurrency control problem to the concurrency control problem m drsmbuted databasemanagementsystems[BERN8 l] The update problems m a homogeneousand a mu1t.r database envrronment,, however, are entrrely drfferent The major difference is that m the drsmbuted case, as soon as a new transacttonenters the systemat a local site, every other site becomes aware of this new transactron. As a result, a concurrency control mechanismat each site 1sable to synchronize the transactronexecutton wrth other transactrons executed at that site In the multtdatabase envrronment, however, the local DRMSs should perform then operanons without the knowledge of other DBMSs or of the MDBS’s existence
2. Previous Work The problems assocratedwrth concurrent accessm mulhdatabasesystems have been consrdered by a number of
136
2
The local concurrency control mechanum(s) guarantees a senahzablelocal transacuonexecution 3 No modlficauons are allowed to a local DBMS’s software m order to deal with a multidatabasesystem 4 No direct commumcatlon exists between local DBMSs In this section we descnbe the global and local levels of this muludatabase system and the mterrelationshlp betweenthem A Global Database IS a mple CD, S , f >, where D is a set of global data items, S 1s a set of ates, and f 1s a function
In [ALON87] the updateproblem 1sconsideredunder the assumption that the MDBS IS not aware of local transactions and local DBMSs are not aware of each other They present an ‘altnus~c lockmg’ schemethat increases concurrency by allowing an early release of locks subject to some constraints that preserve senahzablllty The recoverablhty of global transactions 1s also considered, including compensatingfor local actions that have already committed The authors defined a concept of ‘sagas’ for further mcreasmgconcurrency when global senahzablhty and consistencyconstraints spanning mulhple pre-exlstmg databasesdo not need to be preserved They do not, however, allow local transacuonsat the local sites In this paper we provide a theoretical basis for the approach outlined in [BREI87a] We propose a formal model of data updatesm a mulndatabaseenvironment and develop a theory of senahzablhty m such an envuonment m the presence of local transacuons We show that a charactenzatlon of the correctnessof a concurrency control schema m a dlsmbuted database environment [PAPA791 1s not sufficient m a multldatabase envlronment A correctnesscondition for the concurrency control mechanismm a muludatabaseenvironment 1sformulated, including a charactenzatlon of local transactions that do not destroy multidatabaseconsistency We discuss problems of global deadlocks We propose a transaction protocol that allows concurrent execution of a set of global transacuonsm the presenceof local ones and that ensures multldatabase consistency and the absence of global deadlocks The developed theory 1s used to prove the protocol’s correctness Lastly, we discuss complexity issuesof lmplementmg the proposedprotocol The remamder of this paper 1sorganized as follows Section 3 contams a detruled descnptlon of a formal muludatabasemodel and a defimuon of senahzableexecution of a combmatlon of local and global transacuonsm this model In section 4 we prove the senahzablhty con$uon for a set of global and local transactions In secuon 5 we present a transaction protocol to ensure global database consistency for a set of global and local transactions,and prove its correctness Secaon 6 discusses a problem of global deadlocks m a multldatabase environment and proves that the transaction protocol proposedm Section 5 ensures an absenceof global deadlocks In section 7 we prove that the problem of selectmg sites to execute a global transacuon’s read/wnte operations m the framework of the proposedprotocol 1sNP-complete
f D XS --+(O,l) We will interpret f (x ,l ) = 1 as the avalablhty of the data item x at site 1 A data item x 1sreplicated if it 1slocated at more than one site, that IS, there are sites 1 and J such that1 #J andf (x,t)=f (x,1)=1 We define a senahzableglobal(local) schedulem the usual manner (see [BERN81]) and senahzablhty 1s used as a correctnesscntena for a concurrency control mechanism of a MDBS We assumethat MDBSs, as well as local DBMSs, always produce senahzableschedules A global(loca1) serrallzatlon graph of a global(local) schedule S 1s a directed graph whose nodes are global(local) transacuons and G, + G, if there are conflicting operations op, and op, (1 e , both operate on the samedata item and one of them 1sa wnte operation) m G, and G,, respecavely, such that opt precedesop, m S It 1swell known that if a senahzauon graph of a cchedule S 1sacychc, then S 1ssenahzable(see [BERN85]) To formahze the relahonshlp between local and global operations, we define a translahon operator T which mapseach global operauonsas follows 1 A global read opcraaon is mapped mto some local operauon r (x,) for somesite 1 that contamsa copy of x,(le,f(x,r)=l)) 2 Each global wnte operation is mapped into a set of w (xlr), where local operations w (x, I), w (x&, 11 are the only sites that contam a copy of 11,12, X
It should be noted that a tradahOII operator T does not impose any order on the execunon of local wntes reqmred to execute a global wnte operation on x Applymg a translation operator T to a global transacuon, we obtam an execution sequenceof local operations whose execution 1sequivalent to an execution of the global transaction Let G be a set of global transactions A multrdatabase schedule (or md-schedule) S over G 1sa sequenceof local operations where
3. Multidatabase Update Model The multldatabase system discussed m this paper meets the followmg cnterla 1 The multldatabase concurrency control mechanism guaranteesa senahzableglobal transaction execution
137
Let G be a set of global transachons and let L = WI, , L, ) be sets of local UansacUonsat various local srtes We define a functton T-’ on local operauons of transactronLl as follows:
1
The set of local operahons 1s obtamed from G by applying a translahon operator to each atomtc operaUon of every transactronfrom G 2 For each global transactron G,, rf op, precedes op,‘, m G,, then every operatronm T(op,) precedes every operaUonm T (op, ‘) m S Let S be an arbmary md-schedule over a set of global transactions G Transachon G, reads-x-from G, 111S If for somelocal data item x,,, the followmg holds 1 wI (x,,J and r, (x,) are operations m S 2 w, (x, ) precedesr, (x, ) in S 3 No wk (x,) falls betweenwZ(x,) and r, (x,) 1sS Two md-schedules are equivalent rf they have the same read-x-from relahon for every data rtem x A mdschedule 1s senahzable rf it 1s eqtnvalent to some senal md-schedule Lemma 1: Any senal md-schedule is equivalent to some senal globaI schedule Cl
T-’ (r, >= r, (x 1 T-l (w, (xt 1) = w, 0 )
Theorem 1: Any sertabzablemd-scheduleis equrvalent to somesenal global schedule El The senahzatlon graph of a md-schedule S, is a drrected graph whose nodes represent global transacttons and G, + G, rf there are confhctmg operahons op, and op, operatmg on the samecopy of a data ttem 111G, and G,, respecuvely such that opl precedes op, III S It was shown m [BERN851 that if the serrahzatron graph of a md-schedule1sacychc, then the schedule1ssenahzable The problem of deciding whether there 1sa sateselection for read operatronsthat makesan md-schedule senaltzable 1s NP-complete Indeed, rt was proven m [PAPA791 that even the problem of decrdmg whether an md-schedule is senahzable is NP-complete Therefore, it 1srmportant to find a class of md-schedulesthat are senaltzable for any selectronof readmg sites Theorem 2: Let S be a global schedule Any mdschedule T(S) obtamedby applymg a translauon operator T to each global operauon of S 1seqmvalent to T(S) El Given a set of global transacuons111a mulhdatabase system and m the absence of any other transachons at local sites, the correct execution of these transacaons 1s equivalent to the exrstenceof a senahzable md-schedule Hence, to execute a global transaction 1sequivalent to an execution of a set of local transacttonsthat are generated using a translahon operator T.
By applymg T-’ to each atomrc operauon of each local transacuon from L we obtam a system G’ of global transactions We say that G retains global databaseconsistency rf and only rf there 1s a senahzable global scheduleS for G u G ’ such that a result of the executton of S is computahonally equtvalent to the result of the execuuon of G by the h4DBS and L by then respechve DBMSs Papadmrrmou [PAPA791 has shown that m order to generate a senahzable md-schedule rt 1s both necessary and sufficient that at each ate, for each patr of global confhctmg operahons op, and op], opl should precede op, m any local schedule The critena 1snot suffictent if local transactionsare allowed m the MDBS envrronment ExamDlel Consider a multtdatabasesystemwhere data items a and b are at sate1 and c and dare at srte2 The followmg global transactionsare submrttedto the MDBS G1 rl(a)rl(d) G2 rz(b) rz(c)
Let L t and L2 be two local transactronsthat are subnutted at sites and 1 and 2, respecuvely Ll r3(al)r3(bl)w3(a1)w3(b1) 4
r4(cz) r4(d2> w4(c2) w4@2)
There are no conflrcung atomrc operations betweenglobal transactions G t and G,, therefore any md-schedule 1s senahzable and should consequently retam global databaseconsrstency On the other hand, by applymg T-’ to L l and L, respecttvely, we obtam global transactions G3 r3(a) r@)w3(a)w3@) G4 r4(c) rd(d) w4(c) w4(4 These two transachonscontam atomrc operahons that are m confltct wrth some atonnc oprauons of transachonsG t and G2 Let S 1 and S2 be local schedulesat sites 1 and 2, respecuvely Sl rl(al)rg(al)r3(bl)w3(al)w3(b1)r2(bl)
4. Global Consistency Conditions Let us first extend a defimuon of global databaseconsistency for the case when arbnrary local transacttonsare allowed at local sites
S2 r2(c2) r4(c2) r4(d2)w4(c2) w4W
138
rl(d2)
The result of these executions at local sites 1s not equivalent to any senal execuUon of G *, G,, T-‘(L 1), and T-’ (L 2) SchedulesS 1 and S2, however, do sausfy Papadlmlmou’s cntena since there are no conflict operaUonsmGtandG2 Cl This example emphasizes the necessity of a concurrency control mechamsm even m an environment where global UansacUonshave no wnte operahons The next theorem formulates sufficient cntena for global databaseconsistency Theorem 3: Let G and L be a set of global and local transacUons, respecuvely Global database consistency 1s assuredif the followmg two condlUonshold 1 Any local transachon from L 1s a read-only or can wnte only mto non-replicated data Items 2 There exists a total ordenng of transachonsfrom G such that If G, precedesG, m this ordenng, then for every pan of atormc operations opt and op, from G, and G, respechvely, opl precedesop, in each local schedule Cl If local transacuonsfrom L do not contam any local atomic operauons that are m conflict with local atormc operations from global transactions, then condmon 2 of Theorem 3 1snot necessary,as the next example demonstrates Example 2 Consider a mulUdatabasesystemwhere data items a and b are at site 1 and c and d are at site 2 The followmg global transacuonsare subnutted to the MDBS Gl rlWrl@)wl(a)
that this condlUon holds m each local schedule There is, however, another approachto ensure global databaseconsistency This approach would require the h4DBS to impose somerestnchons on the order of subnuttmg global transactionsfor execuhon m such a way that, even m presence of arbitrary local read-only transactionsor local wnte transachons, no posslhhty of global database mconsistency may occur In this SeChOn we present one such approachand prove its correctness Let us first introduce the nohon of a srte graph for a global transaction G, [BREI87a] The nodes of a site graph are the names of the sites that contam copies of the global data items referenced m G, These nodes are connected by undue&d edges, labeled with the transachon name G, , m any order that forms an acychc graph Obvlously, a site graph of a global transacuonG, is not unique Given a set of global tfansachons G, and takmg the union of site graphs for each global transachon,we obtam a site graph of the system of global transacUonsG To illustrate this, consider the followmg example Example 3 Consider a global databasethat contams data item a at sites 1 and 2, b at sites 1 and 3, and c at sites 2 and 3 Let G 1and G 2 be the followmg global transacuons Gl rl(a)wlW G2 r2@)w2W
The GTM may generate the followmg sequenceof local operahonsfor eachtransacuon T(G1) r1(a1)wl@1)w1(b3)
G2 r2@) r2W w2W
T (G2) rdb3) w2(c2) w2(c3) The site graph of G t and G2 for this site SekChOn IS shown m Figure 2a The GTM could also generate the followmg system of local operauonsfor each transacuon
In addluon, let L 1 and L, be two local transachonsthat are subnutted at sites 1 and 2. respecUvely Ll r3@) L2 r4(c)
There are no conflictmg operahons between transachons generatedfrom G 1 and G2 by the MDBS at sites 1 and 2 and local transacuonsL 1 and L2 This meansthat at local sites any schedule will be senahzableand will also retam global databaseconsistency Thus, a transachon’s execuuon order at each site need not be retamed Therefore, condlhon 2 of Theorem 3 1sviolated Cl
T(Gd
rl(a1)wt(bl)wl(b3)
T (G2) r2(bl) w2(c2) w2@3) The site graph of G t and G 2 for the latter apphcaUonof T 1sshown m Figure 2b and it doescontam a cycle The existence of a cycle m the site graph of a system of global transachons may cause global databasemconslstency dunng the exeeuuon of read and wnte operauons of global and local transactions that are either read-only transactions or local wnte transachons On the other hand, the absenceof cycles 111 the site graph will guarantee the correct execuuon of any nux of global transachonsand local transacUonsdescribed m Theorem 3, as the next theorem indicates
5. Global DatabaseConsistencyProtocol Theorem 3 statessufficient condmons to ensurethe global database consistency of a mulhdatabase system The secondcondlhon of the theorem statesthat global transactions should be executed m the same order m each local schedule Unfortunately, there 1sno simple way to ensure
139
At site 1, G t w;tlts for the data item a that 1slocked by L 1 L 1 Wats for the data rtem b that 1slocked by G2 G 2, m turn, 1swamng for a messagefrom the MDBS that lt may proceed The h4DBS, however, 1s wartmg to receive a messagefrom G t at site 2 that 1shascompleted, since the MDBS is trymg to synchronize the eXecUhOn of G 1 and G 2 at the global level Also, at site 2, G t wantsfor the data item c that 1slocked by L2 L2 wats for the data item d that 1slocked by G 2 and G 2 is wiutmg for a messagefrom the MDBS that It may proceed at site 2 Figure 3 illustrates the deadlock situation describedabove 0 One possible reason for a global deadlock 1s as follows The MDBS 1strymg to execute a systemof global transactionsm one order, while local DBMSs m the presence of local transactions wfl locally change the order without MDBS’s knowledge ms changewould not destroy global databaseconsistency However, it creates a deadlock situahon that should be resolved by methods other than sunply mamtammg the same order of global transactionsat eachsite Theorem 5: If there is dn apphcauon of the operator T to a set of global transacuonsG such that a) A site graph of G 1sacychc b) Any local wsut-for-graph1salso acychc then no global deadlock may occur Cl
a)
G2 b)
Figure 2 Site Graph Theorem 4: Let G and L be a set of global and local transacuons, respechvely The consistency of a global databaseis assuredIf the followmg condmons hold 1 Any local transachon from L is a read-only transacuon or can wnte only mto non-rephcateddata Items 2 There exists at least one apphcaaon of operator T to each transachonfrom G such that the correspondmg site graph for G 1sacychc 0 6. Multidatabase Global Deadlock If a local DBMS uses some sort of lockmg mechanism to insure senabzabtity, then the potential problem of a global deadlock can anse We & assume that any local schedule1sdeadlock-free, meamngthat any local wsut-for graph [see KORT86] does not contam a cycle Thrs, however, does not assurethat global deadlock will not occur ExamDle4 Consider a mulhdatabasesystem where data items a and b are at site 1 and c and d are at site 2 The following global transacuonsare subnutted to the MDBS
7. Site Selection Complexity The observant reader should have noted that there are many deerent ways to chose a data item copy for a read OperahOn Theorems4 and 5 indicate that to ensureglobal database consistency and avoid global deadlocks, one should try to select readmg sites m such a way that a site graph for aset of global hmsachons wdlbeacycl~c Thu problem 1sNp-complete as the next theoremm&cates
G1 rl(a)wl(a)rl(c)wl(c) G2 rz(b) w#)
r2V) w2V)
Let L t and L2 be two local transachonsthat are subrmtted at sites 1 and 2, respectively: Ll r&)
rg(b)
L2 t46)
r4W
Let S 1 and S2 be local schedulesat sites 1 and 2. respecuvel y
Both schedulesare senahzable and theu combmedexecuuon retams a global database consistency by wtue of Theorem 3 A global deadlock, however, may occur durmg the execuuon of G 1 and G 2 as follows
Figure 3 Global Deadlock
140
mg Systems, Eds F Schrelber and W Lrtwm, NorthHolland, 1985,7-24 [BREI87a] Y Breitbart, A Sllberschatz, and G Thompson, “An Approach to the Update Problem m Muludatabase Systems,” IEEE Data Engmeenng, September,1987 [BREI87b] Y Breltbart and H Morales, “Multldatabase PerformanceEvaluauon,” (m preparahon) [BREI87c] Y Breltbart, A Sllberschatz, G Thompson, “An Update System m a Muludatabase Environment,” (m preparahon) [ELMA87] A Elmagarrmd and Y Leu, “An Optmushc Concurrency Control Algonthm for HeterogeneousDlsmbuted DatabaseSystems,”IEEE Data Engmeermg,September, 1987
Theorem 6: For a given set of global transachonsG, the problem of finding an apphcatlon of operator T such that a site graph of G 1sacyclic 1sNP-complete 0 Corollary: The problem to find a site graph with mmlmal number of sites is NP-complete El The NP-completenessof the problem of generating an acyclic site graph seemsto dashany hopesof obtammg a fast algonthm to generate an acychc site graph In a practical environment, however, the number of local sites is not very large, it further seemsthat even in exponent& numbers of sites, algonthms do not perform too badly in generating acyclic site graphs In [BREI87c] we proposea simple site selecuon algonthm and integrate it with a complete set of algonthms to implement a concurrency control schemam a muludatabaseenvrronment This algonthm pernuts concurrent execuuon of global and local transactions However, the level of concurrency for global transactionsin this environment may be less than the level of concurrency for global transacuonsm the absenceof local transacuons A performanceevaluation of the algonthm is currently being conducted
[FERR83] A Femer and C Stangret, “Heterogeneity m the Dumbuted DatabaseManagementSystemSIRIUS-DELTA,” Eight VLDB, Mexico City, 1982
Acknowledgements The authors are deeply grateful to Amoco Production Company for its generoussupport of this research We are also grateful to G R Thompson for numerous mspmng dlscusslons durmg the preparauon of this paper and to M Truszczynslu for pomtmg out that the set sphtung problem can be reduced to the problem of finding an acyclic site graph
[GARE79]
R Garey and S Johnson, “Computers and Intractablllty,” Freeman& Co , SanFrancisco, 1979 [GLIG85] V Ghgor and R Popescu-Zeletm, “Concurrency Control Issues m Dlsmbuted Heterogeneous Database Management Systems,” Dlsmbuted Data Sharmg Systems, Eds F Schrelber and W Lltwm, North-Holland, 1985,43-56
8. References WON871
R Alonso, H Garcia-Molma, and K Salem, “Concurrency Control and Recovery for Global Procedures m FederatedDatabaseSystems,” IEEE, Data Engmeermg, September,1987 [BERN811 P Bernstein and N Goodman, “Concurrency Control m Dlsmbuted Systems,” ACM Compuung Surveys, Vol 12, No 2,198l [BERNSS] P Bernstein and N Goodman, “Senahzahhty Theory for Database,” Journal of Computer and System Sclences,31,1985 [BERN871 P Bernstein, V Hadzllacos and N Goodman, “Concurrency Control and Recovery inDatabase Systems,” Addison-Wesley, 1987 [BREI85] Y Breltbart and L Tleman, “ADDS - Heterogeneous Dlsmbuted Database System,” Dlsmbuted Data Shar-
141
[HAMM80]
M Hammer, and McLeod, “On DatabaseManagement System Architecture,” Infotech State of the Art Report vol 8 Data Design, PergamonInfotech Lmuted, 1980 [KORT86] H Korth and A Sllberschatz, “Database System Concepts,” McGraw-I-Ml Book Co ,1986
lMJQ%3 T Landers, and R Rosenberg, “An Overview of Mulhbase,” Dlsmbuted Data Systems, Ed H Schneider, North-Holland, 1982,153-184 [LITW82] W Litwm, J Boudenant, C Escuher, A Femer, A Gloneux, J La Chmua, K KabbaJ, C Moulmoux, P Rolm, and C Stangret, “SIRIUS Systems for Dumbuted Data Management,” Dlsmbuted Data Bases,Ed H J Schneider,North-Holland, 1982,31 l-366 [MOTR8 11 A Motro and P Buneman, “Construcung Supervlews,”
Proceedmgs of ACM-SIGMOD International Conference on Managementof Data, 1981 [PAPA791 C H Papadmutnou, “Serrahzablhty of Concurrent Updates,” J ACM 26,4, 1979 [PU86] Composrtlon of C Pu,“Superdatabases for Heterogeneous Databases,” Columbia Umverslty Techmcal Report No. CUCS-243-86,1986 [PU871 C Pu, “SuperdatabasesTransactions Across Database Boundanes,” IEEE Data Engmeermg,September1987 ITEMP83] M Templeton, D Bnll, A Hwang, I Kameny, and E. Lund, “An Overvlew of the MERMAID System - a Frontend to HeterogeneousDatabases,”Proceedmgsof EASCON, 1983, IEEE/Computer Society 1983
142