초록
온라인 분석 처리(On-Line Analytical Processing)에서는 다양한 분석을 효과적으로 처리하기 위해, 다차원 구조의 데이터를 연(column)에 에트리뷰트 값이 표시되는 넓은 형태의 수평 테이블로 표현한다. 관계형 테이블들은 보통 에트리뷰트의 개수에 제한이 있으므로(MS SQLServer와 Oracle은 1,024개 컬럼으로 제한), 이러한 수평 테이블을 직접 저장하기 어렵다. 본 연구에서는 상용 RDBMS에서 제공하는 PIVOT 연산을 이용하여 수평 테이블에 대한 질의를 저장된 수직 테이블에 대한 질의로 변환하는 효율적인 최적화 실행 전략을 제시한다. 우선, 관계 데이터베이스에서 수평 테이블을 차원의 이름을 열로 갖는 수직 테이블로 저장하고, 수평 테이블에 대한 질의를 수직 테이블에 대한 질의로 변환하는 다양한 최적화 전략을 제시한다. 특히, 관계 연산(셀렉션, 프로젝션, 조인 등)에 대한 여러 변환 방법을 제안한다. 이때, 변환된 질의는 여러 가지 방법으로 수행할 수 있으며, 각 방법에 따라 수행 시간이 서로 다르다. 그러므로 PIVOT 연산을 사용하여 변환된 질의를 수행하는 최적화 전략을 제시한다. 마지막으로, 다양한 실험을 통해 여러 질의 트리의 방법에 따라 수행 시간을 측정하여 비교 평가한다.
For effective analyses in various business applications, OLAP(On-Line Analytical Processing) systems represent the multidimensional data as the horizontal format of tables whose columns are corresponding to values of dimension attributes. Because the traditional RDBMSs have the limitation on the maximum number of attributes in table columns(MS SQLServer and Oracle permit each table to have up to 1,024 columns), horizontal tables cannot be directly stored into relational database systems. In this paper, we propose various efficient optimization strategies in transforming horizontal queries to equivalent vertical queries. To achieve this goral, we first store a horizontal table using an equivalent vertical table, and then develop various query transformation rules for horizontal table queries using the PIVOT operator. In particular, we propose various alternative query transformation rules for the basic relational operators, selection, projection, and join. Here, we note that the transformed queries can be executed in several ways, and their execution times will differ from each other. Thus, we propose various optimization strategies that transform the horizontal queries to the equivalent vertical queries when using the PIVOT operator. Finally, we evaluate these methods through extensive experiments and identify the optimal transformation strategy when using the PIVOT operator.