초록
일반적으로 XML 데이터는 트리 형태의 계층적인 구조를 가지고 있으며, XML 데이터의 저장 및 검색도 이러한 특성을 반영한다. 따라서 XML 데이터를 데이터베이스화 할 때에 XML 엘리먼트 간의 이러한 계층 관계를 반영하여 XML 데이터를 구조화하여 저장하고, 사용자의 검색을 지원하기 위해서는 질의에 명세 된 엘리먼트 구조 간의 계층 관계를 계산하여 처리하는 방법이 필요하다. 구조적 조인(structural joins) 연산은 이 문제의 한 해결책으로서 노드 번호 매기기 방식(node numbering scheme)에 기반한 XML 데이터베이스에 대하여 효율적인 계층 관계 연산 기법을 제시하고 있다. 하지만 계층 관계가 복잡하게 중첩되어 있는 트리 구조의 XML 질의를 처리하려면 여전히 다수의 구조적 조인을 수행해야 하기 때문에 질의 처리 비용이 많이 드는 또 다른 문제를 갖게 된다. 이에 본 논문에서는 선행 연구에서 제안된 트리 구조의 XML 질의 처리시에 필요한 다수의 중첩된 구조적 조인들의 수행비용을 효과적으로 줄이기 위한 사전 처리 방법으로서 동등 클래스 개념을 적용한 정규 표현식(regular expression)으로 된 경로 질의(path query)의 길이를 단축하는 경로식 단축 알고리즘을 소개하며 특히 분기 노드(branch node)가 포함된 경로식 단축 알고리즘을 제안한다. 제안한 알고리즘이 XML 경로식 질의 처리 시간을 평균적으로 1/3로 단축할 수 있음을 실험을 통해서 확인한다.
XML data generally consists of a hierarchical tree-structure which is reflected in mechanisms to store and retrieve XML data. Therefore, when storing XML data in the database, the hierarchical relationships among the XML elements are taken into consideration during the restructuring and storing of the XML data. Also, in order to support the search queries from the user, a mechanism is needed to compute the hierarchical relationship between the element structures specified by the query. The structural join operation is one solution to this problem, and is an efficient computation method for hierarchical relationships in an in database based on the node numbering scheme. However, in order to process a tree structured XML query which contains a complex nested hierarchical relationship it still needs to carry out multiple structural joins and results in another problem of having a high query execution cost. Therefore, in this paper we provide a preprocessing mechanism for effectively reducing the cost of multiple nested structural joins by applying the concept of equivalence classes and suggest a query path reduction algorithm to shorten the path query which consists of a regular expression. The mechanism is especially devised to reduce path queries containing branch nodes. The experimental results show that the proposed algorithm can reduce the time requited for processing the path queries to 1/3 of the original execution time.