A multidatabase system (MDBS) is an integration of pre-existing local database systems (LDBSs), which supports global applications that access more than one LDBS. The main goal of multidatabase transaction management is to guarantee multidatabase consistency, even in the presence of failures, while maintaining local autonomy. It has been shown that correct executions of multidatabase transactions cannot be achieved in the failure-prone environment without certain trade-offs on local autonomy and/or semantic-freeness of transactions. Therefore, many works on multidatabase transaction management have been made in the past with some assumptions that are, in general, difficult to justify in real world multidatabase environments.
In this thesis, our goal is to develop failure-resilient multidatabase transaction management techniques that are independent of semantics of the transaction applications as well as the database integrity constraints (implicit or explicit), so that it can be widely applicable. Our technique can be used not only for a centralized but also for a decentralized MDBS environment, to prevent the blocking of the execution of global transactions at all sites due to the crash of a single site. Also, the proposed methods should be applicable irrespective of types of global transactions depending on transactional interfaces that are exported by local database systems to the multidatabase system. Since user organizations in an MDBS are autonomous and have pre-established LDBS, it is essential that MDBS construction must not require major modifications to existing DBMS software while providing users with a consistent and reliable database.
We first clarify the global transaction management issues and review the previous works. Then, we define a decentralized MDBS model and propose some transaction processing methods for our multidatabase system. As a global concurrency control method, the multidatabase strict two-phase locking (M-S2PL) protocol is presented while considering together the global commitment and recovery features. We identify the deadlock situations that can arise in controlling the concurrent execution of transactions, and then develop a multidatabase deadlock control technique, called the possible wait-for-graph (PWFG) method, which requires no local wait-for information from LDBMSs. We, then, propose a global atomic commit protocol, called the multidatabase 2PC (M2PC) protocol, and show that it guarantees global atomicity. We also investigate a nonblocking atomic commit protocol for our MDBS by extending the M2PC protocol to have a buffered state, as in the traditional 3PC protocol. The nonblocking may be a strongly required property in some multidatabase applications where local autonomy in one site cannot be violated due to other site failure. Integrated commit protocols are also considered for MDBSs federating several LDBSs each of which supports different commit protocol. We also propose some practical implementation approaches that involves minimal efforts to integrate LDBSs into our MDBS structure.
The proposed transaction management techniques guarantee multidatabase consistency even in the presence of failures, while preserving maximal local autonomy, but placing no special restrictions on the multidatabase transactions that are often assumed in the literature. Our techniques are applicable independently of types of global transactions designed depending on types of transaction interfaces that are supported (or allowed) by LDBSs, and independently of organization of the MDBS.
다중 데이타베이스 시스템(multidatabase system)은 이미 구축되어 운영되고 있는 여러 개의 지역 데이타베이스 시스템들의 통합으로, 하나의 트랜잭션 수행을 위해 하나 이상의 지역(local) 데이타베이스 시스템에 접근하는 전역(global) 트랜잭션을 지원한다. 다중 데이타베이스 시스템에서 전역 트랜잭션 관리의 주된 목표는 각 지역 데이타베이스 시스템들의 지역 자치성(autonomy)을 유지하면서 장애 발생에도 불구하고 다중 데이타베이스의 일관성(consistency)을 보장하는 것이다. 그러나, 지역 자치성이나 전역 트랜잭션 응용의 일반성에 대한 어느 정도의 절충(trade-off) 없이 다중 데이타베이스 (또는 전역) 트랜잭션의 옳바른 수행은 달성될 수 없음이 알려져 있다. 따라서, 다중 데이타베이스 트랜잭션 관리에 대한 많은 연구들이 실 세계의 다중 데이타베이스 환경에서 정당화되기 어려운 가정을 가진 채 수행되어 왔다.
본 논문에서 우리가 목표로하는 것은 트랜잭션 응용이 갖는 의미나 묵시적 또는 명시적인 데이타베이스 무결성 제약조건(integrity constraint)들에 관계없이 장애 발생에도 대처할 수 있는 일반적으로 적용할 수 있는 다중 데이타베이스 트랜잭션 관리 기법들을 개발하는 것이다. 우리가 제안하는 방법은 중앙집중형(centralized) 뿐만 아니라 분산형(decentralized) 다중 데이타베이스 시스템 환경에도 적용할 수 있도록하여 하나의 사이트 장애로 인해 모든 사이트에서 전역 트랜잭션을 수행하지 못하는 일이 없도록 한다. 또한, 각 지역 데이타베이스 시스템에서 전역 트랜잭션 수행을 위해 제공하거나 허용하는 대화식 또는 서비스 함수 호출 식의 인터페이스 방식에도 모두 적용할 수 있도록 고려한다. 다중 데이타베이스 시스템에서 각 사용자 조직은 이미 구축된 데이타베이스 시스템들을 가지며 이들은 지역적으로 자치적인 운영을 하고 있기 때문에, 다중 데이타베이스 시스템 구축은 기존의 데이타베이스 관리 시스템 소프트웨어에 많은 수정을 요구하지 않으면서 사용자에게 일관성있고 신뢰성있는 데이타베이스를 제공할 수 있어야 한다.
본 논문에서는 우선 전역 트랜잭션 관리 문제들을 명확히하고 문제 해결을 위한 단서들을 도출하며 기존의 접근방법들을 고찰한다. 다음으로, 분산형 다중 데이타베이스 시스템 모델을 정의하고 몇가지의 전역 트랜잭션 처리 방법들을 제안한다. 전역 동시성 제어 방법으로서 전역 완료(commit)와 회복 기능을 고려한 multidatabase strict two-phase locking (M-S2PL) 프로토콜을 제시한다. 또한 트랜잭션들의 동시 수행 제어에서 발생할 수 있는 교착상태(deadlock) 상황을 도출하고, 지역 데이타베이스 관리 시스템으로 부터의 wait-for 정보를 요구하지 않으면서 다중 데이타베이스 교착상태를 검출할 수 있는 possible wait-for graph (PWFG) 방법을 개발한다. 다음으로, 우리는 multidatabase two-phase commit (M2PC)라는 전역 원자적(atomic) 완료 프로토콜을 제안하고, 이 방법이 본 논문에서 고려하는 여러가지 형태의 장애 발생에도 불구하고 전역 트랜잭션의 원자성(atomicity)을 보장함을 보인다. 정의한 다중 데이타베이스 시스템을 위한 블록되지 않는(nonblocking) 원자적 완료 프로토콜을 고찰하여 전형적인 3단계 완료 프로토콜에서와 같이 완충(buffer) 상태를 갖도록 한 M3PC를 제시한다. 이것은 지역 자치성이 다른 사이트의 장애로 인해 침범받게 되는 것을 원치 않는 응용에서 중요하다. 우리는 서로 다른 완료 프로토콜을 지원하는 지역 데이타베이스 관리 시스템들을 연합하는 다중 데이타베이스 시스템들을 위한 통합 완료 프로토콜에 대해서도 고려한다. 마지막으로, 우리는 최소한의 노력으로 지역 데이타베이스 시스템들을 다중 데이타베이스 시스템 구조로 통합할 수 있는 몇가지 실용적인 구현 방법들을 설명한다.
결론적으로, 본 논문에서 제안된 트랜잭션 관리 방법들은 최대한의 지역 자치성을 유지하면서 기존의 연구들에서 요구되는 특별한 가정없이 장애 발생에도 불구하고 다중 데이타베이스의 일관성을 보장한다. 제안한 방법들은 또한 지역 데이타베이스 시스템들이 지원하거나 허용하는 트랜잭션 인터페이스 방법에 따라 정의되는 전역 트랜잭션의 유형과 다중 데이타베이스 시스템의 구성 방법 (중앙집중 또는 분산형)에 무관하게 적용될 수 있다.