데이타베이스 관리 시스템에서의 적응형 로크 상승

Adaptive Lock Escalation in Database Management Systems

  • 장지웅 (한국과학기술원 전자전산학과) ;
  • 이영구 (한국과학기술원 전자전산학과) ;
  • 황규영 (한국과학기술원 전자전산학과) ;
  • 양재헌 (한국과학기술원 전자전산학과)
  • Chang, Ji-Woong (Dept. of Electronic Computer Science, Korea Advanced Institute of Science and Technology) ;
  • Lee, Young-Koo (Dept. of Electronic Computer Science, Korea Advanced Institute of Science and Technology) ;
  • Whang, Kyu-Young (Dept. of Electronic Computer Science, Korea Advanced Institute of Science and Technology) ;
  • Yang, Jae-Heon (Dept. of Electronic Computer Science, Korea Advanced Institute of Science and Technology)
  • 발행 : 2001.12.01

초록

데이타베이스 관리 시스템에서 한계 이상의 로크요청이 발생하는 경우에는 트랜잭션이 철회된 다 최악의 경우에는 트랜잭션들이 연속적으로 철회되어 시스템이 정지된 것과 같이 어느 트랜잭션도 완료 하지 못하는 현상이 발생할 수 있다. 이 문제점을 해결하기 위하여 로크상승을 사용하지만 기존의 로크상 승 방법들은 문제를 완전히 해결하지는 못한다. 본 논문에서는 이 문제를 해결하기 위하여 적응형 로크상승 기법을 제안한다. 먼저 로크상승에 대한 체 계적인 모델과 로크자원의 부족으로인한 트랜잭션 철회의 주 발생 원인인 상승불가능 로크의 개념을 제안 한다 또한 상승불가능 로크의 수를 제어하기 위한 해결책으로 준로크상승, 로크블로킹, 선택적 강제수행의 개념을 제안하고, 이를 적응형 로크상승 기법에 적용한다. 적응형 로크상승 기법은 불필요한 트랜잭션 털 회를 감소시키며 과다한 로크요청 상황에서 시스템의 성능을 단계적으로 저하시키면서 시스템이 정지되는 현상이 발생하지 않음을 보장한다. 적용형 로크상승 기법의 성능을 검중하기 위하여 시뮬레이션을 통한 실험을 수행하였다. 실험결과 적응형 로크상승 기법은 기존의 로크상승 방법을 사용하는 경우에 비하여 트랜잭션의 철회와 평균 응답시간을 크게 줄이고, 단위 시간당 트랜잭션 처리율을 향상시켰다. 특히 동시에 수행할 수 있는 트랜잭션의 수가 15 에서 256배 이상 증가하는 것을 보였다. 본 논문은 모호하게 인식되던 로크자원 관리 측면에서의 로크상승의 역할을 체계적으로 규명하고 상세 한 작동원리를 명확히 했다는 점에서 커다란 의의가 있다. 기존의 로크상승 방법들은 과다한 로크요청이 발생할 때의 문제를 사용자 또는 시스템관리자의 책임으로 처리한다. 반면에 적응형 로크상승 기법은 과다 한 로크요청이 발생할 때의 문제를 자동적으로 조절하므로 사용자의 부담을 크게 감소시킨다. 따라서 최근 에 많은 관심이 모아지고 있는 자체조율(self-tuning)이 가능한 데이타베이스 관리 시스템 개발에 공헌할 것이다

Since database management systems(DBMSS) have limited lock resources, transactions requesting locks beyond the limit mutt be aborted. In the worst carte, if such transactions are aborted repeatedly, the DBMS can become paralyzed, i.e., transaction execute but cannot commit. Lock escalation is considered a solution to this problem. However, existing lock escalation methods do not provide a complete solution. In this paper, we prognose a new lock escalation method, adaptive lock escalation, that selves most of the problems. First, we propose a general model for lock escalation and present the concept of the unescalatable look, which is the major cause making the transactions to abort. Second, we propose the notions of semi lock escalation, lock blocking, and selective relief as the mechanisms to control the number of unescalatable locks. We then propose the adaptive lock escalation method using these notions. Adaptive lock escalation reduces needless aborts and guarantees that the DBMS is not paralyzed under excessive lock requests. It also allows graceful degradation of performance under those circumstances. Third, through extensive simulation, we show that adaptive lock escalation outperforms existing lock escalation methods. The results show that, compared to the existing methods, adaptive lock escalation reduces the number of aborts and the average response time, and increases the throughput to a great extent. Especially, it is shown that the number of concurrent transactions can be increased more than 16 ~256 fold. The contribution of this paper is significant in that it has formally analysed the role of lock escalation in lock resource management and identified the detailed underlying mechanisms. Existing lock escalation methods rely on users or system administrator to handle the problems of excessive lock requests. In contrast, adaptive lock escalation releases the users of this responsibility by providing graceful degradation and preventing system paralysis through automatic control of unescalatable locks Thus adaptive lock escalation can contribute to developing self-tuning: DBMSS that draw a lot of attention these days.

키워드

참고문헌

  1. Gray, J. and Reuter, A.. Transaction Processing: Concepts and Technology. Morgan Kaufmann, 1993
  2. IBM. IBM DB2 Universal Database Administration Guide. Version 6, ftp://ftp.software.jbm.com/ps/products/db2/info/vr6/htm/db2d0/index.htm. 2000
  3. Bernstein. P. and Schkolnick, M., Concurrency Control and Recovery in Database Systems, Addison-Wesley. 1987
  4. Gray. J., Lorie, H., and Putzolu, G., Granularity of Locks in a Shared Data Base. In Proc. Int'l Conf. on Very Large Data Bases. Boston. pp. 428-451. Sept. 1975
  5. UniSQL. Database Administration Guide (All Products). 1996
  6. Bell, D. and Grimson, J., Distributed Database Systems, Addison-Wesley, 1992
  7. Papadimitriou, C., The Theory of Database Concurrency Control. Computer Science Press. 1986
  8. Ries. D. R. and Stonbraker, M. R, Locking Granularity Revisited. ACM Trans. on Database Systems, Vol. 4, No.2, pp. 210-227. 1979 https://doi.org/10.1145/320071.320078
  9. Kohler, W., Wilner, K, and Stankovic, J., An Experimental Comparision of Locking Policies in a Testbed Database System, In Proc. Int'l Conf. on Management of Data. ACM SIGMOD, San Jose. California. pp, 108-119, May, 1983
  10. Ries, D. R. and Stonbraker, M. R, Effects of Locking Granularity in a Database Management System, ACM Trans. on Database Systems. Vol. 2. No.3. pp. 233-246, 1977 https://doi.org/10.1145/320557.320566
  11. Korth, E., Deadlock Freedom Using Edge Locks. ACM Trans. on Database Systems. Vol. 7, No.4, pp. 632-652, 1982 https://doi.org/10.1145/319758.319772
  12. Carey, M., Granularity Hierarchies in Concurrency Control, In Proc. ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems, pp. 156-165, 1983 https://doi.org/10.1145/588058.588079
  13. Eswaran, K. P. et aI., The Notion of Consistency and Predicate Locks in a Database System, Comm. of the ACM, Vol. 19. No. 11, pp. 624-633, Nov. 1976 https://doi.org/10.1145/360363.360369