초록
데이타베이스 공유 시스템(DSS)은 고성능 트랜잭션 처리를 위하여 여러 개의 처리 노드를 연결한 구조로서, 각 노드는 데이타베이스를 저장한 디스크를 공유한다. DSS를 구성하는 노드들이 고장날 경우 데이타베이스를 정확한 상태로 복구하기 위한 회복 과정이 필요한데 DSS에서 회복 작업은 하나의 노드로 구성된 일반적인 데이타베이스 시스템보다 많은 시간이 소요된다. 그 이유는 데이타베이스를 회복하기 위해 여러 노드에 나누어 저장된 로그들을 병합하여야 하며, 병합된 로그들을 이용하여 REDO 작업을 수행하여야 하기 때문이다. 본 논문에서는 Oracle 9i Real Application Cluster (ORAC)에서 제안된 캐쉬 연합 알고리즘의 성능을 개선한 2VC(Two Version Caching) 알고리즘을 제안한다. 2VC는 단일 노드 고장에 대한 회복 작업에서 로그 병합 과정을 생략할 수 있으므로 빠른 데이타베이스 회복을 지원할 수 있다는 장점을 갖는다. 뿐만 아니라, ORAC에서 발생하는 불필요한 디스크 기록 오버헤드를 줄임으로써 정상적인 트랜잭션 처리의 성능을 향상시킬 수 있다.
A database sharing system (DSS) couples a number of computing nodes for high performance transaction processing, and each node in DSS shares database at the disk level. In case of node failures in DSS, database recovery algorithms are required to recover the database in a consistent state. A database recovery process in DSS takes rather longer time compared with single database systems, since it should include merging of discrete log records in several nodes and perform REDO tasks using the merged lo9 records. In this paper, we propose a two version caching (2VC) algorithm that improves the cache fusion algorithm introduced in Oracle 9i Real Application Cluster (ORAC). The 2VC algorithm can achieve faster database recovery by eliminating the use of merged log records in case of single node failure. Furthermore, it can improve the performance of normal transaction processing by reducing the amount of unnecessary disk force overhead that occurs in ORAC.