In recent years, the dramatic growth of electronic commerce has been made by the proliferation of the Internet and the development of communication technologies. Electronic commerce involves the management of business process that support critical business functions, such as issuing purchase order, inventory control and payment transactions, etc. Especially, today''s electronic business processes involve more than one business partner and the processing work flows are very sophisticated. It will be more desirable to support nested transactions for the transaction processing in sophisticated, ad-hoc work flow applications.
The simple control structure of flat global transactions is not sufficient to support sophisticated applications in multidatabase systems. To support sophisticated applications effectively, it is desirable to provide nested transactions. For ensuring consistency of databases against concurrently running nested transactions, a concurrency control scheme is required. Lock inheritance mechanisms that have been proposed to synchronize nested transactions in non-autonomous distributed environments can not be applied to the nested transaction management in multidatabase systems because they can not be working without sacrificing local autonomy.
In this thesis, we propose a new concurrency control scheme for nested transactions in multidatabase systems. Our concurrency control scheme is designed to preserve local autonomy. We introduce two types of serializability as the sufficient correctness criteria for the concurrent execution of nested transactions: intra-transaction serializability and inter-transaction serializability. It is shown that our concurrency control scheme guarantees serializability by proving that our scheme satisfies both types of serializability. Our concurrency control scheme works in one of the important classes of MDBSs, in which all LDBSs employ strict two-phase locking.
We, also, deal with deadlocks that may occur in our concurrency control scheme. Deadlocks are also categorized into two kinds: deadlocks within a nested transaction and deadlocks involving more than one nested transaction. For each kind of deadlocks, a method of detecting a deadlock based on edge chasing is proposed. The proposed detection method is refined to reduce communication overhead and victim selection is discussed.'
최근 몇 년 동안에 인터넷의 급증과 통신 기술의 발전에 힘입어 전자상거래는 괄목할 만한 성장을 보이고 있다. 전자상거래는 기업에 있어서 아주 중요한 업무들, 예를 들어 주문 처리, 재고 관리, 지불 거래 등의 행위를 컴퓨터를 통하여 자동적으로 처리하도록 한다. 특히, 오늘날의 전자상거래는 하나 이상의 거래 대상자와 동시에 상거래 행위를 수행하며 거래 행위의 흐름이 매우 복잡한 특징을 나타내고 있다. 또 하나의 특징은 전자상거래에 참여하는 각 당사자들은 독자적인 데이터베이스를 자치적으로 운영하고 있다고 하는 점이다. 거래 흐름을 예측할 수 없는 복잡한 전자상거래 환경의 트랜잭션 처리를 지원하기 위해서는 중첩 트랜잭션의 기능을 지원하는 것이 바람직하다.
기존의 다중 데이터베이스 시스템에서 연구되었던 단순 전역 트랜잭션의 제어 기능으로는 복잡한 구조를 갖는 실세계의 많은 응용을 지원하기에 한계가 있으므로, 이를 극복하기 위해서는 중첩 트랜잭션의 기능을 지원하는 것이 반드시 필요하다. 동시 병렬적으로 수행되는 중첩 트랜잭션 들에 대하여 데이터베이스의 일치성을 보장하기 위해서는 동시성 제어 기법이 필요하다. 기존의 비자치적 분산 데이터베이스 환경에서 제안되었던 잠금 상속 기법은 지역 자치성을 파괴하지 않고 구현할 수 없으므로 자치성이 보장되는 다중 데이터베이스 환경에 적용할 수 없다.
본 연구에서는 자치성을 갖는 다중 데이터베이스 시스템에서의 중첩 트랜잭션을 위한 동시성 제어 기법을 제안한다. 제안하는 동시성 제어 기법은 지역 자치성을 보장하도록 설계되었다. 동시성 제어 기법을 위한 정확도 기준으로 본 연구에서는 트랜잭션 내부 직렬성과 트랜잭션 외부 직렬성의 두 가지 정확도 기준을 제시한다. 제안하는 동시성 제어 기법이 두 정확도 기준을 만족함을 증명함으로써 병렬 처리되는 중첩 트랜잭션이 직렬성을 보장함을 논리적으로 증명하였다. 본 연구에서 제안하는 동시성 제어기법은 지역 데이터베이스 시스템이 2단계 잠금 기법을 사용하는 환경에서만 작동하며, 이는 거의 모든 상용 데이터베이스 시스템이 채용하고 있는 방법이다.
본 연구에서 제안한 동시성 제어 기법으로 인하여 야기되는 교착상태를 처리하기 위하여 교착상태에 관한 연구도 수행하였다. 교착상태도 트랜잭션 내부 교착상태, 트랜잭션 외부 교착 상태의 두 가지 유형으로 나눌 수 있으며, 잠금 대기 관계에 따라 메시지를 전달하는 대기관계 추적 방법을 교착상태 검출을 위한 방법으로 제안하였다. 또한 트랜잭션의 우선 순위에 기반하여 대기관계 추적의 시작과 중단을 위한 방법을 제안함으로써 메시지 전달을 위한 통신비용 절감을 위한 개선 방법을 제시하였다.
본 연구에서 제안한 동시성 제어 기법과 그에 따른 교착상태 검출 기법은 단순하고 쉽기 때문에 이미 존재하는 어떠한 시스템에도 그대로 적용 가능하다. 또한 직렬성을 보장함을 증명하였으므로 데이터베이스의 일치성 유지에 관한 더 이상의 부가 기능 없이 자치적 환경에서 복잡한 분산 응용을 위한 중첩 트랜잭션의 구현에 이용할 수 있다.