[논문 리뷰] Portal: A Query Language for Evolving Graphs
Portal은 Apache Spark 기반으로 구현된 선언적 쿼리 언어로, 시간에 따라 변화하는 그래프의 확장 가능한 분석을 지원한다. 선택, 조인, 집계 및 고급 분석과 같은 시간 연산을 처리할 수 있으며, 구조적 및 시간적 국소성을 고려한 최적화된 물리적 표현과 분할 전략을 통해 높은 성능을 달성한다.
Graphs are used to represent a plethora of phenomena, from the Web and social networks, to biological pathways, to semantic knowledge bases. Arguably the most interesting and important questions one can ask about graphs have to do with their evolution. Which Web pages are showing an increasing popularity trend? How does influence propagate in social networks? How does knowledge evolve? Much research and engineering effort today goes into developing sophisticated graph analytics and their efficient implementations, both stand-alone and in scope of data processing platforms. Yet, systematic support for scalable querying and analytics over evolving graphs still lacks. In this paper we present Portal, a declarative language that supports efficient querying and exploratory analysis of evolving graphs, and an implementation of Portal in scope of Apache Spark, an open-source distributed data processing framework. Our language supports a variety of operations including temporal selection, join and aggregation, and a rich class of analytics. We develop multiple physical representations and partitioning strategies and study the trade-offs between structural and temporal locality. We provide an extensive experimental evaluation of our system, demonstrating that careful engineering can lead to good performance.
연구 동기 및 목표
- 현대 데이터 처리 플랫폼에서 시간에 따라 변화하는 그래프에 대한 체계적이고 확장 가능한 쿼리 및 분석 지원의 부족을 보완한다.
- 인기 트렌드, 영향력 전파, 지식의 진화와 같은 동적 그래프 현상에 대한 효율적인 탐색 분석을 가능하게 한다.
- 시간 연산과 시간에 따라 변화하는 그래프에 대한 복잡한 분석을 지원하는 선언적 언어를 설계한다.
- Apache Spark 내부에 Portal을 구현하여 대규모 분산 데이터 처리 파이프라인과의 호환성을 확보한다.
- 구조적 국소성과 시간적 국소성을 동시에 고려한 맞춤형 물리적 표현 및 분할 전략을 통해 성능을 최적화한다.
제안 방법
- 시간에 따라 변화하는 그래프에서 시간적 선택, 시간적 조인, 집계 및 다양한 그래프 분석 기능을 지원하는 선언적 쿼리 언어인 Portal을 설계한다.
- Apache Spark 내부의 라이브러리로 Portal을 구현하여 분산 실행 엔진과 확장 가능한 데이터 처리 기능을 활용한다.
- 저장소 효율성과 쿼리 성능의 균형을 고려한 시간에 따라 변화하는 그래프의 다수의 물리적 표현을 개발한다.
- 그래프 구조(구조적 국소성)와 시간에 따른 데이터 변화(시간적 국소성)를 고려한 분할 전략을 도입한다.
- 다양한 물리적 모델과 분할 전략 간의 성능 상호 교환 관계를 평가하여 다양한 워크로드에 적합한 시스템 설정을 안내한다.
- Spark의 실행 모델을 활용하여 시간적 및 구조적 연산에 대한 수식을 최적화하고 실행 계획을 최적화한다.
실험 결과
연구 질문
- RQ1시간에 따라 변화하는 그래프에 대해 효율적으로 표현하고 처리할 수 있는 선언적 쿼리 언어는 어떻게 설계할 수 있는가?
- RQ2분산 그래프 처리 환경에서 구조적 국소성과 시간적 국소성을 균형 있게 확보하기 위해 어떤 물리적 표현과 분할 전략이 가장 적합한가?
- RQ3Portal은 시간에 따라 변화하는 그래프에 대한 복잡한 시간 연산 및 분석 쿼리에 대해 얼마나 높은 수준의 확장 가능한 성능을 달성할 수 있는가?
- RQ4물리적 모델링 및 분할 전략의 다양한 설계 선택 사항이 쿼리 실행 시간과 자원 활용도에 어떤 영향을 미치는가?
주요 결과
- Portal은 Apache Spark와 통합된 선언적 언어를 통해 시간에 따라 변화하는 그래프에 대한 효율적이고 확장 가능한 쿼리 기능을 제공한다.
- 물리적 표현과 분할 전략의 선택은 성능에 상당한 영향을 미치며, 구조적 국소성과 시간적 국소성 간의 상호 교환 관계가 존재한다.
- 최적화된 분할 전략은 데이터 재배치를 줄이고 캐시 국소성을 향상시켜 쿼리 실행 시간을 개선한다.
- 시스템은 시간적 선택, 조인, 시간에 따라 변화하는 그래프에 대한 복잡한 분석을 포함한 다양한 워크로드에서 양호한 성능을 보여준다.
- 물리 계층의 철저한 설계가 측정 가능한 성능 향상을 이끌어내며, 분산 그래프 시스템에서 저수준 최적화의 중요성을 입증한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.