Design and Implementation of an Index Manager for a Main Memory DBMS

주기억장치 DBMS를 위한 인덱스 관리자의 설계 및 구현

  • 김상욱 (강원대학교 컴퓨터정보통신공학부) ;
  • 염상민 (강원대학교 컴퓨터정보통신공학부) ;
  • 김윤호 (강원대학교 컴퓨터정보통신공학부) ;
  • 이승선 (한국전자통신연구원 실시간 DBMS 팀) ;
  • 최완 (한국전자통신연구원 실시간 DBMS 팀)
  • Published : 2000.04.01

Abstract

The main memory DBMS(MMDBMS) efficiently supports various database applications that require high performance since it employs main memory rather than disk as a primary storage. In this paper, we discuss theexperiences obtained in developing the index manager of the Tachyon, a next-generation MMDBMS. The indexmanager is an essential sub-component of the DBMS used to speed up the retrieval of objects from a largevolume of a database in response to a certain search condition. Previous research efforts on indexing proposed various index structures. However, they hardly dealt with the practical issues occured in implementating an index manager on a target DBMS. In this paper, we touch these issues and present our experiences in developing the index manager on the Tachyon as solutions. The main issues touched are (1) compact representation of an indexentry, (2) support of variable-length keys, (3) support of multiple-attribute keys, (4) support of duplicated keys,(5) definition of external APls, (6) concurrency control, and (7) backup and recovery. We believe that ourcontribution would help MMDBMS developers highly reduce their trial-and-errors.

주기억장치 DBMS(MMDBMS)는 디스크가 아닌 주기억장치를 주요 저장 매체로서 사용하므로 고속의 처리를 요구하는 다양한 데이터베이스 응용을 효과적으로 지원한다. 본 논문에서는 차세대 MMDBMS Tachyon의 인덱스 관리자 개발에 관하여 논의한다. 인덱스 관리자는 객체에 대한 빠른 검색 기능을 지원하는 필수적인 DBMS 서브 컴포넌트이다. 기존의 연구 결과로서 다양한 인덱스 구조가 제안된 바 있으나, 실제 DBMS 상에서 인덱스 관리자를 개발하는 경우에 발생하는 실질적인 이슈들에 대해서는 거의 언급하고 있지 않다. 본 논문에서는 Tachyon의 인덱스 관리자의 개발 중에 경험한 실질적인 구현 이슈들을 언급하고, 이들에 대한 해결 방안을 제시한다. 본 논문에서 다루는 주요 이슈들은 (1) 인덱스 엔트리의 집약적 표헌, (2) 가변 길이 키의 지원, (3) 다중 애트리뷰트 키의 지원, (4) 중복 키의 지원, (5) 외부 API의 정의, (6) 동시성 제어, (7) 백업 및 회복 등이다. 본 연구 결과를 통하여 향후 MMDBMS 개발자들의 시행 착오를 최소화할 수 있으리라 생각된다.

Keywords

References

  1. The Art of computer Programming D. Knuth
  2. In Proc. Intl. Conf. on Very Large Data Bases Granularity of Locks in a Shared Data Base J. Gray(et al.)
  3. Comm. of the ACM v.19 no.11 The Notion of Consistency and Predicate Locks in a Database System K. P. Eswaran(et al.)
  4. ACM Computing Surveys v.10 no.2 Recovery Techniques for Database Systems J. S. M. Verhofstad
  5. ACM Computing Surveys v.11 no.2 The Ubiquitous B-Trees D. Comer
  6. ACM Trans. on Database Systems v.4 no.3 Extendible Hashing : A Fast Access Method for Dynamic Files R. Fagin(et al.)
  7. In Proc. Intl. Conf. on Very Large Data Bases Linear Hashing : A New Tool for File and Table Addressing W. Litwin
  8. ACM Computing Surveys v.15 no.4 Principles of Transaction-Oriented Recovery T. Haeder;A. Reuter
  9. In Proc. Intl. Conf. on Management of Data Implementation Techniques for Main Memory Database Systems D. DeWitt(et al.)
  10. In Proc. Intl. Conf. on COMPCON Design of a Memory Resident DBMS A. Ammann;M. Hanrahan;R. Krishnamurthy
  11. In Proc. Intl. Conf. on Very Large Data Bases A Study of Index Structures for Memory Database Management Systems T. Lehman;M. Carey
  12. Concurrency Control and Recovery in Database Systems P. Bernstein;V. Hadzilacos;N. Goodman
  13. In Proc. Intl. Conf. on Management of Data A Recovery Algorithm for a High-Performance Memory Resident Database System T. Lehman;M. Carey
  14. ACM SIGMOD Record v.17 no.1 Special Issue on Real-Time Databaes Systems S. H. Son(ed)
  15. IBM Research Report RJ 6846 ARIES/IM: An Efficient and High Concurrency Index Management Method Using Write-Ahead Logging C. Mohan;F. Levine
  16. IEEE Trans. on Knowledge and Data Engineering v.4 no.6 Main Memory Database Systems: An Overview H. Garcia-Molina;K. Salem
  17. ACM Trans. on Database Systems v.17 no.1 ARIES: A Transaction Recovery Method Supporting Fine-Granularity Locking and Partial Rollacks Using Write-Ahead Logging C. Mohan(et al.)
  18. Transaction Pressing : Concepts and Techniques J. Gray;A. Reuter
  19. Fundamentals of Data Structures in C E. Horowitz;S. Sahni;S. Freed
  20. Funamentals of Database Systems(second Edition) Elmasri, R.;Navathe, S. B.
  21. In Proc. Intl. Conf. on Asia-Pacific Conference on Communications v.APCC-97 Scalable Architectue for Distributed Real-Time Operating Systems B. G. Jung(et al.)
  22. In Proc. IEEE Global Telecommunications Conference SROS: A Dynamically Scalable Distributed Real-Time Operating System for ATM Switching Network S. I. Jun(et al.)