Partial Rollback in Object-Oriented Database Management Systems

객체지향 데이터베이스 관리 시스템에서의 부분 철회

  • 김원영 (한국전자통신연구원) ;
  • 이영구 (한국과학기술원 전자전산학과 전산학전공/첨단정보기술연구센터) ;
  • 황규영 (한국과학기술원 전자전산학과 전산학전공/첨단정보기술연구센터)
  • Published : 2000.12.01

Abstract

In database management systems(DBMSs), partial rollback is a useful facility that cancels part of the executed operations upon user's requests without a total rollback. Many relational DBMSs(RDBMSs) provide this facility, However, object-orientccd DBMSs (OODBMSs) cannot utilize the previous recovery scl18lne of partial rollback usccd in (RDBMSs) since, unlike RDBMSs, they use a dual buffer consisting of an object buffer and a page buffer. Therefore, a new recovery scheme is required that rolls back the data efficiently in the dual buffer. We propose four partial rollback schemes in OODBMSs that use a dual buffer. We classify the proposed schemes into the single buffer based partial rollback scheme and the dual buffer based partial rollback scheme according to the number of buffers used for partial rollback processing. We further classify them into Uthe page buffer based partial rollback scheme, 2)the object buffccr based partial rollback scheme, 3)the dual buffer based partial rollback scheme using soft log, and 4)the dual buffer based partial rollback scheme using shadows. We evaluate the performance by mathematical analysis and experiments. The results show that the dual buffer based partial rollback scheme using shadows provides the best performance.

데이터베이스 관리 시스템(DBMS)에서의 부분 철회는 수행 중인 트랜잭션 전체를 철회하지 않고 일부분만을 철회할 수 있는 유용한 기능으로 많은 관계형 DBMS(RDBMS)에서 지원되고 있다. 그러나, RDBMS와는 달리 객체지향 DBMS(OODBMS)에서는 객체 버퍼와 페이지 버퍼로 구성되는 이중의 버퍼구조를 유지하므로 페이지 버퍼만을 유지하는 RDBMS에서 사용하던 기존의 부분 철회 방식을 그대로 이용할 수 없다. 따라서, 이러한 이중 버퍼 내의 데이터를 효과적으로 부분 철회할 수 있는 새로운 회복 방법이 필요하다. 본 논문에서는 이중 버퍼구조를 사용하는 OODBMS를 위한 네가지 부분 철회 방식들을 제안한다. 제안된 부분 철회 방식들은 부분 철회의 주요 대상인 버퍼의 구조에 따라 단일 버퍼 기반 부분 철회, 소프트 로그를 이용한 이중 버퍼 기반 부분 철회, 그리고 섀도우를 이용한 이중 버퍼기반 부분 철회 방식으로 세분화한다. 수학적 분석 및 실험을 통한 성능 평가에 의하면 이중 버퍼 기반 부분 철회 방식의 성능이 가장 우수한 것으로 나타났다.

Keywords

References

  1. Bernstein, P.A., Hadzilacos, V., and Goodman, N., Concurrency Control and Recovery in Database Systems, Addison-Wesley, 1987
  2. Gray, J. and Reuter, A., Transaction Processing: Concepts and Techniques, Morgan Kaufmann, 1993
  3. Mohan, C. et al., 'ARIES: A Transaction Recovery Method Supporting Fine Granularity Locking and Partial Rollback Using Write Ahead Logging,' ACM Trans. on Database Systems, Vol. 17, No. 1, pp. 94--162, Mar. 1992 https://doi.org/10.1145/128765.128770
  4. Gray, J. et al., 'The Recovery Manager of the System R Database Manager,' ACM Computing Surveys, Vol. 13, No. 2, pp. 223--242, June 1981 https://doi.org/10.1145/356842.356847
  5. Oracle, Inc., Oracle8 Server Concepts Relases 8.0, Vol. 2, Part No. D009-350-9602-2, 1993
  6. Sybase, Inc., Sybase SQL Server Reference Manual, Doc. 32401-01-1000-02, 1993
  7. UniSQL, Inc., UniSQL/X User's Manual, Doc. D009-350-9602-2, 1996
  8. Kemper, A. and Kossman, D., 'Adaptable-Pointer Swizzing Strategies in Object Bases,' In Proc. Tenth Int'l Conf. on Data Engineering, IEEE, pp. 155--162, Apr. 1993
  9. Kim, W., Introduction to Object-Oriented Databases, Computer System Series, The MIT Press, 1st ed., 1990
  10. Loomis, M.E.S., Object Databases: The Essentials, Addison-Wesley, 1995
  11. Ozsu, M.T., Dayal, U., and Valduriez, P., Distributed Object Managment, Morgan Kaufmann, 1994
  12. Franklin, M.J., Carey, M.J., and Livny, M., 'Transactional Client-Server Cache Consistency: Alternatives and Performance,' ACM Trans. on Database Systems, Vol. 22, No. 3, pp. 315--363, Sept. 1997 https://doi.org/10.1145/261124.261125