Escolar Documentos
Profissional Documentos
Cultura Documentos
Abstract. Over the past decade, signicant research has the execution of the global transactions. These systems
been done towards developing transaction management were designed to only provide read accesses to remote
algorithms for multidatabase systems. Most of this work data. However, even if each global transaction is read-
assumes a monolithic architecture of the multidatabase only, it can be shown Mehrotra et. al. 1992a, that the
system with a single software module that follows a sin- resulting schedule may be non-serializable and the read-
gle transaction management algorithm to ensure the con- only global queries may retrieve inconsistent data. Trans-
sistency of data stored in the local databases. This mono- action management issues, and the diculty in support-
lithic architecture is not appropriate in a multidatabase ing updates in a MDBS environments were subsequently
environment where the system spans multiple dierent discussed in Gligor et. al., 1984, 1985, 1986; Brietbart et.
organizations that are distributed over various geograph- al., 1988, 1990; Mehrotra et. al. 1992d; Elmagarmid et.
ically distant locations. In this paper, we propose an al- al., 1989. The diculty arises due to the following two
ternative multidatabase transaction management archi- characteristics of MDBS environments:
tecture, where the system is hierarchical in nature. Hi- { Heterogeneity. Each local DBMS may follow dif-
erarchical architecture has consequences on the design ferent concurrency control protocols and recovery al-
of transaction management algorithms. An implication gorithms.
of the architecture is that the transaction management { Autonomy. The participation of a local DBMS in
algorithms followed by a multidatabase system must be the MDBS must not result in a loss of control by the
composable{ that is, it must be possible to incorporate local DBMS over its data and its local transactions.
individual multidatabase systems as elements in a larger
multidatabase system. We present a hierarchical archi- Over the past decade, signicant research has been
tecture for a multidatabase environment and develop done to identify mechanisms for eectively dealing with
techniques for concurrency control in such systems. the problems that arise due to the heterogeneity and
the autonomy of the local systems, E.g., Pu 1988; Bre-
Key words: Database Management { Concurrency Con- itbart et. al., 1988, 1990; Wolski et. al., 1990; Mehrotra
trol { Distributed Databases { Multidatabase Manage- et. al., 1992a, 1992b; Elmagarmid et. al., 1990; Batra
ment et. al., 1992. This research has resulted in transaction
management algorithms that ensure correctness without
sacricing the autonomy of the individual systems. A
large number of these proposed solutions have, however,
considered the MDBS as a centralized software mod-
1 Introduction ule. Clearly, if the local DBMSs are geographically dis-
tributed over dierent nodes of a world-wide computer
A multidatabase system (MDBS) is a facility, developed network, then having a centralized MDBS will result in
on top of local database management systems (DBMSs), numerous undesirable consequences. For example, un-
that provides users of a DBMS access to data located der high global transaction load, the site at which the
in other heterogeneous data sources. Early prototype MDBS software resides will become a bottleneck result-
MDBSs built Templeton 1983; Breitbart et. al. 1985; ing in the degradation of the system performance. More
Landers et. al. 1982 ignored the transaction management importantly, a failure of the site at which the MDBS re-
problem and did not support any scheme to coordinate sides will result in the MDBS being unavailable for pro-
? Work partially supported by NSF grants IRI-8805215, IRI- cessing global transactions even though the transactions
9003341 and IRI-9106450, and by a grant from the IBM were to execute at only the sites that are operational.
corporation. Some of the above problems will be alleviated if
Correspondence to : Sharad Mehrotra the MDBS follows a distributed transaction manage-
2 Sharad Mehrotra, Henry F. Korth, and Avi Silberschatz
ment algorithm for concurrency control. A distributed architecture. In Sections 4-6, we describe our mechanism
mechanism for concurrency control in MDBSs have been for concurrency control in hierarchical MDBSs. Section 7
suggested in Batra et. al. 1992. However, developing the is on related work. Finally, in Section 8, we oer con-
MDBS as a monolithic system in which the MDBS uses a cluding remarks and present directions for future work.
single transaction management algorithm, whether dis- Proofs of the theorems developed in the paper are in-
tributed or centralized, may still be undesirable. To cluded in the appendix.
see this, let us consider a typical MDBS environment
in which users wish to execute transactions that span
database systems belonging to multiple branches of an 2 Transaction Management in MDBSs
organization. Additionally, users also wish to execute
transactions that span dierent autonomous organiza-
tions. One way to provide such a service is to develop The transaction management problem in MDBSs con-
a single monolithic MDBS system which integrates all sists of developing a software module to facilitate the
the branches of all the organizations. However, depend- execution of transactions that may span multiple het-
ing upon the nature of transactions that execute within erogeneous and autonomous local DBMSs. If each lo-
an organization, the computing resources available, and cal DBMS follows the two-phase locking protocol Bern-
the reliability of the network, dierent organizations may stein et. al., 1987, is capable of participating in a two-
prefer dierent MDBS transaction management algo- phase commit protocol Bernstein et. al. 1987, and con-
rithms for processing transactions local within the or- forms to the X/Open DTP standard Gray et. al. 1993,
ganization. For example, if a high degree of concurrency then, from the perspective of transaction management,
is critical for good performance in a certain organiza- the local DBMSs can be integrated using existing trans-
tion, that organization may prefer a centralized MDBS action processing monitors (e.g., Encina by Transarc)
transaction management algorithm for processing trans- Gray et. al. 1993. There are three major reasons why
actions local within the organization. On the other hand, this approach is unacceptable. These reasons collectively
if databases belonging to various branches of another or- have motivated the research on transaction management
ganization are geographically distant and the network is in MDBSs.
not reliable, the organization may prefer a fully decen- First, the local DBMSs may be pre-existing legacy
tralized MDBS transaction management algorithm for systems that may have been developed independently,
processing transactions that execute within its dierent without any regard that these systems will be integrated
branches. Thus, it is preferable to develop the MDBS as into an MDBS on a later date. Legacy DBMSs may not
a hierarchical system{ each organization (or a set of or- adhere to current standards and may not even support
ganizations) has its own MDBS to control the execution an interface for the execution of the two-phase commit
of transactions within the organization. Furthermore, an protocol. Requiring that the data from these pre-existing
inter-organization MDBS controls the execution of trans- systems be migrated to a new system that is capable of
actions that access data belonging to branches of dier- interoperation may not be a feasible cost-eective solu-
ent organizations. Note that using a single monolithic tion to integration. Second, it is possible that the lo-
MDBS system, whether distributed or centralized, will cal DBMSs are highly specialized data management sys-
adversely impact the performance of transactions that tems (as contrasted to general-purpose systems) which
execute within an organization. In contrast, in a hier- have been developed for a specic application domain
archical MDBS, each organization can use a specialized and they use special-purpose concurrency control and
transaction management algorithm suited for their envi- recovery algorithms. For example, a local DBMS may
ronment. be a full-text database system used within an organiza-
The above scenario illustrates why it is desirable for tion for storage and retrieval of oce documents. Such
the MDBS architecture to be hierarchical. If the archi- a system may use a special-purpose transaction process-
tecture of the MDBS is hierarchical, dierent component ing scheme to preserve consistency of the document in-
MDBSs may follow dierent transaction management al- dex. It may not be possible to integrate such specialized
gorithms for ensuring consistency of the data they inte- \home-brewed" local DBMSs into an MDBS using exist-
grate. However, the transaction management algorithms ing transaction processing monitors. Another compelling
followed by individual MDBSs must be such that it is reason why existing transaction processing software does
feasible to compose the MDBSs into a larger MDBS. not suce for the task of MDBS integration is that
In this paper, we present a hierarchical architecture for the usage of standard transaction management proto-
multidatabase systems. We adopt serializability as the cols (viz., the two-phase commit protocol) results in the
correctness criterion and study how existing techniques violation of the local autonomy Breitbart et. al., 1990,
for ensuring global serializability in MDBS environments 1992a, 1992b; Vaijalainen et. al., 1990; Mehrotra et. al.,
can be extended to ensure serializability in hierarchical 1992b. This is due to the fact that a two-phase commit
MDBSs. protocol requires transactions to hold onto their locks
The rest of the paper is organized as follows. In Sec- (even at remote sites) for an unbounded period of time
tion 2, we discuss the motivation behind the transaction under certain adverse conditions Bernstein et. al. 1987;
management problem in MDBSs and provide a summary Gray et. al. 1993. This can be viewed as a violation of
of the progress that has been made over the last decade the local autonomy since it results in a local system los-
in this area. In Section 3, we formally dene our MDBS ing control over its data and its applications.
Concurrency Control in Hierarchical Multidatabase Systems 3
Most of the approaches developed for transaction other executes concurrently with a transaction that reads
management in MDBSs treat local DBMSs as \black both the accounts, then it is possible that the transac-
boxes" that cannot be modied for the sake of inte- tion that reads both the accounts sees a sum that diers
gration. Furthermore, in keeping with the autonomy re- from the true balance of the two accounts which may be
quirement, which dictates that the applications local to unacceptable. Thus, even though each transaction sees
a DBMS execute completely under its control, transac- a consistent state (that is, a state in which no data in-
tions are classied into two classes: local transactions tegrity constraints are violated) and the nal state of the
that execute at a single DBMS; and global transactions database is consistent, the execution is still undesirable.
that accesses more than one DBMS. While global trans- The reason why preservation of data integrity con-
actions execute under the control of the MDBS soft- straint may not be sucient consistency guarantee is
ware, local transactions execute outside its control. Each that it is impossible to capture all the consistency re-
local DBMS is assumed to support an interface using quirements of the executions using integrity constraints
which operations belonging to subtransactions of global over the data. This is a surprising observation since
transactions can be submitted for execution to the lo- most standard text on databases and concurrency con-
cal DBMS. The nature of the interface supported aects trol Bernstein et. al. 1987; Papadimitriou 1986; Gray et.
the transaction management mechanism, including the al., 1993 motivate the need for serializability using the
mechanism developed in this paper, and we will discuss preservation of data integrity constraints as the theoret-
its impact after we have developed our scheme. Further- ical basis of correctness.
more, it is assumed that each local DBMS ensures ACID Another signicant body of research exists on mech-
properties of (sub)transactions that access data at the anisms to ensure serializability in MDBS environments
DBMS. That is, each local DBMS ensures serializabil- Breitbart et. al., 1988, 1990; Wolski et. al., 1990; Pu
ity of the schedule local to it, and atomicity of the local 1988; Mehrotra et. al., 1992a; Elmagarmid et. al., 1990.
transactions and the subtransactions of the global trans- One of the rst signicant approaches developed was in
actions that access data at its site. Pu 1988 where a notion of o-element was introduced.
Research on transaction management in MDBSs has An o-element corresponding to a transaction is one of
been done along two complementary directions. A sig- its operations that satises the following property| if a
nicant amount of work has been done to develop cor- transaction T1 is serialized before transaction T2, then
rectness criteria that are weaker than serializability, but the o-element of T1 occurs before the o-element of T2 .
nonetheless, can be implemented relatively eciently in Using the notion of o-elements, the authors developed a
an environment where local DBMSs may follow hetero- validation based protocol that ensures serializability in
geneous transaction management protocols. These ap- an MDBS environment. Similarly, in Elmagarmid et. al.
proaches are based on the assumption that the data in- 1990, the authors developed a scheme based on conserva-
tegrity constraints in an MDBS environment are of a tive timestamp ordering using the notion of o-elements
restricted nature. For example, it may be reasonable to (they refer to the o-element as the the serialization
assume that there are no data integrity constraints be- event). In Mehrotra et. al. 1992a, it was shown that a no-
tween data residing at two autonomous local DBMSs. tion similar to o-elements can be used to reduce the prob-
Such a restriction on the nature of data integrity con- lem of ensuring serializability in MDBSs to that of ensur-
straints can be exploited to develop correctness crite- ing serializability in traditional DBMSs. Using the reduc-
ria, weaker than serializability, that preserve the con- tion, any of the concurrency control schemes developed
straints. Two examples of this approach are the no- for traditional DBMSs can be used to ensure serializabil-
tion of quasi-serializability (QSR) Du et. al. 1989 and ity in MDBSs. This is a signicant step in understanding
two-level serializability (2LSR) Mehrotra et. al. 1991. In the concurrency control problem in MDBSs since it ef-
Mehrotra et. al. 1991, besides developing the correct- fectively overcomes the problems resulting from hetero-
ness criterion 2LSR, a spectrum of MDBS models for geneity without jeopardizing the autonomy of the local
which 2LSR ensures data integrity constraints is ex- DBMSs. It provides a framework for design and devel-
plored. Protocols for ensuring 2LSR have been developed opment of the concurrency control schemes for MDBSs,
in Mehrotra et. al. 1992c;Ouzzani et. al. 1995. and facilitates comparison between previously published
The limitation of the above mentioned approaches schemes that were developed in an ad-hoc fashion.
lies not only in their inapplicability in domains where the Much of the previous work on MDBS transaction
restrictions on data integrity constraints are not valid, management discussed above has not considered the im-
but as argued in Mehrotra et. al. 1992c, preservation of pact of the MDBS architecture on the design of the trans-
the data integrity constraint may itself not be a su- action management software. As discussed in the intro-
cient consistency guarantee{ that is, executions that pre- duction, there are compelling reasons for MDBSs to be
serve all data integrity constraints may still be incorrect developed as hierarchical systems. In the remainder of
from the perspective of the user. To see this, consider the paper, we describe a hierarchical transaction man-
an MDBS consisting of two banking databases located agement architecture for MDBSs and study how existing
at sites s1 and s2 . Further, let A1 and A2 be two ac- techniques for ensuring serializability in MDBSs can be
counts belonging to banking databases at sites s1 and extended to ensure serializability in hierarchical MDBSs.
s2 respectively such that there is no data integrity con- Concurrency control techniques for hierarchical MDBSs
straint that relates the two accounts. In such a case, if a have previously been studied in Pu 1988 in the context of
transaction that transfers money from one account to the the superdatabase architecture. However, the developed
4 Sharad Mehrotra, Henry F. Korth, and Avi Silberschatz
of operations and Ti is a partial order over operations problem ofare unique. Since, in this paper, we do not consider the
replica control, we consider dierent copies of the same
in OTi . We assume that a transaction Ti that executes at data item as independent data items with an equality constraint
a local DBMS (or a set of local DBMSs) consists of a set between them.
Concurrency Control in Hierarchical Multidatabase Systems 5
global serializability in monolithic MDBSs developed in denote its projection to its serialization function values
Mehrotra et. al. 1992a. Crucial to the mechanism is the over the local DBMSs as a transaction T~iD . Formally, T~iD
notion of serialization functions Mehrotra et. al. 1992a, is dened as follows.
which is similar to the notion of o-element developed in
Pu 1988 and that of the serialization event introduced Denition 1: Let Ti be a transaction and D be a
in Elmagarmid et. al. 1990. simple domain such that global(Ti ; DBk ) for some DBk ,
Let S = (S ; S ) be a serializable schedule. Let 0 where child(DBk ; D). T~iD is a restriction of Ti consisting
S . A serialization function of a transaction Ti 2 0 in of all the operations in the set
a schedule S with respect to the set of transactions 0, fserSk (Ti ) j Ti executes in DBk ;
denoted by serS; 0 (Ti ) is a function that maps Ti 2 0 to and child(DBk ; D)g
some operation in Ti such that the following holds:
Further, for the global schedule S, we dene a sched-
For all Ti ; Tj 2 0 , if Ti S Tj , then serS; 0 (Ti ) S ule S~D to be the restriction of S consisting of the
serS; 0 (Tj ) set of operations belonging to transactions T~iD . Thus,
In the remainder of the paper, we will denote the func- S~D = (S~D ; S~D ), where
tion serS; 0 by serS . The set of transactions 0 will be S~D = fT~iD j global(Ti ; DBk ) for some DBk ;
clear from the context. For numerous concurrency con- where child(DBk ; D)g,
trol protocols that generate serializable schedules, it is
possible to associate a serialization function with trans- and for all operations oq ; or in S~D , oq S~D or , i
actions Ti in the schedule S such that the above property oq S or . In the schedule S~D the con
ict between oper-
is satised. ations is dened as follows:
For example, if the timestamp ordering (TO) concur-
rency control protocol is used to ensure serializability of Denition 2: Let S be a global schedule. Opera-
S and the scheduler assigns timestamps to transactions tions serSk (Ti ) and serSl (Tj ) in schedule S~D , Ti 6= Tj ,
when they begin execution, then the function that maps are said to con
ict if and only if k = l.
every transaction Ti 2 S to Ti 's begin operation is a se-
rialization function for transaction Ti in S with respect It is not too dicult to show that the serializabil-
to the set of transactions S . ity of the schedule S D can be ensured by ensuring the
For a schedule S, there may be multiple serialization serializability of the schedule S~D . Essentially, ensuring
functions. For example, if S is generated by a two-phase serializability of S~D enforces a total order over global
locking (2PL) protocol, then a possible serialization func- transactions (with respect to the local DBMSs), such
tion for transactions in S maps every transaction Ti 2 S that if Ti occurs before Tj in the total order, then serSk
to the operation that results in Ti obtaining its last lock. operation of Ti occurs before serSk operation of Tj for all
Alternatively, the function that maps every transaction sites sk at which they execute in common, thereby en-
Ti 2 S to the operation that results in Ti releasing its suring serializability of S D (see Mehrotra et. al. 1992a
rst lock is also a serialization function for Ti in S. for a detailed explanation).
It is possible that for transactions in a schedule gen- Notice that operations in the schedule S~D consist of
erated by certain concurrency control protocols, no se- only global transactions. Thus, since global transactions
rialization function may exist. For example, in a sched- execute under the control of the MDBS software, the
ule generated by serialization-graph testing (SGT) sched- MDBS software can control the execution of the opera-
uler, it may not be possible to associate a serialization tions in S~D to ensure its serializability thereby ensuring
function with transactions. However, in such schedules, serializability of S D . How this can be achieved| that
serialization functions can be introduced by forcing di- is, how the MDBS software can ensure serializability of
rect con
icts between transactions Georgakopoulos et. S~D is a topic of the next section. Recall that the above
al., 1991. Let 0 be a set of transactions in a sched- described mechanism for ensuring serializability of S D
ule S. If each transaction in 0 executed a con
icting has been developed under the assumption that D is a
operation (say a write operation on data item ticket) in simple domain. In the remainder of this section, we ex-
S, then the functions that maps a transaction Ti 2 0 tend the mechanism suitably to ensure serializability of
to its write operation on ticket is the serialization func- the schedule S D for an arbitrary domain D. One way we
tion for the transactions in S with respect to the set of can extend the mechanism to arbitrary domain in hier-
transactions 0 . archical MDBSs is by suitably extending the notion of
Associating serialization functions with global trans- the serialization function to the set of domains.
actions makes the task of ensuring serializability of S D
relatively simple. Since at each local DBMS, the order Denition 3: Let D be any arbitrary domain in .
in which transactions that are global with respect to the An extended serialization function is a function sf(Ti ; D)
local DBMSs are serialized is consistent with the order that maps a given transaction Ti , and a domain D, to
in which their serSk operations execute, serializability of some operation of Ti that executes in D such that the
S D can be ensured by simply controlling the execution following holds:
order of the serSk operations belonging to the transac-
tions global with respect to the local DBMSs. To see how For all Ti ; Tj , if global(Ti ; D), global(Tj ; D), and
this can be achieved, for a global transaction Ti let us Ti S D Tj , then sf(Ti ; D) S D sf(Tj ; D).
Concurrency Control in Hierarchical Multidatabase Systems 7
Let the functions serSi , i = 1; 2; 3; 4 be dened. Let serS 1 To see the implication of Theorem 1 consider again
and serS be functions that map transactions to their be- the execution in Example 3. In Example 3, the schedules
S~D , S~D and S~D are as follows:
2
gin operation. Furthermore, let serS and serS be func- 1 2 3
By Denition 6, sf(T1 ; DB1 ) = b11, sf(T2 ; DB2 ) = b22, S~D : b11 b31 b32 b22 S~D : c13 c24 c14 c23
1 2
sf(T3 ; DB1 ) = b31, sf(T3 ; DB2 ) = b32, sf(T1 ; DB3 ) = S~D : b11 b22 c13 c24
3
c13, sf(T1 ; DB4 ) = c14. sf(T2 ; DB3 ) = c23, and Theorem 1 states that serializability of the schedule
sf(T2 ; DB4 ) = c24. As a result, transactions T~iD , and 1 S D can be ensured if the domain managers of domains
3
T~1D : b11
1
T~2D : b22 T~1D : c13 c14
1 2 ing serializability of the schedule S D reduces to that of
T~2 : c24 c23
D 2
T~3 : b31 b32
D 1 developing a mechanism using which the domain man-
ager DM(D) can ensure serializability of the schedule
The schedules S~D and S~D are as follows:
1 2 S~D . We develop such a mechanism in the following sec-
tion.
S~D : b11 b31 b32 b22
1
S~D : c13 c14 c24 c23 2
the operation b11 to DM(D1 ). Since no other transaction of the global transaction (and not the read and write op-
holds a a con
icting lock, DM(D1 ) submits the opera- erations that constitute the application). Alternatively,
tions b11 for execution to the local DBMS for execution a local DBMS may support an SQL interface, that per-
(via DM(DB1 )). Let us assume that next T3 requests a mits DM(DBk ) to request multiple SQL statements (or
b31 operation. Since b31 operation is the serS (T3 ) oper-
1 expressions in the local data manipulation language) as
ation, the domain manager DB(DB1 ) forwards the op- part of the global subtransaction, the execution of each
eration to DM(D1 ). The submission of the operation being acknowledged by the local DBMS. The submit-
will be delayed since T~1D holds a con
icting lock. Once ted SQL query (or the service request in the case of the
T~1D releases the lock (according to the 2PL protocol), service interface) may result in multiple read and write
DM(D1 ) may submit b31 for execution. operations over the data and the index structures (e.g.,
B-trees) maintained by the local DBMS. The domain
manager DM(DBk ) may be unaware of these resulting
5.2 Assumptions behind the Approach operations, as well as of the mechanisms used by the
local DBMS for processing the SQL queries (e.g., pro-
The above description of the concurrency control mech- tocol for B-tree traversal Mohan et. al. 1989, key range
anism to ensure serializability of the schedule S~D implic- locking for phantom protection Lomet 1993.
itly makes the following two assumptions: If the local DBMSs do not support an operation inter-
1. The serSk (Ti ) operations can be associated with each face, DM(DBk ) does not have direct control over when
global transaction Ti for all local DBMSs. serSk (Ti ) operations execute at the local DBMSs. How-
2. The interface supported by the local DBMSs for ever, the relative order in which serSk operations exe-
the global transactions is such that the MDBS soft- cute can still be controlled by controlling the submission
ware submits each database operation, including the of operations that cause the execution of the serSk (Ti )
serSk (Ti ) operations, explicitly for execution to the operation at the local DBMS. To see this, consider a
local DBMSs, and the local DBMSs acknowledge the local DBMS at site sk that supports an SQL interface.
execution of the submitted operation. We refer to Furthermore, assume that the local DBMS at sk follows
such an interface as the operation interface. a TO protocol that assigns timestamps to transactions
when they begin execution. That is, serSk (Ti ) is the rst
Below, we argue that the assumption 1 is reasonable database operation belonging to Ti at site sk . DM(D)
in practice. Furthermore, we argue that if assumption can control the relative order in which serSk (Ti ) opera-
2 does not hold for a particular MDBS, it remains possi- tions execute at sk by controlling the order in which it
ble to use our approach with only a minor changes, and submits the rst SQL query for each global transaction
some loss of concurrency. Ti to the local DBMS at site sk (via the domain manager
The basis of the rst assumption has been discussed DM(DBk )). This is possible since serSk (Ti ) for a global
earlier. Depending upon the concurrency control pro- transaction Ti executes only after DM(D) submits the
tocol followed by the local DBMS, it may or may not rst SQL query of Ti for execution to, and before re-
be possible to associate a serialization function with ceiving an acknowledgment from, the local DBMS at sk
the transactions. If the concurrency control scheme fol- (via DM(DBk )). Thus, if local DBMSs do not support
lowed by the local DBMS is such that serialization func- an operation interface, our scheme can still be used to
tion cannot be associated with transactions, serialization ensure serializability for S~D with the following modica-
functions can be articially introduced for global trans- tion: DM(DBk ) forwards the operation that will cause
actions by forcing every two global transactions that ex- the execution of serSk (Ti ) at the local DBMS to DM(D)
ecute at some common sites to con
ict directly at those for processing. DM(D), in turn forwards the operation
sites. This can be accomplished by augmenting global for execution to the local DBMS (via DM(DBk )). As be-
transactions to execute a write operation on a common fore, DM(D) uses a concurrency control protocol (e.g.,
data item ticket at the site. It should always be possi- TO, 2PL, SGT) to control the order in which it submits
ble to add a data item to the local DBMS, but in the the operations to the local DBMS for execution, thereby
case that neither the concurrency control protocol used ensuring serializability of S~D .
by the local DBMS supports a serialization function, and Notice that the nature of the interface supported
nor does the local DBMS provide a mechanism for den- by the local DBMS aects the degree of concurrency
ing a new data items, the scheme developed in this pa- aorded by the developed approach. For example, in
per, as well as other approaches to concurrency control the case of a service interface, the entire service or the
in MDBSs developed previously will not be usable to en- subtransaction is considered as a single operation by
sure global serializability. Such a situation is extremely DM(DBk ), and it forwards the request for service in-
unlikely to occur in practice and, thus, the rst assump- vocation to DM(D) for execution. Since DM(D) uses a
tion is reasonable from the practical standpoint. concurrency control protocol (e.g., 2PL) to control the
Unfortunately, the second assumption may not be order in which it forwards the service request to the lo-
valid since some existing local DBMSs do not support an cal DBMS for execution, the service request at the local
operation interface. Instead, a local DBMS may support DBMS causes the execution of the serSk operation for
a service interface Breitbart et. al. 1992a in which the lo- the transaction, and the serSk operations of two dier-
cal DBMS only permits DM(DBk ) to submit a request ent transactions at the same site con
ict, only a single
for execution of an existing local application on behalf service request is allowed to execute at the same DBMS
10 Sharad Mehrotra, Henry F. Korth, and Avi Silberschatz
domain managersof parent domainsof D to DM3 (D). The component DM3 (D) is responsible
for ensuring serializability of S~D .
exec(sf (Ti ; D)) ack(sf (Ti ;D)) { DM2 (D): The component DM2 (D) receives requests
DM (D) for the execution of the operations o = sf(Ti ; D)
(that is, exec(sf(Ti ; D)) requests) from the domain
sf (Ti ;D) DM2 (D) managers of the domains D0 , where parent(D0 ; D).
ack(sf (Ti; D)) In case there are multiple domains D0 such that
exec(sf (Ti ; D)) parent(D0 ; D), DM2 (D) waits until it receives re-
quests exec(sf(Ti ; D)) from each domain D0 , where
DM1 (D) exec(sf (Ti ; Dk )) DM 3 (D ) parent(D0 ; D). On receipt of the request from each
of the parent domains, it submits the operation for
execution to the component DM3 (D). On receipt of
sf (Ti ;Dk ) exec(sf (Ti ; D)) ack(sf (Ti;Dk )) the acknowledgement for the successful execution of
domain managersof child domainsof D
the operation sf(Ti ; D) (denoted by ack(sf(Ti ; D)))
from DM3 (D), DM2 (D), in turn, forwards the ac-
Fig. 5. Components of a Domain Manager knowledgement to the domain managers of each of
the domains D0 , where parent(D0 ; D).
{ DM3 (D): The component DM3 (D) is responsible for
at a given time. Thus, the scheme essentially results in scheduling the operations of the transactions T~iD to
global transactions executing sequentially at each local the local DBMSs for execution (via the domain man-
DBMS. In contrast, in the case of the operation inter- agers of the child domains of D) in such a fashion that
face, multiple global transactions may execute concur- the schedule S~D is serializable. DM3 (D) receives re-
rently at a given time at each local DBMS as long as the quest for the execution of operations o = sf(Ti ; Dk ),
concurrently executing operations are not the serSk (Ti ) where child(Dk ; D) from DM1 (D) (if either o be-
operations. longs to a transaction Ti such that local(Ti ; D), or
For the remainder of the paper, we will assume that if o 6= sf(Ti ; D)) and from the component DM2 (D)
the local DBMSs support an operation interface. This (if global(Ti ; D) and furthermore the operation o =
assumption is made only for the sake of simplicity of the sf(Ti ; Dk ) is also the operation sf(Ti ; D)). DM3 (D),
presentation and does not compromise the generality of in turn, submits the request for the execution of
our solution as explained above. the operation sf(Ti ; Dk ), to the domain manager of
the domain Dk , where child(Dk ; D). Further, on re-
ceipt of the acknowledgement for the operation o =
5.3 Ensuring Serializability in Arbitrary Domains sf(Ti ; Dk ) (that is, ack(sf(Ti ; Dk ))) from the domain
manager of the domain Dk , in case the operation
Recall that our discussion so far has considered only is also the serialization function of Ti with respect
the design of the domain manager DM(D), for sim- to D (that is, sf(Ti ; D)), DM3 (D) forwards the ac-
ple domains. We now turn our attention to the de- knowledgement to the component DM2 (D) which, as
sign of the domain manager for an arbitrary domain mentioned previously, acknowledges the execution of
D 2 such that D 62 TOP and D 6= DBk , for all the operation to the domain managers of each of the
k = 1; 2; : : :; m. DM(D) consists of the following three parent domains of D. DM3 (D) controls the submis-
components DM1 (D), DM2 (D) and DM3 (D) as illus- sion order of the operations sf(Ti ; Dk ) to the domain
trated in Figure 5: managers of the domains Dk , where child(Dk ; D), in
such a fashion that the schedule S~D is serializable.
{ DM1 (D): The component DM1(D) receives the
sf(Ti ; Dk ) operations belonging to transactions T~iD mainAbove, we have described the components of the do-
manager for a domain D, where D 62 T OP and
from the domain manager of each domain Dk at further D 6= DB
which Ti executes, where child(Dk ; D). DM1 (D), on ager for the domain k , k = 1; 2; : : :; m. The domain man-
receipt of the operation sf(Ti ; Dk ), determines if the that it does not contain D 2 TOP diers from the above in
transaction Ti is local to D. If Ti is local to D (that that if D 2 TOP , then there the component DM2 (D). Note
is, local(Ti ; D)), then DM1 (D) forwards the opera- such that parent(D0 ; D). Thus, does not exist a domain D0
tion sf(Ti ; Dk ) to DM3 (D) for processing. Else, if of the domain manager for a the component DM1 (D)
domain D 2 TOP, on
Ti is global to D (that is, global(Ti ; D)) and fur- receipt of the any operations o = sf(T
ther if the operation o = sf(Ti ; Dk ) is also the se- child(D ; D), submits a request for the i ;execution Dk ), where
of
rialization function value of Ti with respect to the sf(T ; Dk ) (that is, exec(sf(T ; D )) to the component
domain D; that is, o = sf(Ti ; D), then DM1 (D) sub- DM (D) directly. i k i k
mits the operation to the domain managers of every 3
DBj to the domain manager of D = DBj , and the do- T~1D : b13
2
T~2D : b22 2
T~3D : b34 b32 T~4D : b43 b44
2 2
and before DM3 (D) receives the acknowledgement for S~D : b22 b43 b34 b32 b13 b44
2
the execution of sf(Ti ; Dk ) from the domain manager of In schedule S~D operations b11, b21, operations b22, b32,
Dk . Hence, to ensure that the schedule S~D is serializ-
1
able, the component DM3 (D) can use any concurrency and operations b43,D b13 Dcon ict. Thus, S~D is serializ- 1
~ ~ ~ D ~ D
able in the order T4 , T1 , T2 , T3 . Similarly, in the
1 1 1 1
control protocol that ensures serializability (e.g., 2PL, schedule S~D operations b22, b32, operations b43, b13, and
TO, SGT) to schedule the submission of the operations 2
belonging to transactions T~iD to the domain managers operations bD34, b44 con ict. Thus, S~D is serializable in 2
of the child domains. Note that since the schedule S~D the order T2 , T3 , T4 , T1 . Since both S~D and S~D
~ 2~ D ~ D ~2D 2 2 1 2
is distributed over the domains D1 ; D2 ; : : :; Dk , where are serializable, the execution in Example 2 could have
child(Dj ; D), j = 1; 2; : : :; k, DM3 (D) can follow any been generated (if, for example, the domain managers
distributed or centralized concurrency control protocol of D1 and D2 were following the SGT scheme to ensure
to ensure serializability of S~D . serializability of S~D and S~D respectively). Note that
1 2
However, as we mentioned in the beginning of Section 4, the order in which the domain manager of D2 serializes
ensuring serializability of the schedules S D , D 2 alone transactions T~iD and T~jD must be the same (identical
2 2
may not guarantee global serializability in a hierarchical to the order in which the domain manager D3 serial-
MDBS (see Example 2). To ensure global serializability, izes theS transactions). Hence, if there existed a domain
the set of domains must be restricted appropriately. In D3 = fDB2 ; DB3 g, then the non-serializable execution
the remainder of the section, we consider a restriction on in Example 2 would not result. We therefore consider the
such that if the mechanism developed in the previous following restriction on the set of domains:
section for ensuring serializability of S D , D 2 is used,
12 Sharad Mehrotra, Henry F. Korth, and Avi Silberschatz
schedule may still not be serializable. To see this let us the order T2 , T3 , T1 . Similarly, in the schedule S~D
~ 2 ~ 2 ~ D 2 3
consider the following example. operations b11, b21, and operations bD33, b13Dcon
ict. Thus,
S~D is serializable in the order T~3 , T~1 , T~2D . Thus,
3 3 3 3
Example 4: Consider an MDBS environment con- each schedule S~D , S~D and S~D is serializable. How-
1 2 3
sisting of local databases: DBMS1 with data item a, ever, the global schedule S is not serializable.
DBMS2 with data item b, and DBMS3 with data item
c. Let the domain ordering be as illustrated in Figure 7. The above example illustrates that even if satis-
es the restriction R1, ensuring serializability of S~D for
S = fDB1 ; DB2S; DB3 ; D1; D2 ; D3g,
The set of domains
each domain D may not ensure global serializability. To
where DS1 = fDB1 ; DB2 g, D2 = fDB2 ; DB3 g, and
D3 = fDB1 ; DB3 g. Further, the set TOP = f D1 , identify conditions under which global serializability is
D2 ,D3 g, D1 \ D2 = DB2 , D2 \ D3 = DB3 , and ensured we need to introduce the notion of a domain
D1 \ D3 = DB1 . Hence, satises the restriction R1. graph. A domain graph (DG) for a set of domains , is
Consider the following transactions T1 , T2 , and T3 that an undirected graph whose nodes correspond to the set
execute: of domains D 2 TOP . Let Di and Dj be two nodes in
T1 : b11 w11(a) b13 w13(c) c11 c13 DG. There is an edge (Di ; Dj ) in DG if there exists a
T2 : b21 w21(a) b22 w22(b) c21 c22 domain Dk 2 such that Dk @ Di and Dk @ Dj .
T3 : b32 w32(b) b33 w33(c) c32 c34 Theorem 2: Consider an MDBS environment with
Note that Dom(T1 ) = D3 , Dom(T2 ) = D1 , and the set of domains. Let S be a global schedule. Further,
Dom(T3 ) = D2 . Suppose that each local DBMS follows let each of the following three hold:
a timestamp scheme for concurrency control in which a { For each DBk such that DBk @ D, Sk is seri-
timestamp is assigned to a transaction when it begins alizable and further there exists a function serSk
execution. Then, the serialization function for a transac- such that for all transactions Ti ; Tj , global(Ti ; DBk ),
tion with respect to DBi , i = 1; 2; 3, is the transactions' global(Tj ; DBk ), and Ti Sk Tj , then serSk (Ti ) S
begin operation at the local DBMSs. Thus, the trans- serSk (Tj ).
actions T~i for the transactions T1 ; T2; T3 with respect to
each of the domains D1 , D2 and D3 are as follows: { For all domains D 2 such that D 62 TOP, S~D is
serializable and further there exists a function serS~D
T~1D : b11
1
T~2D : b21 b22 T~3D : b32
1 1
such that for all transactions Ti ; Tj , if global(Ti ; D),
T~1 : b13
D
2
T~2D : b22
2
T~3D : b32 b33
2
global(Tj ; D), and T~iD S~D T~jD , then serS~D (T~iD ) S
T~1 : b11 b13 T~2 : b21
D
3 3 D T~3D : b33
3
serS~D (T~jD ).
Consider a schedule S resulting from the concurrent ex- { For all domains D 2 such that D 2 TOP, S~D is
ecution of transactions T1 , T2, and T3 such that the local serializable.
schedules at DBMS1 , DBMS2 , DBMS3 are as follows:
If satises R1 and the DG is acyclic, then S is serial-
S1 : b11 w11(a) b21 w21(a) c11 c21 izable.
S2 : b22 w22(b) b32 w32(b) c22 c32
S3 : b33 w33(c) b13 w13(c) c33 c13 Note that Theorem 2 states that under the hypoth-
Furthermore let the schedules S~D , S~D and S~D be as esis of Theorem 1, global serializability is ensured if the
domain hierarchy satises the restriction R1 and the do-
1 2 3
follows: main graph DG does not contain any cycles. The DG for
S~D : b11 b21 b22 b32
1
the set of domains corresponding to the domain order-
S~D : b22 b32 b33 b13
2 ing relation illustrated in Figure 6 contains nodes D1 and
S~D : b11 b21 b33 b13
3 D2 and an edge (D1 ; D2 ). Since this DG is acyclic and
the set of domains satises R1, it follows that in order
In schedule S~D operations b11, b21, and operations bD22,
1
to ensure global serializability, it suces to ensure that
b32, con
ict. Thus, S~D is serializable in the order T~1 ,
1 1
the schedules S~D , for each domain D 2 , is serializable.
T~2D , T~3D . In the schedule S~D operations b22, b32, and
1 1 2 In contrast, the DG for the set of domains corresponding
Concurrency Control in Hierarchical Multidatabase Systems 13
D3 { For each DBk such that DBk @ D, Sk is seri-
alizable and further there exists a function serSk
D2 D4 such that for all transactions Ti ; Tj , global(Ti ; DBk ),
D1 global(Tj ; DBk ), and Ti Sk Tj , then serSk (Ti ) S
serSk (Tj ).
{ For all domains D 2 , such that D 62 TOP , S~D is
serializable and further there exists a function serS~D
DB5 DB6 such that for all transactions Ti ; Tj , if global(Ti ; D),
DB1 DB2 DB3 DB4 global(Tj ; D), and T~iD S~D T~jD , then serS~D (T~iD ) S
Fig. 8. A Domain Ordering such that LDG Contains No Undesir- serS~D (T~jD ).
able Cycles
{ For all domains D 2 such that D 2 TOP, S~D is
serializable.
to the domain ordering relation illustrated in Figure 7
contains a cycle (D1 ; D2), (D2 ; D3) and (D3 ; D1). Hence, If satises R1 and LDG contains no undesirable cy-
even if for each domain D 2 , the schedule S~D is se- cles, then S is serializable.
rializable and the set of domains satises restriction
R1, loss of global serializability may result. Since the domain graph DG contains a cycle if and
The restriction imposed on the domain hierarchy in Theorem only if the labeled domain graph LDG contains a cycle,
Theorem 2 can be relaxed since not every cycle in the DG to be 3acyclic relaxes the requirement in Theorem 2 for
to the requirement that LDG does not
domain graph DG would result in a potential loss of se- contain any undesirable
rializability. Consider, for example, DG for the set of global serializability. cycles for our scheme to ensure
domains corresponding to the domain ordering relation
illustrated in Figure 8. Note that DG contains a cycle
(D2 ; D3), (D3 ; D4), (D4 ; D2). However, for the set of do-
mains corresponding to the domain ordering relation il- 7 Related Work
lustrated in Figure 8, if for each D 2 , the domain
manager for D ensures that the schedule S~D is serial- Relevant related work on transaction management in
izable, then it can be shown that the resulting global MDBSs was discussed in Section 2. As we mentioned
schedule S is serializable. Thus, certain cycles in DG do there, hierarchical transaction management architecture
not result in a potentially non-serializable global sched- for MDBSs has previously been studied in Pu 1988 where
ule. Below we formalize the nature of the cycles that can the authors proposed a superdatabase architecture for
be permitted in DG. To do so, we rst introduce the MDBSs. In this section, we compare our approach with
notion of the labeled domain graph (LDG). the concurrency control scheme developed in Pu 1988
An LDG is a domain graph in which each edge for the superdatabase architecture. Furthermore, we dis-
(Di ; Dj ) has a label, referred to as label(Di ; Dj ), where cuss the relationship of our work with the hierarchical
label(Di ; Dj ) = Di \ Dj . Let (D1 ; D2), (D2 ; D3), : : :, concurrency control schemes that been studied in the
(Dr,1 ; Dr ), (Dr ; D1 ) be a cycle in the LDG. We refer to context of multi-level transactions. Weikum et. al. 1984;
the cycle in the LDG as a undesirable cycle if and only Weikum et. al. 1991; Beeri et. al. 1988.
if for all k; l, k = 1; 2; : : :; r, l = 1; 2; : : :; r, if k 6= l, then A superdatabase can be seen as a hierarchical MDBS
with the following restriction on :
label(Dk ; D(k+1)mod r ) 6= label(Dl ; D(l+1)mod r ).
For all domains Di ; Dj 2 , if child(Di ; Dj ), then
Note that the LDG for the set of domains correspond- for all Dk 6= Dj , :child(Di ; Dk ).
ing to the domain ordering relation illustrated in Fig-
ure 8, has edges (D2 ; D3), (D3 ; D4) and (D4 ; D2), where An example of a superdatabase architecture is the do-
label(D2 ; D3) = label(D3 ; D4) = label(D4 ; D2) = D1 . main ordering illustrated in Figure 4. It is easy to see
Thus, LDG does not contain any undesirable cycles. that a superdatabase is a special instance of a hierar-
In contrast, the LDG for the set of domains corre- chical MDBS for which the set of domains satises
sponding to the domain ordering illustrated in Fig- the restriction R1 and, further, the domain graph cor-
ure 7 contains a cycle (D1 ; D2 ), (D2 ; D3), (D3 ; D1 ), responding to is acyclic. Thus, from Theorem 2, it
where label(D1 ; D2) = DB2 , label(D2 ; D3 ) = DB3 , follows that a concurrency control scheme based on en-
label(D3 ; D1) = DB1 . Hence, LDG contains a undesir- suring the serializability of S~D for each domain D 2
able cycle. If the LDG for the set of domains does not can be used in superdatabases to ensure global serializ-
contain any undesirable cycles, then ensuring that S~D , ability.
for each domain D 2 would ensure global serializabil- The concurrency control scheme for superdatabases
ity as is stated in the following theorem. developed in Pu 1988 is very dierent from our ap-
proach. In contrast to our scheme, where for each do-
Theorem 3: Consider an MDBS environment with main D, the domain manager DM(D) ensures serializ-
the set of domains. Let S be a global schedule. Further, ability of the schedule S~D , in Pu 1988 authors developed
let each of the following three hold: a protocol, referred to as the hierarchical validation, in
14 Sharad Mehrotra, Henry F. Korth, and Avi Silberschatz
D1 (and its descendents) and not by the domain man- Note that we are not claiming that the notion of
ager of D3 since T3 is local to the D1 . Similarly, since multi-leveltransactions is orthogonal to the MDBS trans-
T4 is local to D2 , the execution of the operations b43 action management problem. In fact, one of the pro-
and b44 is controlled by only the domain manager of D2 posals Sheck 1991, Weikum et. al. 1991 for concurrency
(and its descendents). Not only does this increase scala- control in MDBSs is to consider global transactions as
bility of our approach, but also preserves the autonomy two-level transactions in which each subtransaction is
of the individual MDBSs since the transactions local to considered as a lower level operation. However, such ap-
a domain D are controlled by only the domain manager proaches are based on exploiting the semantics of the
of D (and its descendants). Furthermore, since in our application domain, and do not ensure global serializ-
approach, only transactions global with respect to a do- ability. Hence, such approaches are not directly related
main D pay the overhead of the concurrency control at to the scheme developed in this paper.
the parent domain of D, our approach will have better An interesting observation is that similar to our work,
performance as compared to the hierarchical validation Section 6), recently, eorts have also been made to de-
protocol in which every transaction that is global with velop concurrency control protocols for multi-level sys-
respect to some local DBMS pays the concurrency con- tems in which the abstraction hierarchy may not neces-
trol overhead at multiple levels. sarily be a true hierarchy. Specically, in Muth et. al.,
Hierarchical concurrency control schemes have also 1993, the authors develop a technique for concurrency
been previously studied in the context of multi-level control in multi-level systems in which not every trans-
transactions Weikum et. al. 1984, Weikum et. al. 1991, action has a representation at each abstraction level. For
Beeri et. al. 1988. A multi-level transaction is a special example, consider a two-level system discussed earlier
type of a nested transaction Moss 1987, Gray et. al. 1993 in which the levels correspond to the tuples and pages.
in which levels of the transaction represent a hierarchy of The authors develop a multi-level concurrency control
abstract data types. Operations at a given level i are im- scheme for a system in which not every transaction has
plemented completely using operations at the next lower a representation at both the tuple as well as the page
level i , 1. The recursion stops at level 0, the operations abstraction level. Instead some transactions may be im-
at which are assumed to be atomic and indivisible. In plemented as operations on the pages directly. The mo-
multi-level systems, concurrency control is done hierar- tivation for their work comes from trying to map the
chically at each level. The concurrency control scheme applications in object-oriented databases to multi-level
at level i, ensures isolation of the level i operation un- transactions for the purpose of concurrency control. One
der the assumption that the level i , 1 operations are way to do so is to map the method invocation hierarchy
atomic, which are made atomic by the concurrency con- to the abstraction hierarchy of the multi-level transac-
trol scheme of level i , 1, and so on. The objective is that tion. However, it is not too dicult to see that the hier-
viewing transactions in the multi-level framework allows archy for most systems will not be a true hierarchy as is
for the exploitation of the application semantics to en- traditionally assumed in the work on multi-level transac-
hance concurrency. Two transactions, even though they tions. Similar to our work on identifying limitations that
result in operations that con
ict at the lower abstrac- must be imposed on the domain hierarchy for the de-
tion level may not con
ict at the higher level. To see veloped concurrency control approach (that is, ensuring
this, consider a two-level system in which transactions serializability of S~D ) to ensure global serializability in hi-
are implemented as a sequence of operations on tuples, erarchical MDBSs, it will be interesting to study limita-
and each tuple-level operation is implemented as a se- tions on the abstraction hierarchy that might need to be
quence of page-level operations. Two transactions that imposed for the scheme developed in Muth et. al. 1993
access/modify dierent tuples on the same page, even to ensure serializability in multi-level systems.
though they execute con
icting page-level operations, do
not con
ict at the level of the tuples. Multi-level concur- 8 Conclusions
rency control enables such transactions to execute con-
currently thereby enhancing concurrency. A multidatabase system (MDBS) is a facility, developed
Besides the fact that both our approach for MDBS on top of pre-existing local database management sys-
environments, as well as the mechanisms developed for tems (DBMSs), that provides users of a DBMS access
multi-leveltransactions, are hierarchical concurrency con- and update privileges to data located in other hetero-
trol protocols, there is not much similarity between geneous data sources. Over the past decade, substantial
them. For example, in multi-level concurrency control research has been done to identify mechanisms for eec-
schemes, each transaction is dened over a given ab- tively dealing with the problems that arise due to the
straction hierarchy, and its execution is controlled by heterogeneity and autonomy of the local systems. This
the concurrency control scheme at each level. There is research has resulted in transaction management algo-
no concept similar to local and global transactions as rithms for MDBSs that ensure correctness without sac-
is the case with transactions in MDBS environments. ricing the autonomy of the individual system. Most of
Furthermore, in the MDBS environments considered in the proposed approaches have, however, considered an
this paper, the hierarchy of MDBSs represents only a MDBS as a single monolithic system which, executing
structural hierarchy, and there is no implied hierarchy of on top of the existing local DBMSs, controls the execu-
abstractions as is the case with multi-level transactions. tion and commitment of the global transactions (trans-
16 Sharad Mehrotra, Henry F. Korth, and Avi Silberschatz
actions that execute at multiple local DBMSs) in such suring global serializability in hierarchical MDBSs. Since
a way that consistency of the individual systems is not ensuring global serializability in an MDBS environment
jeopardized. is both complex and expensive, and schemes that ensure
In this paper, we proposed a hierarchical architec- serializability may not oer the desired degree of con-
ture for multidatabase systems and studied how con- currency, substantial research has been done to develop
currency control can be done in such systems. We be- correctness criteria for MDBSs that are weaker than se-
lieve that a large MDBS, that spans multiple organiza- rializability but that ensure database consistency under
tions which are geographically distributed over nodes of appropriate assumptions about the MDBS environment
a world-wide computer network will not be developed Du et. al. 1989, Mehrotra et. al. 1991. It will be interest-
as a single monolithic system. Instead, it will be devel- ing to study concurrency control schemes and the con-
oped as a hierarchical system in which an MDBS that sistency guarantee that results in hierarchical MDBSs in
integrates certain local DBMSs may itself be a part of a which dierent domains may follow dierent notions of
larger MDBS. In a hierarchical MDBS, depending upon correctness.
the nature of the transactions that execute, the comput-
ing resources available, and the reliability of the network, Acknowledgement. We wish to thank Daniel Barbara for many in-
dierent component MDBSs may follow dierent trans- spiring discussions. We would further like to thank Rajeev Rastogi
action management schemes to ensure the consistency of for his comments on an earlier draft of the paper. We would like to
the data they integrate. However, the transaction man- thank the VLDB Journal referees for their constructive criticism
agement algorithms followed by the individual MDBSs and many improvements they suggested over the original version
of the paper.
must be such that it is feasible to compose them as ele-
ments of a larger MDBS.
To describe the architecture, with an MDBS environ- A Proofs of the Theorems
ment we associate a set of domains with an ordering
relation @. A domain is either a set of data items at In this appendix, we prove Theorems 1-3 stated in the
some local DBMS, or it may consist of a union of the paper. We begin by rst proving Theorem 1. To prove
set of data items in other domains. The execution of the the theorem we rst need to develop the following two
transactions within a domain D 2 is controlled by the lemmas.
domain manager of D. We developed a mechanism using Lemma 1: Consider an MDBS environment with the
which the domain managers can ensure that the concur- set of domains. Let S be a global schedule and D be
rent execution of the transactions does not result in a loss an arbitrary domain in . Schedule S D is serializable, if
of serializability within their domains. More specically, each of the following three conditions hold:
for a global schedule S and a domain D, we identied a 1. For each domain Dk such that child(Dk ; D), schedule
schedule S~D such that0 if S~D is serializable, and for all S Dk is serializable.
domains D0 @ D S~D is serializable, then the serializ- 2. For each domain Dk , such that child(Dk ; D), there
ability of the projection of S to data items in D (that is exists a serialization function sf such that the fol-
S D ) is ensured. We developed a mechanism using which lowing holds:
the domain manager of D can control the order in which
the operations that belong to S~D execute such that S~D For all transactions Ti ; Tj , if global(Ti ; Dk ),
is serializable. In our mechanism, the domain manager global(Tj ; Dk ), and Ti S Dk Tj , then
may use any concurrency control protocol known for tra- sf(Ti ; Dk ) S sf(Tj ; Dk ).
ditional DBMSs (distributed or centralized) to ensure 3. Schedule S~ is serializable.
D
serializability of S~D . Finally, we identied restrictions
that need to be imposed on the architecture of the hi- Proof: Assume D
that S D is not serializable. Since
erarchical MDBSs such that our mechanism of ensuring by (1) each S is serializable, there exist transactions
k
serializability of S~D for each domain D 2 results in T1; T2 ; : : :; Tn such that T1 S Dk T2 , T2 S Dk T3 , : : :,
global schedules that are serializable. Tn,1 S Dkn, Tn , Tn S Dkn T1 , where child(Dki ; D),
1 2
the usage of atomic commit protocols Bernstein et. al. 1987 sf(Tn ; Dkn ) S sf(T1 ; Dkn ). Thus, by the denition of
2 1 1
unsuitable for MDBS environments. In the absence of con
icts in S~D , T~1D S~D T~2D , T~2D S~D T~3D , : : :, T~nD,1
atomic commit protocols, it is possible that certain sub- D ~D T~D which is a
S~D T~n , T~n S~D T~1 . Hence, T~1
transactions of a multi-site transaction commit, whereas D D D
S 1
others abort, thereby violating the atomicity property. contradiction since S~D by (3) above is serializable. Hence
The problem of ensuring atomicity in MDBS environ- proved.
ments has been studied in Breitbart et. al., 1990; Wolksi
et. al., 1990; Mehrotra et. al., 1992b, 1992d; Zhang et. al., We next prove that the function sf dened in the
1994. We need to further study how these schemes can be paper meets the requirement of a serialization function
adapted for hierarchical MDBSs. Finally, in this paper for a domain D.
we concentrated only on developing mechanisms for en-
Concurrency Control in Hierarchical Multidatabase Systems 17
sf(Tn,1 ; Dkn, ) S sf(Tn ; Dkn, ), sf(Tn ; Dkn ) S that if Ti S D Tj , then T~iD S~D T~jD .
2 2
sf(Tj ; Dkn ).
1 1
Hence, by denition of a con
ict in S~D , T~iD S~D T~1D , Lemma 3: Let Ti and Tj be transactions and D be
T~1D S~D T~2D , : : :, T~nD,1 S~D T~nD , T~nD S~D T~jD . a domain such that global(Ti ; D) and global(Tj ; D) and
Hence, T~iD S~D T~jD . As a result, by the denition of level(D) 2. If Ti S D Tj , then T~iD S~D T~jD .
sf(T; D), sf(Ti ; D) S sf(Tj ; D). Hence proved. Proof: Let p = level(D) The proof is by induction
on p.
Proof of Theorem 1: The proof is by the induction Basis (p = 2): Thus, D = fDB1 ; DB2 ; : : :; DBm g for
some local database DBMSk , k = 1; 2; : : :; m. Since
over the level of the domain D. Ti S D Tj , there exists transactions T1 ; T2; : : :; Tn such
Basis (level(D) = 1): If level(D) = 1, then for some
DBk , D = DBk . Since Sk is serializable, for all k = that Ti DBk T1 , T1 DBk T2, : : :, Tn,1 DBkn Tn ,
Tn DBkn Tj , where
1 2
1; 2; : : :; n, S D is serializable.
Induction: Assume that the theorem is true for each +1
global(Tl ; DBkl ) and global(Tl ; DBk l ), exists a D0 v D such that T~iD0 S~D0 T~jD0 , then T~iD S~D
l = 1; 2; : : :; n.
( +1)
T~jD .
Hence by denition of the serialization function sf, Proof: The proof in by induction on the level of the
domain D, where D0 v D.
sf(Ti ; DBk ) S sf(T1 ; DBk ), Basis (level(D) = level(D0 )): Since
D0 v D, it must be
sf(T1 ; DBk ) S sf(T2 ; DBk ), : : :, the case that D = D. Thus, Ti S~D T~jD .
0 ~ D
1 1
Thus, by denition of T~i , T~iD S~D T~1D , T~1D S~D T~2D , level(D) = level(D0 ) + p + 1. Let D be such a domain.
: : :, T~nD,1 S~D T~nD , and T~nD S~D T~jD . Hence, T~iD S~D Since D0 v D, there exists a domain D00 , D0 v D00 ,
T~jD . where child(D00 ; D). Further, since global(Ti ; D) and
Induction: Assume that the lemma holds for all do- global(Tj ; D), and since Ti and Tj execute in D00 , it must
mains such that level(D) p. We show that it holds be the case00that global(T i ; D00 ) and00global(Tj ; D00 00 ). Thus,
~ 00 D ~D00 T~D , by de-
S~D00 Tj . Since T~i
~
by IH, Ti D D
for
SfDdomains such that level(D) = p + 1. Let D = S j
1 ; D2 ; : : :; Dm g be an arbitrary domain such that
nition of sf, sf(Ti ; D00) S sf(Tj ; D00). Thus, by deni-
level(D) = p + 1. Since Ti S D Tj , there exists trans- tion of T~i , T~iD S~D T~jD . Hence, T~iD S~D T~jD .
actions T1 ; T2 ; : : :; Tn , n 0, such that Ti S Dk T1 , Lemma 6: Let Ti ; Tj be transactions and let D be a
T1 S Dk T2, : : :, Tn,1 S Dkn Tn , and Tn S Dkn
1
2 +1
domain such that T~iD S D T~jD . For all D0 , D0 @ D, if Ti
Tj . Since child(Dkl ; D), level(Dkl ) < level(D). Thus, ~
and Tj execute in D0 , then sf(Ti ; D0) S sf(Tj ; D0 ).
by IH, T~iDk S~Dk T~1Dk, , T~1Dk S~Dk T~2Dk , : : :,
1 1 2 2
Proof: Let there exists a D0 such that sf(Tj ; D0) S
1 2
0 00
T~nD,k1n S~Dkn T~nDkn , and T~nDkn S~Dkn T~jDkn .
+1 +1 sf(Ti ; D ). Thus, there exists a domain 00D such that
Hence by denition of the serialization function sf,
+1
D00 v D, parent(D00 ; D0 ) such that T~jD S~D00 T~iD00 .
sf(Ti ; Dk ) S sf(T1 ; Dk ), sf(T1 ; Dk ) S sf(T2 ; Dk ), Hence by Lemma 5, T~jD S~D T~iD . Thus, S~D is not serial-
: : :, sf(Tn,1 ; Dkn ) S sf(Tn ; Dkn ), and sf(Tn ; Dkn ) S izable which is a contradiction. Hence, such a D0 does not
1 1 2 2
sf(Tj ; Dkn ). Thus, by denition of T~i , T~iD S~D T~1D , exist. Thus, for all D0 , D0 @ D, sf(Ti ; D) S sf(Tj ; D).
+1
T~1D S~D T~2D , : : :, T~nD,1 S~D T~nD , T~nD S~D T~jD . Hence,
+1
T~iD S~D T~jD . Hence proved. Proof of Lemma 4: There are two cases to consider.
Recall that we were considering the proof of the { (D \ D0 6= ;:) We rst show that both Ti and Tj
fact that if there exist transactions Ti ; Tj , such that execute at D \ D0 . If Ti does not execute at D \ D0 ,
global(Ti ; D) and global(Tj ; D), and Ti DBk Tj , then then since Ti executes at D, there exists a DB @ D 1
T~iD S~D T~jD . If in case, DBk v D, then the above devel- and a DB @ D0 such that Ti executes at DB and
2 1
DB , where DB 6@ D \ D0 and DB 6@ D \ D0 . Since
oped lemma shows that T~iD S~D T~jD . We next consider
2 1 2
Ti executes at DB and DB , there exists a domain
1 2
the case in which DBk 6v D. Let DBk v D0 , where D0 2 D00 2 TOP , Dom(Ti ) @ D00, such that D00 = 6 D
T OP. Note that since global(Ti ; D) and global(Tj ; D), it and D00 = 6 D0 . Consider the labeled domain00 graph
must be the case that global(Ti ; D0 ) and global(Tj ;0 D0 ). LDG. In LDG since DB @ D and DB @ D , there
1 1
prove that T~iD S~D T~jD , we will show that if for any Further, since DB @ D0 and DB @ D00, there is
2 2
an edge (D0 ; D00) such that DB @ label(D; D00 ).
pair of transactions Ti ; Tj and domains D;0D0 2 TOP0 , Since D \ D0 = 6 ;, there exists an edge00 (D; D
2
0 ) in
where global(Ti ; D) and global(Tj ; D), if T~iD S~D0 T~jD , LDG. Thus, LDG contains a cycle (D; D ), (D ; D0 ),
00
then T~iD S~D T~jD . (D0 ; D). Since DB 6@ D0 , DB 6@ label(D; D0 ). Fur-
1 1
ther, since DB 6@ D, DB 6@ label(D; D0 ). Hence,
2 2
00 00 0 0
the cycle (D; D ), (D ; D ), (D ; D) is a undesirable
Lemma 4: Let the set satisfy restriction R1 and cycle. Thus, it must be the case that Ti executes in
the LDG be acyclic. Further, let Ti ; Tj be transactions D \ D0 . Similarly, it is the case that Tj executes in
and D; D0 2 TOP be domains such that global(T i ; D00)
0
and global(Tj ; D0). If T~iD S~D T~jD , then T~iD S~D0 T~j .
D D \ D0 . Since T~iD S~D T~jD , by Lemma 6, we have
that sf(Ti ; D \ D0 ) S sf(Tj ; D \ D0 ). Thus, by
Lemma 5, since global(Ti0 ; D0) and global(Tj ; D0 ), we
0
have that T~iD S~D0 T~jD .
To prove Lemma 4, we rst develop the following two
lemmas that relate con
icts between transactions in do- { (D \ D0 = ;:) Since Ti executes at D as well as D0 ,
mains D; D0 , where D0 @ D. let Ti executes at DB1 , DB3 , where DB1 @ D and
DB3 @ D0 . Further since Tj executes at D as well as
Lemma 5: Let D be a domain and Ti ; Tj be transac- D0 , let Tj executes at DB2 , DB4 , where DB2 @ D
tions such that global(Ti ; D) and global(Tj ; D). If there and DB4 @ D0 . We show that there exists a domain
Concurrency Control in Hierarchical Multidatabase Systems 19
D00 such that DB1 @ D00, DB2 @ D00 , DB3 @ D00 , Since global(Ti ; D \ D00) and global(Tj ; D \ D00), and
DB4 @ D00. Say such a domain D00 does not exist. T~iD S~D T~jD , by Lemma 6, sf(Ti ; D \ D00) S
Since Ti executes at DB1 and DB3 , there exists a sf(Tj ; D \ D00). Hence by Lemma 5, and the deni-
domain D000 2 TOP , such that Dom(Ti ) @ D000 and tion of T~i , T~iD00 S~D00 T~jD00 . Since global(Ti ; D0 \ D00 )
thus DB1 @ D000 and DB3 @ D000. Further, since
Tj executes at DB2 and DB4 , there exists a do- and global(Tj ; D0 \ D00 ), and T~iD00 S~D00 T~jD00 , by
main D0000 2 TOP , such that Dom(Tj ) @ D0000 and Lemma 6, sf(Ti ; D0 \ D00 ) S sf(Tj ; D0 \0 D00 ). Hence0
thus DB2 @ D0000 and DB4 @ D0000. If D000 = D0000, by Lemma 5, and the denition of T~i , T~iD S~D0 T~jD .
then DB1 @ D000, DB2 @ D000, DB3 @ D000, and Hence proved.
DB4 @ D000 . Hence, D000 6= D0000. Thus, D 6= D0 6=
D000 6= D0000. Consider the labeled domain graph Using Lemmas 3 and 4 we can establish that if
LDG. In LDG, there is an edge (D; D000) such that there exists transaction Ti ; Tj , such that global(Ti ; D)
DB1 @ label(D; D000 ), there is an edge (D000; D0 ) such and global(Tj ; D), and Ti DBk Tj , then T~iD S~D T~jD .
that DB3 @ label(D; D000 ), there is an edge (D0 ; D0000) Recall that to prove Theorem 3 we needed to show that
such that DB4 @ label(D0 ; D0000), and there is an under the hypothesis of Theorem 3, if there exists trans-
edge (D0000; D) such that DB2 @ label(D0000; D). Thus, action Ti ; Tj , such that global(Ti ; D) and global(Tj ; D),
LDG contains a cycle (D; D000), (D000; D0 ), (D0 ; D0000), and Ti S Tj , then T~iD S~D T~jD . We have already
(D0000; D). We next show that LDG contains a unde- proved the above under the assumption that the con
ict
sirable cycle. There are two cases to consider:
{ (D000 \ D0000000= ; :) Since000 DB10000@ label(D; D000 ), Ti Tj arises as a result of a direct con
ict between
DB1 @ D . Since D \ D = ;, DB1 6@ transactions Ti and Tj ; that is, there exists a DBk such
D0000. Thus, DB1 6@ label(D0000; D) and further that Ti DBk Tj . We next relax the assumption and
DB1 6@ label(D0000; D0 ). Similarly, since DB1 6@ show that for any arbitrary con
ict Ti S Tj , the claim
D0 , DB1 6@ label(D0 ; D000). Hence label(D; D000 ) 6= holds. To do so, we will require the following lemma that
label(D0 ; D000), label(D; D000 ) 6= label(D0 ; D0000), establishes how the presence/absence of certain edges be-
and label(D; D000 ) 6= label(D; D0000). Using simi- tween the nodes in an LDG impacts the nature of the
lar reasoning, we can show that con
icts between transactions that can occur in the sys-
label(D; D000 ) 6= label(D000 ; D0 ) 6= label(D0 ; D0000) tem.
6= label(D0000; D).
Hence, the cycle (D; D000 ), (D000 ; D0 ), (D0 ; D0000), Lemma 7: Let T1; T2 ; : : :; Tn, n > 2, be transactions
(D0000; D) is a undesirable cycle. such that T1 DB T2, T2 DB T3 , : : :, Tn,1 DBn,
{ (D000 \ D0000 6= ; :) If D0000000 \000D0000 6= ;, then Tn. Let D0 and D00 , D0 2 TOP, D00 2 TOP, be domains
1 2 1
LDG contains an edge (D ; D ) and thus LDG such that DB1 v D0 and DBn,1 v D00 . There exists
besides containing the cycle (D; D000), (D000; D0 ), a path (D0 ; D1), (D1 ; D2 ), : : :, (Dr,1 ; Dr ), (Dr ; D00) in
(D0 ; D0000), (D0000; D), also contains cycles (D; D000 ), LDG such that for all Di , i = 1; 2; : : :; r, there exists a
(D000 ; D0000), (D0000; D) and (D0 ; D000), (D000 ; D0000), DBj , j = 1; 2; : : :; n , 1, such that DBj @ Di . Further,
(D0000; D0 ). Note that since D \ D0 = ;, it must be let edges (D0 ; D1 ), (D1 ; D2), : : :, (Dr,1 ; Dr ), (Dr ; D00)
the case that DB1 6@ label(D0 ; D000) and DB1 6@ have labels L1 ; L2; : : :; Lr respectively. For all Li , i =
label(D0 ; D0000). Further, DB2 6 @ label( D0 , D000) 1; 2; : : :; r, there exists a DBj , j = 1; 2; : : :; n , 1, such
and DB2 6@ that DBj @ Li .
label(D0 ; D0000). Proof: The proof is by induction on n.
Similarly, DB3 6@ label(D0 ; D000), Basis (n = 3): Thus, T1 DB T2 and T2 DB T3 ,
DB3 6@ label(D0 ; D0000), DB4 6@ label(D; D000 ) and where DB1 @ D0 and DB2 @ D00. Consider the do-
1 2
DB4 6@ label(D; D0000 ). Thus, if the cycle (D; D000), main D 2 TOP such that Dom(T2 ) v D. If D = D0 ,
(D000 ; D0), (D0 ; D0000), (D0000; D) is not a undesir- then since DB2 @ D00 and DB1 @ D0 , there is an edge
able cycle, then either label(D; D0000 ) = label(D; D000 ) (D0 ; D00) in LDG. Further, DB2 @ label(D0 ; D00 ). Else,
or label(D0 ; D0000) = label(D0 ; D000). Note that if D = D00 , then since DB1 @ D0 and DB2 @ D00 ,
label(D; D0000 ) = label(D; D000 ) and label(D0 ; D0000) = there is an edge (D0 ; D00) in LDG. Further, DB1 @
label(D0 ; D000) both cannot hold since then D3 label(D0 ; D00 ). Else, if D 6= D0 and D 6= D00, then
would be such that DB1 @ D3 , DB2 @ D3 , there are edges (D0 ; D) and (D; D00) in LDG such that
DB3 @ D3 , and DB4 @ D3 . If label(D; D0000 ) = DB1 @ label(D0 ; D) and DB2 @ label(D; D00 ).
label(D; D000 ), and label(D0 ; D0000) 6= label(D0 ; D000), Induction: Assume that the lemma holds for n = m , 1,
then the cycle (D0 ; D000), (D000 ; D0000), (D0000; D0) is m 4. We show it holds for n = m. Thus, we have
a undesirable cycle. Else, if T1 DB T2 , T2 DB T3 , : : :, Tm,1 DBm, Tm . Let
label(D0 ; D0000) = label(D0 ; D000), DBm,2 @ D000, where D000 2 TOP. If D000 = D0 , then
1 2 1
and by base case, the lemma holds. Else, if D000 = D00 , then
label(D; D0000 ) 6= label(D; D000 ), T1 DB T2 , T2 DB T3, : : :, Tm,2 DBm, Tm,1 ,
then the cycle (D; D000), (D000 ; D0000), (D0000; D) is a where DB1 v D0 and DBm,1 v D00. Hence, by IH, the
1 2 2
undesirable cycle. lemma holds. Else, D000 6= D0 and D000 6= D00 . By IH,
Hence, there must exist a domain D00 such that there exists a path (D0 ; D1 ), (D1 ; D2 ), : : :, (Dr,1 ; Dr ),
DB1 @ D00 , DB2 @ D00 , DB3 @ D00 , and DB4 @ D00 . (Dr ; D000) in LDG such that for all Di , i = 1; 2; : : :; r,
20 Sharad Mehrotra, Henry F. Korth, and Avi Silberschatz
there exists a DBj , j = 1; 2; : : :; m , 2, such that DBj @ { (for0 all0 i, i = 1; 2; 3; : : :;0 m , 1, DBi 6@ D:) Let DB @0 1
Di . Further, for all Li , i = 1; 2; : : :; r, there exists a DBj , D,D = 6 D, where D 2 TOP and Dom(T ) v D . 1
j = 1; 2; : : :; m , 2, such that DBj @ Li . By the base There are two cases to consider:
case, since Tm,2 DBm, Tm,1 and Tm,1 DBm, Tm , { (DB0 m,1 v D0 :) We rst show that T~1D0 S~D0
there exists a path (D000; D10 ), (D10 ; D20 ), : : :,(Dr0 0 ,1; Dr0 0 ),
2 1
(Dr0 0 ; D00) such that for all Di0 , i = 1; 2; : : :; r0, there ex- T~mD . It will follow from Lemma 4 that T~1D S~D
ists a DBj , j = m , 2; m , 1, such that DBj @ Di0 . T~mD . Since DBm,1 v D0 , we have that T1 DB 1
Further, for all Li , i = 1; 2; : : :; r0, there exists a DBj , T2 , T2 DB T3 , : : :, Tm,1 DBm, Tm , where
DB1 ; DBm,1 @ D0 . If for all DBi , i = 1; 2; : : :; m,
2 1
Lemma 8: Let the set of domains satisfy the Tk DBk Tk +1 , where DBk ,1 @ D0 and
1 1 1 1
restriction R1 and let LDG be acyclic. Further, let DBk 6@ D0 . Since Tk executes both on DB0 k ,1
1 1 1 1
Proof: The proof in by induction on n. { (DBm,1 6v D0 :) Let DBm00,1 @ D00 , where00 D00 20
Basis (n = 1): Thus, T1 DB T2. There are two cases TOP and Dom(Tm ) v D . Note that D 6= D
and further D00 6= D. Since T1 executes in both
1
to consider.
D and D0 , and Dom(T1 ) v D0 , LDG contains
{ (DB v D:) In this case, T
1 1 S D T2 . Thus, by an edge (D; D0 ). Let label(D; D0 ) = L0 . Simi-
Lemma 3, since global(T1 ; D) and global(T2 ; D), we larly, since Tm executes in both D and D00 , and
have that T~1D S~D T~2D . Dom(Tm ) v D00, LDG contains an edge (D; D00 ).
{ (DB1 6v D:) Let DB1 @ D 0 , where D0 2 TOP. By Let label(D; D00 ) = L00. We rst show that it must
0 0
Lemma 3, T~1D S~D0 T~2D . Since global(T1 ; D) and be the case that L0 = L00 .
global(T2 ; D), by Lemma 4, T~1D S~D T~nD . Assume on the contrary that L0 6= L00. Since
T1 DB T2 , T2 DB T3, : : :, Tm,1 DBm,
Tm , where DB1 @ D0 and DBm,1 @ D00 , by
1 2 1
Induction: Assume that the lemma holds for all n Lemma 7, there exists a path (D0 ; D1 ), (D1 ; D2 ),
m , 1. We show that it holds for n = m. Thus, we : : :, (Dr,1 ; Dr ), (Dr ; D00) such that for all Di , i =
have T1 DB T2 , T2 DB T3 , : : :, Tm,1 DBm, Tm . 1; 2; : : :; r, there exists a DBj , j = 1; 2; : : :; m , 1,
There are two cases to consider.
1 2 1
: : :, (Dr,1 ; Dr ), (Dr ; D00), (D00 ; D). Let the labels is a contradiction. Hence, the sequence of transactions
on the edges (D0 ; D1), (D1 ; D2), : : :, (Dr,1 ; Dr ), cannot exist. Thus, S is serializable.
(Dr ; D00 ) be L1 ; L2; : : :; Lr respectively. By as-
sumption L0 6= L00. Further, since for each Li ,
there exists a DBj , j = 1; 2; : : :; m , 1 such that
DBj @ Li , and since L0 @ D, L00 @ D, and since References
for all DBj , j = 1; 2; : : :; m , 1, DBj 6@ D, it is
the case that L0 6= Li and L00 6= Li , for all i = R.K. Batra, D. Georgakopoulos, and M. Rusinkiewicz. A decen-
1; 2; : : :; r. Thus, if the cycle (D; D0 ), (D0 ; D1 ), tralized deadlock-free concurrency control method for multi-
database transactions. In Proceedings of the Twelfth Interna-
(D1 ; D2), : : :, (Dr,2 ; Dr,1 ), (Dr,1 ; D00), (D00 ; D), tional Conference on Distributed Computing Systems, Yoko-
is not a undesirable cycle, then there must exist homa, Japan, 1992.
labels Lr ; Lr in the cycle such that Lr = Lr . C. Beeri, H.-J. Schek, and G. Weikum. Multi-level transaction
Consider domains Dr ,1 , Dr +1 . Since Lr @
1 2 1 2
management, theoretical art or practical need? In Interna-
Dr ,1 and Lr @ Dr +1 , there is an edge be-
1 2 1
tional Conference on Extending Database Technology, Lec-
tween Dr ,1 and Dr +1 with a label L such that
1 2 2
ture Notes on Computer Science, volume 303. Springer Verlag,
Lr @ L. Hence, there exists a cycle in LDG,
1 2
1988.
P. A. Bernstein, V. Hadzilacos, and N. Goodman. Concurrency
(D; D0 ), (D0 ; D1 ), (D1 ; D2), : : :, (Dr ,1; Dr +1 ),
1
have that0 global(Tk0; D0 ). Thus, by IH, we have VLDB Journal, 1(1), 1992.
W. Du and A. K. Elmagarmid. Quasi serializability: a correct-
that T~1D S~D0 T~kD and T~kD0 S~D0 T~nD0 . Thus, ness criterion for global concurrency control in InterBase. In
T~1D0 S~D0 T~nD0 . Hence, by Lemma 4, T~1D S~D Proceedings of the Fifteenth International Conference on Very
Large Databases, Amsterdam, pages 347{355, 1989.
T~nD . Hence proved. A. K. Elmagarmid and W. Du. Supporting value dependencies for
nested transactions in interbase. Technical Report CSD-TR-
Since we had reduced our task of proving Theo- 885, Purdue University, Computer Sciences Department, May
rem 3 to that of proving that under the hypothesis of 1989.
A.K. Elmagarmid and W. Du. A paradigm for concurrency control
Theorem 3, if there exists transaction Ti ; Tj , such that in heterogeneous distributed database systems. In Proceedings
global(Ti ; D) and global(Tj ; D), and Ti S Tj , then of the Sixth International Conference on Data Engineering,
T~iD S~D T~jD , the proof of Lemma 8 completes our task Los Angeles, 1990.
D. Georgakopoulos, M. Rusinkiewicz, and A. Sheth. On serializ-
of proving Theorem 3. We summarize the proof of The- ability of multidatabase transactions through forced local con-
orem 3 below.
icts. In Proceedings of the Seventh International Conference
on Data Engineering, Kobe, Japan, 1991.
Proof of Theorem 3: If S is not serializable, then V. Gligor and G. L. Luckenbaugh. Interconnecting heterogeneous
database management systems. IEEE Computer, pages 33{43,
there exists transactions T1 ; T2 ; : : :; Tn such that T1 DB January 1984.
T2 , T2 DB T3, : : :, Tn,1 DBn, Tn , Tn DBn
1
D. Lomet and B. Salzberg. Access method concurrency and re- G. Weikum and H.-J. Schek. Concepts and applications of mul-
covery. In Proceedings of ACM-SIGMOD 1992 International tilevel transactions and open nested transactions. In A. K.
Conference on Management of Data, San Diego, California, Elmagarmid,editor, Advanced Transaction Models for new ap-
1992. plications. Morgan-Kaufmann, 1991.
D. Lomet. Key range locking. In Proceedings of the Nineteenth A. Wolski and J. Veijalainen. 2PC agent method: Achieving se-
International Conference on Very Large Databases, Dublin, rializability in presence of failures in a heterogeneous multi-
1993. database. In Proceedings of the International conference on
S. Mehrotra, R. Rastogi, H. F. Korth, and A. Silberschatz. Non- databases, parallel architectures and their applications, pages
serializable executions in heterogeneous distributed database 321{330, March 1990.
systems. In Proceedings of the First International Confer- A. Zhang, M. Nodine, B. Bhargava, and O. Bukhres. Ensuring re-
ence on Parallel and Distibuted Information Systems, Miami laxed atomicity for
exible transactions in multidatabase sys-
Beach, Florida, 1991. tems. In Proceedings of ACM-SIGMOD 1994 International
S. Mehrotra, R. Rastogi, Y. Breitbart, H. F. Korth, and A. Silber- Conference on Management of Data, Minneapolis, Minnesota,
schatz. The concurrency control problem in multidatabases: 1994.
Characteristics and solutions. In Proceedings of ACM-
SIGMOD 1992 International Conference on Management of
Data, San Diego, California, 1992.
S. Mehrotra, R. Rastogi, Y. Breitbart, H. F. Korth, and A. Sil- This article was processed by the author using the LaTEX style le
berschatz. Ensuring transaction atomicity in multidatabase cljour2 from Springer-Verlag.
systems. In Proceedings of the Eleventh ACM SIGACT-
SIGMOD-SIGART Symposium on Principles of Database
Systems, San Diego, California, 1992.
S. Mehrotra, R. Rastogi, H. F. Korth, and A. Silberschatz. Re-
laxing serializability in multidatabase systems. In Proceedings
of the Second International Workshop on Research Issues on
Data Engineering: Transaction and Query Processing, Mis-
sion Palms, Arizona, February 1992.
S. Mehrotra, R. Rastogi, H. F. Korth, and A. Silberschatz. A
transaction model for heterogeneous distributed database sys-
tems. In Proceedings of the Twelfth International Conference
on Distributed Computing Systems, Yokohoma, Japan, 1992.
C. Mohan. ARIES/KVL: A key-value locking method for concur-
rency control of multiaction transactions operating on B-trees
indexes. Technical Report RJ7008, IBM Research, September
1989.
C. Mohan and F. Levine. ARIES/IM: An ecient and high concur-
rency index management method using write-ahead logging.
Technical Report RJ6846, IBM Research, August 1989.
J. E. B. Moss. Nested transactions: An introduction. In B. Bhar-
gava, editor, Concurrency Control and Reliability in Dis-
tributed Systems, pages 395{425. Van Nostrand Reinhold,
1987.
P. Muth, T. C. Rakow, Weikum G., Brossler P, and Hasse C. Se-
mantic concurrency control in object-oriented database sys-
tems. In Proceedings of the Ninth International Conference
on Data Engineering, Vienna, Austria, pages 233{242, 1993.
M. Ouzzani, M. A. Atroun, and N. L. Belkhodja. A top-down
approach to two-level serializability. In Proceedings of the 20th
International Conference on Very Large Databases, Santiago,
Chile, 1995.
C. Papadimitriou. The Theory of Database Concurrency Control.
Computer Science Press, Rockville, Maryland, 1986.
C. Pu. Superdatabases for composition of heterogeneous
databases. In Proceedings of the Fourth International Con-
ference on Data Engineering, Los Angeles, 1988.
H.-J. Schek, G. Weikum, and W. Schaad. A multi-level transac-
tion approach to federated dbms transaction management. In
International Workshop on Interoperability in Multidatabase
Systems, 1991.
M. Templeton, D. Brill, A. Hwang, I. Kameny, and E. Lund. An
overview of the mermaid system - a frontend to heterogeneous
databases. In Proceedings EASCON, pages 387{402, 1983.
J. Veijalainen and A. Wolski. The 2PC agent method and its
correctness. Technical Report Research Notes 1192, Technical
research Centre of Finland, December 1990.
G. Weikum and H. Schek. Architectural issues of transaction
maangement in multi-layered systems. In Proceedings of the
Tenth International Conference on Very Large Databases,
Singapore, pages 454{465, 1984.