Skip to main content
QUICK REVIEW

[논문 리뷰] PRoST: Distributed Execution of SPARQL Queries Using Mixed Partitioning Strategies

Matteo Cossu, Michael Färber|arXiv (Cornell University)|2018. 02. 16.
Semantic Web and Ontologies참고 문헌 9인용 수 27
한 줄 요약

PRoST는 Apache Spark 기반의 분산 RDF 스토어로, 수직 분할과 속성 테이블 전략을 결합하여 SPARQL 쿼리 성능을 최적화한다. 광범위한 쿼리 유형에서 광범위한 사전 계산 없이도 뛰어난 쿼리 런타임을 달성하며, SPARQLGX와 Rya와 같은 최첨단 시스템을 능가하고, S2RDF와 유사한 성능을 유지하면서 더 빠른 데이터 로딩을 가능하게 한다.

ABSTRACT

The rapidly growing size of RDF graphs in recent years necessitates distributed storage and parallel processing strategies. To obtain efficient query processing using computer clusters a wide variety of different approaches have been proposed. Related to the approach presented in the current paper are systems built on top of Hadoop HDFS, for example using Apache Accumulo or using Apache Spark. We present a new RDF store called PRoST (Partitioned RDF on Spark Tables) based on Apache Spark. PRoST introduces an innovative strategy that combines the Vertical Partitioning approach with the Property Table, two preexisting models for storing RDF datasets. We demonstrate that our proposal outperforms state-of-the-art systems w.r.t. the runtime for a wide range of query types and without any extensive precomputing phase.

연구 동기 및 목표

  • 대규모 RDF 그래프를 분산 환경에서 효율적으로 쿼리하는 도전 과제를 해결하기 위해.
  • 다양한 SPARQL 쿼리 유형에서 빠른 로딩과 높은 쿼리 성능을 균형 있게 유지하는 스토리지 모델을 설계하기 위해.
  • 시간이 오래 걸리는 사전 계산에 의존하지 않으면서도 쿼리 효율성을 유지하거나 향상시키기 위해.
  • 기존 Hadoop 기반 RDF 시스템과 비교하여 새로운 하이브리드 데이터 모델의 성능을 평가하기 위해.
  • 미리 알려지지 않았거나 변동성이 있는 데이터 및 쿼리 워크로드를 가진 실세계 애플리케이션에 적합한 실용적이고 확장 가능한 솔루션을 제공하기 위해.

제안 방법

  • 시스템은 수직 분할(VP)과 속성 테이블을 통합한 하이브리드 스토리지 모델을 사용하여, RDF 트리플을 주어진, 목적어, 객체별로 별도의 파artition된 관계로 저장한다.
  • Apache Spark SQL을 활용하여 쿼리 최적화 계획을 생성하고, Catalyst 최적화기와 물리적 실행 계획을 사용해 SPARQL 쿼리를 최적화된 실행 계획으로 변환한다.
  • 속성 테이블 구조는 같은 목적어를 가진 트리플을 그룹화함으로써 목적어 기반의 효율적인 동치 조인을 가능하게 하여 셔플 오버헤드를 줄인다.
  • 반면에 반가위 조인이나 중간 결과를 사전에 물리적으로 저장하는 것과 같은 사전 계산을 피함으로써 로딩 시간과 스토리지 오버헤드를 최소화한다.
  • 통계를 활용한 목적어 푸시다운, 목적어 기반의 프루닝, 그리고 최적의 조인 순서 선택을 통해 쿼리 실행을 최적화한다.
  • 구현은 Spark의 메모리 기반 처리 모델에 기반하여, 디스크 기반 MapReduce 대비 더 빠른 실행을 위해 주로 메모리 연산을 활용한다.

실험 결과

연구 질문

  • RQ1수직 분할과 속성 테이블을 결합함으로써 분산 Spark 기반 시스템에서 SPARQL 쿼리 성능을 향상시킬 수 있는가?
  • RQ2제안된 하이브리드 모델이 사전 계산에 의존하지 않고도 다양한 SPARQL 쿼리 유형에서 높은 성능을 유지할 수 있는가?
  • RQ3S2RDF, Rya, SPARQLGX와 같은 기존 시스템과 비교해 PRoST의 쿼리 런타임과 로딩 시간은 어떻게 되는가?
  • RQ4속성 테이블 컴ponent가 복잡한, 스타형, 눈꽃형 쿼리에 대해 성능 향상에 얼마나 기여하는가?
  • RQ5다양한 목적어 수와 쿼리 패턴을 가진 데이터셋에서도 시스템이 일관된 성능을 유지할 수 있는가?

주요 결과

  • PRoST는 모든 쿼리 유형에서 SPARQLGX를 약 한 계단 높이어 성능을 뛰어넘었으며, 하이브리드 데이터 모델의 유용성을 확인했다.
  • 복잡한(C) 쿼리의 경우, PRoST의 평균 쿼리 시간은 9,364ms였고, S2RDF의 3,392ms보다 높은 성능을 보였다. 이는 반가위 조인을 사전 계산하지 않음에도 불구하고 강력한 성능을 보임을 시사한다.
  • Rya의 평균 쿼리 시간이 2,195,322ms에 이르러, 복잡한 조인 처리에서의 비효율성으로 인해 PRoST가 뚜렷이 뛰어난 성능을 보였다.
  • 눈꽃형(F) 쿼리의 경우, PRoST의 평균 쿼리 시간은 5,923ms였고, S2RDF의 1,564ms보다 높아, S2RDF의 사전 계산이 특정 경우에 유리함을 보였다.
  • 속성 테이블의 도입으로 모든 쿼리 유형에서 성능 향상이 이루어졌으며, 특히 공통 목적어를 가진 스타형(S) 및 복잡한(C) 쿼리에서 효율적인 조인 처리가 가능해져 성능 향상이 두드러졌다.
  • PRoST는 모든 쿼리 유형에서 일관된 성능을 보였으며, 목적어 수와 같은 데이터셋 특성에 의존하지 않았다. 이는 사전 계산에 의존하는 시스템과는 대조된다.

더 나은 연구,지금 바로 시작하세요

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.