Design and Implementation of an Unnesting Front-End Module for an OQL Query Processor

OQL 질의 처리기를 위한 중첩 질의 구조 제거용 전위 모듈의 설계 및 구현

  • 정승진 (서울대학교 컴퓨터공학과) ;
  • 정진완 (한국과학기술원 전산학과) ;
  • 김형주 (서울대학교 컴퓨터공학과)
  • Published : 2000.02.15

Abstract

Many object query languages including OQL(the query language proposed by theOBMG) allow query block to be nested in any clause: select clause, from clause and where clause. The processing of nested queries can affect the performance of its query processor Therefore, an OQL query processor should have effective optimizing techniques for nested queries. This paper designs and implements a new framework of an unnesting front-end for an OQL query processor This unnesting module can minimize implementation overhead when developing a new OQL processor or extending an existing query processor to be equipped with an unnesting facility This is accomplished by separation between logical algebra operators used in an unnesting front-end and ones in a query optimizer.

ODMG의 표준 객체 질의어인 OQL을 비롯하여, 최근 여러 객체 질의어에서는 위치에 관계없이 select, from, where절 어디서나 중첩구조를 자유롭게 허용하여 여러가지 복잡하고 다양한 형태의 중첩 질의(nested query)를 표현할 수 있도록 하고 있다. 이러한 중첩 질의는 질의 처리기(query processor)의 성능에 중요한 영향을 끼치므로, OQL 질의 처리기에서는 다양한 형태의 중첩 질의를 최적화하는 방안을 반드시 마련하고 있어야 한다. 본 논문은 중첩 OQL 질의의 최적화 기능을 제공하는 중첩질의 구조 제거용 전위 모듈(unnesting front-end)을 설계, 구현하였으며, 이를 이용하여 중첩 질의 처리 능력을 가진 질의 처리기를 새롭게 구현하거나 이미 존재하는 질의 처리기를 확장하여 중첩 질의 처리 기능을 추가하고자 할 때, 중첩 구조 제거(unnesting)를 위한 구현자의 구현 부담을 최소화할 수 있도록 하였으며, 이는 중첩 질의 구조 제거용 전위 모듈에서 사용하는 대수 연사자와 질의 최적화 모듈에서 사용하는 대수 연사자(algebraic operator)를 분리함으로써 가능했다.

Keywords

References

  1. R G. G. Cattell and D. K. Barry, editors. The Object Database Standard: ODMG 2.0 Morgan Kaufmann, San Francisco, 1997
  2. Won Kim. On Optimizing an SQL-like Nested Query. ACM Transactions on Database Systems, 7(3):443-469, September 1992 https://doi.org/10.1145/319732.319745
  3. W. Kiessling. SQL-like and Quel-like Correlation Queries with Aggregates Revisited. Technical Report TR-8, University of California (Berkeley CA), Elec. Research Laboratory, September 1984
  4. R.A. Ganski and H.K.T. Wong. Optimization of Nested SQL Queries Revisited. In ACM SIGMOD Conf. on the Management of Data 87., May 1987
  5. U. Dayal. Of Nests and Trees: A Unified Approach to Processing Queries that Contain Nested Subqueries, Aggregates, and Quantifiers. In P. Hammersley, editor, vldb, pages 197-208, Brighton, England, September 1987
  6. M. Muralikrishna. Optimization and Dataflow Algorithms for Nested Tree Queries. In Peter M. G. Apers and Gio Wiederhold, editors, Proceedings of the Fifteenth International Conference on Very Large Data Bases, pages 77-85, Amsterdam, The Netherlands 22-25 August 1989. Morgan Kaufmann
  7. M. Muralikrishna. Improved Unnesting Algorithms for Join Aggregates SQL Queries. In Proceedings of the 18th Conference on Very Large Databases, Morgan Kaufmann pubs. (Los Altos CA), Vancouver, August 1992
  8. Sophie Cluet and Guido Moerkotte. Nested Queries in Object Bases. In dbpl, September 1993
  9. Hennie J. Steenhagen, Peter M. G. Apers. Henk M. Blanken, and Rolf A. de By. From Nested Loop to Join Queries in OODB. In Proceedings of the Twentieth International Conference on Very Large Databases, pages 618-629, Santiago, Chile, 1994
  10. L. Fegaras and D. Maier. Towards an Effective Calculus for Object Query Languages. In ACM SIGMOD International Conference on Management of Data, San Jose, California, May 1995 https://doi.org/10.1145/568271.223789
  11. Leonidas Fegaras. Query Unnesting in Object-Oriented Databases. In Proceedings of the ACM SIGMOD International Conference on Management of Data (SIGMOD-98), volume 27,2 of ACM SIGMOD Record, pages 49-60, New York, June 1-4 1998. ACM Press https://doi.org/10.1145/276304.276310
  12. L. Fegaras. An Experimental Optimizer for OQL. Technical Report TR-CSE-97-007, Department of Computer Science and Engineering, University of Texas at Arlington, 1997
  13. 박호현, 홍남희, 박창원, 정진완. OMEGA에서의 공간 객체 대수 및 질의 언어. Technical Report CS/TR-97-118, Department of Computer Science, KAIST, 12월 1997년
  14. Jan Paredaens and Dirk van Gucht. Converting nested algebra expressions into flat algebra exrpessions. ACM Trans. on Database Systems, March 1992 https://doi.org/10.1145/128765.128768
  15. G. Graefe and W. J. McKenna. The Volcano Optimizer Generator: Extensibility and Efficient Search. In Proc. of IEEE ICDE, 1993 https://doi.org/10.1109/ICDE.1993.344061