Abstract
Every year, RDFS data tends further toward scalability; hence, the manner of SPARQL processing needs to be changed for fast query. The query processing method of SPARQL has been studied using a scalable distributed processing framework. Current studies indicate that the query engine based on the scalable distributed processing framework i.e., Hadoop(MapReduce) is not suitable for real-time processing because of the repetitive tasks; in addition, it is difficult to construct a query engine based on an In-memory Distributed Query engine, because distributed structure on the low-level is required to be considered. In this paper, we proposed a method to construct a query engine for improving the speed of the query process with the mass triple data. The query engine processes the query of SPARQL using the SparkSQL, which is an In-memory based, distributed query processing framework. SparkSQL is a high-level distributed query engine that facilitates existing SQL statement. In order to process the SPARQL query, after generating the Algebra Tree using Jena, the Algebra Tree is required to be translated to Spark Algebra Tree for application in the Spark system, and construction of the system that generated the SparkSQL query. Furthermore, we proposed the design of triple property table based on DataFrame for more efficient query processing in the Spark system. Finally, we verified the validity through comparative evaluation with the query engine, which is the existing distributed processing framework.
매년 RDFS 데이터는 대용량화 되어 가며, 빠른 질의를 위한 SPARQL 처리방식에 대한 변화가 필요하게 되었다. 이를 위해 대용량 분산 처리 프레임워크를 활용한 SPARQL의 질의 처리방식이 많이 연구되고 있다. 기존의 연구 중 대용량 분산 처리 프레임워크인 Hadoop(MapReduce) 기반 질의 엔진은 반복적인 작업으로 인한 잦은 I/O 발생으로 실시간 질의 처리가 불가능하며, 인메모리 기반 분산 질의 엔진 역시 낮은 단계의 언어 수준에서 분산 구조를 고려한 구현이 필요하기 때문에 질의 엔진 구축이 어렵다. 본 논문에서는 인메모리 기반 분산 질의 처리 프레임워크인 SparkSQL을 활용하여 대용량 트리플 데이터에 대한 SPARQL 질의문 처리 속도를 향상시킬 수 있는 질의 처리 엔진 구축 방법을 제안한다. SparkSQL 은 Spark 기반의 고수준 분산 질의 엔진으로서 기존의 SQL문을 활용한 질의가 가능하다. 따라서 SPARQL 질의문을 처리하기 위해서는 Jena를 이용하여 Algebra Tree를 생성한 후 이를 Spark 시스템에 적용하기 위한 Spark Algebra Tree로 변환해야 한다. 그리고 이를 이용하여 SparkSQL 질의문을 생성하는 시스템을 구축하였다. 또한 Spark 인메모리 시스템에서 보다 효율적인 질의 처리를 위한 DataFrame기반의 트리플 Property 테이블 설계를 제안하고 SparkSQL 프레임워크에 활용하였다. 마지막으로 기존의 분산처리 프레임워크를 사용한 질의 엔진과 비교 평가를 통하여 연구의 타당성을 검증한다.