An Efficient Scheme of Performing Pending Actions for the Removal of Datavase Files

데이터베이스 파일의 삭제를 위한 미처리 연산의 효율적 수행 기법

  • Published : 2001.09.01

Abstract

In the environment that database management systems manage disk spaces for storing databases directly, this paper proposes a correct and efficient scheme of performing pending actions for the removal of database files. As for performing pending actions, upon performing recovery, the recovery process must identify unperformed pending actions of not-yet-terminated transactions and then perform those actions completely. Making the recovery process identify those actions through the analysis of log records in the log file is the basic idea of this paper. This scheme, as an extension of the execution of transactions, fuzzy checkpoint, and recovery of ARIES, uses the following methods: First, to identify not-yet-terminated transactions during recovery, transactions perform pending actions after writing 'pa_start'log records that signify both the commit of transactions and the start of executing pending actions, and then write 'eng'log records. Second, to restore pending-actions-lists of not-yet-terminated transactions during recovery, each transaction records its pending-actions-list in 'pa_start'log record and the checkpoint process records pending-actions-lists of transactions that are decided to be committed in 'end_chkpt'log record. Third, to identify the next pending action to perform during recovery, whenever a page is updated during the execution of pending actions, transactions record the information that identifies the next pending action to perform in the log record that has the redo information against the page.

본 논문은 데이터베이스 관리시스템이 데이터베이스를 저장할 디스크 공간을 직접 관리하는 환경에서 데이터베이스 파일들의 삭제를 위해 미처리 연산을 정확하고 효율적으로 수행하는 기법을 제시한다. 미처리 연산의 수행과 관련하여 회복시에 회복 프로세스는 완료가 결정되었으나 아직 종료하지 않은 미종료 트랜잭션들의 아직 수행되지 않은 미처리 연산들을 식별하고 이들을 완전히 수행할 수 있어야 한다. 본 논문의 기본아이디어는 로그 파일에 기록된 로그레코드들을 분석함으로써 회복 프로세스가 그 연산들을 식별할 수 있게 하는 것이다. 이 기법은 ARIES의 트랜잭션, 퍼지 검사점, 그리고 회복의 수행을 확장한 것으로서 다음의 방법을 사용한다. 첫째, 회복시에 미종료 트랜잭션들을 식별하기 위하여, 각 트랜잭션은 트랜잭션의 완료와 미처리 연산 수행의 시작을 함께 나타내는 미처리연산수행시작('pa-start') 로그레코드를 기록한 후에 미처리 연산을 수행하며, 그리고 나서 트랜잭션 종료 로그레코드를 기록한다. 둘째. 회복시에 미종료 트랜잭션들의 미처리 연산 리스트를 복구하기 위하여, 각 트랜잭션은 미처리 연산수행시작 로그레코드에 그 트랜잭션의 미처리 연산 리스트를 수록하며 퍼지 검사점은 검사점종료 로그레코드에 완료가 결정된 트랜잭션의 미처리 연산 리스트를 수록한다. 셋째, 회복시에 다음에 수행할 미처리 연산을 식별하기 위하여, 각 트랜잭션은 미처리 연산을 수행하면서 변경하는 각 페이지에 대하여 그 페이지에 대한 재수행 정보를 기록하는 로그레코드에 다음에 수행할 미처리 연산의 식별 정보를 함께 수록한다.

Keywords

References

  1. M. O. Chae, K. H. Hong, M. Y. Lee, J. Kim, O. J. Cho, S. T. Jun and Y. K. Kim, 'Design of the Object Kernel of BADA-III: An Object-Oriented Database Management System for Multimedia Data Services,' The 1995 Workshop on Network and Systems Management, August 1995
  2. M. Carey et. al., 'Object and File Management in the EXODUS Extensible Database System,' In Proceedings 12th International Conference on Very Large Data Bases, pp. 91-100, 1986
  3. M. Carey et. al., 'Shoring Up Persistent Applications,' In Proceedings ACM SIGMOD International Conference on Management of Data, Vol. 23, No. 2, pp. 383-394, 1994 https://doi.org/10.1145/191843.191915
  4. M. Chou et. al., 'Design and Implementation of the Wisconsin Storage System,' Software Practice and Experience, Vol. 15, No. 10, pp. 943-962, 1985 https://doi.org/10.1002/spe.4380151003
  5. R. Dey, M. Shan, and I. Traiger, 'Method for dropping data sets,' IBM Tech. Disclosure Bull. 25, 11A, pp. 5453-5455, April 1983
  6. J. Gray and A. Reuter, Transaction Processing: Concepts and Techniques, Morgan Kaufmann Publishers, Inc., pp. 851-886, 1993
  7. INFOMIX-Universer Server Administrator's Guide, INFORMIX Press, 1997
  8. W. Kim, Introduction to Object-Oriented Databases, The MIT Press, 1990
  9. C. Mohan, D. Haderle, B. Lindsay, H. Pirahesh. and P. Schwarz, 'ARIES: A Transaction Recovery Method Supporting Fine-Granularity Locking and Partial Rollbacks Using Write-Ahead Logging,' ACM Transactions on Database Systems, Vol. 17, No. 1, 1992 https://doi.org/10.1145/128765.128770
  10. Microsoft SQL SERVER Administrator's Companion 6.0, Microsoft Corporation
  11. C. Mohan and F. Levine, 'ARIES/IM: An Efficient and High Concurrency Index Management Method Using Write-Ahead Logging,' In Proceedings ACM SIGMOD International Conference on Management of Data, pp. 371-380, June 1992 https://doi.org/10.1145/130283.130338
  12. 박성철, 박영철, 김완석, '바다-II의 트랜잭션 처리', 데이타베이스 연구회지, 제 12권 4호, pp. 76-96, 1996년 12월
  13. 박영철, 김강호, '바다-II의 배타적 래취와 공유 래취의 설계및 구현', 데이타베이스 연구회지, 제 11권 2호, pp. 111-133, 1995년 7월
  14. 박영철, 박준현, 김준, 이진수, '허상 트랜잭션: 퍼지 검사점에 따른 회복의 문제점', 정보과학회논문지(B), 제 25권 3호, pp. 426-443, 1998년 3월
  15. Y. C. Park, J. H. Park and D. Y. Huh, 'Mini-Savepoints: Firewall for Atomic Updates,' In Proceedings 5th International Conference on Database System For Advanced Applications, Melbourne, Australia, pp. 293-302, April 1997
  16. 박준현, 박영철, '상태미반영 로그레코드: 퍼지 검사점과 트랜잭션의 비동기 수행에 따른 회복의 문제점', 정보과학회논문지(B), 제26권 5호, pp. 621-638, 1999년 5월
  17. 박준현, 박영철, '바다-II에서 저장점과 부분 복귀의 설계와 구현', 정보과학회논문지: 데이타베이스, 제 27권 3호, pp.578-600, 2000년 9월
  18. 박준현, 박영철, 이진수, '$B^+$-트리에서 키와 구분자의 저장과 탐색', 정보과학회논문지(C), 제 3권 6호, pp. 568-580, 1997년 12월
  19. 박준호, 박성철, 심광훈, 성준화, 박영철, 'GIS 응용을 위한 바다-III의 다단계 사전인출과 지연쓰기의 설계 및 구현', 한국지리정보학회지, 제 1권 2호, pp. 67-79, 1998년 12월
  20. P. J. Peterson and J. P. Strickland, 'Log Write-Ahead Protocols and IMS/VS Logging,' In Proceedings 2nd ACM SIGACT-SIGMOD Symposium on Principles of Database Systems, Atlanta, March 1983 https://doi.org/10.1145/588058.588085
  21. UniSQL/X User's Manual, UniSQL, Inc., 1996
  22. Proceedings 2nd ACM SIGACT-SIGMOD Symposium on Principles of Database Systems P.J.Peterson;J.P.Strickland
  23. UniSQL/X User's Manual