주기억 장치 데이타베이스 시스템을 위한 디스크 그룹 완료 프로토콜

A Disk Group Commit Protocol for Main-Memory Database Systems

  • 이인선 (신구대학 컴퓨터정보처리과) ;
  • 염헌영 (서울대학교 전기 및 컴퓨터공학부)
  • 발행 : 2004.10.01

초록

주기억장치 데이타베이스(Main-Memory DataBase : MMDB) 시스템은 데이타의 모든 부분이 주기억장치에 상주하는 데이타베이스 시스템으로 트랜잭션의 연산 작업중 데이타로 인한 디스크 입출력이 발생하지 않아 기존의 디스크 기반 데이타베이스 시스템에 비해 월등히 향상된 시스템 성능을 가진다. 이러한 MMDB시스템에서 트랜잭션 완료를 위한 디스크 로깅은 필수 불가결한 요소인 한편 트랜잭션수행 과정중 유일한 디스크 작업이 되어 트랜잭션 전체 수행 시간의 많은 부분을 차지하게 되므로 시스템전체 성능을 위해서는 완료 과정의 개선이 아주 중요한 연구 과제가 된다. 로깅 과정의 개선책으로는 여러 방안이 제안되고 있으며, 어떠한 하드웨어를 가정하지 않는 완료과정 개선책중 대표적인 것으로 선-완료(pre-commit)프로토콜과 그룹 완료(group commit) 프로토콜을 들 수 있다. 그러나, MMDB시스템에이 프로토콜들을 적용하여 성능 변화를 분석한 연구는 아직까지 미미한 실정이다. 본 연구에서는 그룹 완료 프로토콜을 자료 경쟁 수준을 고려하지 않고 MMDB 시스템에 적용할 때 교착 상태가 발생 가능함을 밝히고, 실시간으로 다양하게 변하는 자료 경쟁 수준을 가지는 MMDB 시스템에 적합한 그룹 완료 프로토콜인 디스크 그룹 프로토콜 방식을 제안하였다. 그리고, 실질적이고 구체적인 모의실험을 실시하여 그룹완료 프로토콜은 MMDB 시스템의 성능을 위해 효과적인 개선 방식이며, 본 논문에서 제안한 디스크 그룹완료 프로토콜은 시스템의 자료 경쟁 수준을 반영할 필요 없이 항상 우수한 성능을 가짐을 보였다. 또한 선-완료 프로토콜은 단독으로 쓰일 때는 시스템 성능이 개선되지 않으며, 그룹 완료 프로토콜의 보조 수단으로 적용될 때에만 시스템 성능 개선에 효과적임을 밝혔다.

Main-Memory DataBase(MMDB) system where all the data reside on the main memory shows tremendous performance boost since it does not need any disk access during the transaction processing. Since MMDB still needs disk logging for transaction commit, it has become another bottleneck for the transaction throughput and the commit protocol should be examined carefully. There have been several attempts to reduce the logging overhead. The pre-commit and group commit are two well known techniques which do not require additional hardware. However, there has not been any research to analyze their effect on MMDB system. In this paper, we identify the possibility of deadlock resulting from the group commit and propose the disk group commit protocol which can be readily deployed. Using extensive simulation, we have shown that the group commit is effective on improving the MMDB transaction performance and the proposed disk group commit almost always outperform carefully tuned group commit. Also, we note that the pre-commit does not have any effect when used alone but shows some improvement if used in conjunction with the group commit.

키워드

참고문헌

  1. Margaret H. Eich, 'Forward Main Memory Databases : Current and Future Research Issues,' IEEE Trans. on Knowledge and Data Engineering, Vol. 4, No.6, pp.507-508, December 1992 https://doi.org/10.1109/TKDE.1992.10005
  2. Altibase Development Team, 'ALTIBASE System Architecture,' From Altibase mmdb system Homepage
  3. H.V.Jagadish, D.Lieuwen, R.Rastogi, A.Silberschatz. 'Dali: A High Performance Main Memory Storage anager,' Proceedings of the 20th International Conference on Very Large Data Bases, pp.12-15, September 1994
  4. The TimesTen Team, 'In-Memory Data Management for Consumer Transactions The TimesTen Approach,' Proceedings of the ACM SIGMOD/PIDS International Conference on Management of Data, June 1999 https://doi.org/10.1145/304182.304244
  5. P.A. Bernstein, V.Hadzilacos, and N.Goodman, 'Concurrency Control and Recovery in Database Systems,' Addison-Wesley (Reading MA), 1987
  6. Rosennblum M, Bugnion E, Herrod SA, Witchel E, Gupta A, 'The Impact of Architectural Trends on Operating System Performance,' Proceedings of the 1995 Symposium on Operating Systems Principles, ACM Press, pp.285-298, 1995 https://doi.org/10.1145/224056.224078
  7. Wu M, Zwaenepoel W(1994) 'eNVy: A Non-Volatile, Main Memory Storage System,' Proceedings of the 1994 International Conference on Architectural Support for Programming Languages and Operating Systems(ASPLOS), October 1994, ACM Press, pp. 86-97 https://doi.org/10.1145/195473.195506
  8. American Power Conversion(1996), 'The Power Protection Handbook,' Technical report. American Power Conversion, West Kingston, RI
  9. Chen PM, Ng WT, Chandra S, Aycock CM, Rajamani G, Lowell D, 'The Rio File Cache: Surviving Operating System Crashes,' Proceedings of the 1996 International Conference on Architectural Support for Programming Languages and Operating Systems(ASPLOS), ACM Press, pp. 74-83 https://doi.org/10.1145/237090.237154
  10. Wee Teck Ng, Peter M. Chen, 'International Journal on VLDB, Auguest 1998 https://doi.org/10.1007/s007780050063
  11. Margaret H. Eich, 'A classification and comparison of main memory database recovery techniques,'Proceedings of International Conference on Data Engineering, pp.417-424, 1987
  12. H. Garcia-Molina and K. Salem, 'Main Memory Database Systems: An Overview,' IEEE Transactions on' Knowledge and Data Engineering, 4(6), 1993 https://doi.org/10.1109/69.180602
  13. Hector Garcia-Molina, Richard J.Lipton, and Jacobo valdes, 'A Massive Memory Machine,' IEEE Transactions on Computers, Vol. c-33, No.5, pp. 391-399, 1984 https://doi.org/10.1109/TC.1984.1676454
  14. DeWitt. D.J., Katz, RH., Olken. F., Shapiro, L.D., Stonebraker, M. R, and Wood, D., 'Implementation Techniques for Main Memory Database Systems,' Proceedings of SIGMOD '84, pp.1-8, June 1984 https://doi.org/10.1145/602259.602261
  15. Le Gruenwald and Margaret H. Eich, 'MMDB Reload Algorithms,' Proceedings of ACM SIGMOD, pp.397-405, 1991 https://doi.org/10.1145/115790.115858
  16. Lehman, T.J. et al., 'An Evaluation of Starburst's Memory Resident Storage Component,' IEEE Transactions on Knowledge and Data Engineering, Vol. 4, No.6, pp.555-566, Dec. 1992 https://doi.org/10.1109/69.180606
  17. Eliezer Levy and Avi Silberschatz, 'Incremental Recovery in Main memory Database System,' dept. of Computer Sciences University of Texas at Austin, TR-92-01
  18. Xi Li, Margaret H. Eich, 'Post-crash Log Processing for Fuzzy Checkpoing Main Memory Database,' International Conference on Data Engineering, IEEE, pp.117-124, 1993 https://doi.org/10.1109/ICDE.1993.344071
  19. H. V. Jagadish, Avi Siberschatz, and S. Sudarshan, 'Recovering from Main-Memory Lapses,' Proceedings of 19th VLDB conference, pp.391-404, 1993
  20. Tobin J.Lehman, 'Design and performance evaluation of a Main Memory Relational Database Systems,' Ph.D dissertation of computer sciences dept. Univ. of Wisconsin-madison, August 1986
  21. Kenneth Salm, Hector Garcia-Molina, 'System M : A transaction Processing Testbed for Memory Resident Data,' IEEE Trans. on Knowledge and Data Engineering, Vol. 2, No.1, pp.161-172, March 1990 https://doi.org/10.1109/69.50911
  22. Pat Helland, Harald Sammer, Jim Lyon, Richard Carr, Phill Garrett, Andres Reuter, 'Group Commit Timers and High Volume Transaction Systems,' Tandem Technical Report 88.1, March 1988
  23. 우승균, 이윤준, 김명호, '주기억 장치 데이터베이스 시스템에서의 회복 기법에 대한 고찰', 정보화학회지 제14권 제2호, pp.38-46, 1996.2
  24. Ramesh Gupta, Javant Haritsa, Krithi Ramamritham, 'Revisiting Commit Processing in Distributed Database Systems,' Proceedings of the 1997 ACM SIGMOD, PP.486-497, 1997 https://doi.org/10.1145/253260.253366
  25. Stephen Blott, Henry F. Korth, 'Almost-Serial Protocol for Transaction Execution in Main-Memory Database Systems,' Proceedings of the International Conference on VLDB, August 2002
  26. Gawlick, Dieter, and David. Kinkade, 'Varieties of Concurrency Control in IMS/VS FastPath,' IEEE Database Engineering, Vol.8, No.2, pp.3-10, June 1985
  27. Robert Hagmann, 'Reimplementing the Cedar File system Using Logging and Group Commit,' Proceedings of 11th Symposium on Operating System Principles, pp.155-162, November 1987 https://doi.org/10.1145/41457.37518
  28. J.Baulier, P.Bohannon, S.Gogate, C.Gupta, S.Haldar, S.Joshi, A.Khivesera, H.F.Korth, P.Mcllroy, J.Miller, P.P.S.Narayan, M.Nemeth, R.Rastogi, S.Seshadri, A.Silberschatz, S.Sudarshan, M.Wilder, C.Wei, 'Datablitz storage manager: Main memory database performance for critical applications,' In Proceedings of the ACM SIGMOD/PIDS International Conference on the Management of Data, June 1999 https://doi.org/10.1145/304182.304239
  29. Jerry Baulier, Stephen Blott, Henry F.Korth, Avi Silberschatz, 'A Database System for Real-Time Event Aggregation in Telecommunication,' In Proceedings of the International Conference on VLDB Industrial track paper, August 1998
  30. Bruce L. Worthington, Gregory R. Ganger, Yale N. Patt, John Wilkes, 'On-Line Extraction of SCSI Disk Drive Parameters,' Proceedings of the ACM Sigmetrics, 1995 https://doi.org/10.1145/223587.223604
  31. H. Schewetman, 'CSIM user's guide for use with CSIM revision16,' MCC, June, 1992
  32. Margaret H. Dunham, Jun-Lin Lin, and Xi Li, 'Fuzzy Checkpointing Alternatives for Main Memory Databases,' Recovery Mechanism in Database Systems, Prentice-Hall, 1997
  33. Le Gruenwald and Sichen Liu, 'A performance Study of Concurrency Control in a Real-Time Main Memory Database System,' SIGMOD Record, Vol.22, No.4, pp.38-44, December 1993 https://doi.org/10.1145/166635.166650
  34. Juchang Lee, Kihong Kim, Sang K.Cha, 'Differential Logging: A Commutative and Associative Logging Scheme for Highly Parallel Main Memory Database,' Proceedings of International. Conference on Data Engineering, pp.73-183, 2001 https://doi.org/10.1109/ICDE.2001.914826
  35. Konstantin Knizhnik, 'FastDB Main Memory Database Management System,' From FastDB Homepage