Skip to main content
QUICK REVIEW

[논문 리뷰] Join Processing for Graph Patterns: An Old Dog with New Tricks

Dung T. Nguyen, Molham Aref|arXiv (Cornell University)|2015. 03. 13.
Advanced Database Systems and Queries참고 문헌 15인용 수 6
한 줄 요약

이 논문은 그래프 패턴 매칭을 위한 기능이 풍부한 관계형 데이터베이스(LogicBlox) 환경에서 최악의 경우 최적 및 최악의 경우를 초월하는 조인 알고리즘—LeapFrog TrieJoin(LFTJ) 및 Minesweeper—을 평가한다. 이들 현대적 조인 알고리즘은 순환 및 비순환 그래프 쿼리에서 기존의 관계형 시스템과 전용 그래프 데이터베이스를 모두 능가하는 성능을 제공함으로써 그래프 엔진과의 성능 격차를 좁히며, 고수준의 SQL 인터페이스를 유지한다.

ABSTRACT

Join optimization has been dominated by Selinger-style, pairwise optimizers for decades. But, Selinger-style algorithms are asymptotically suboptimal for applications in graphic analytics. This suboptimality is one of the reasons that many have advocated supplementing relational engines with specialized graph processing engines. Recently, new join algorithms have been discovered that achieve optimal worst-case run times for any join or even so-called beyond worst-case (or instance optimal) run time guarantees for specialized classes of joins. These new algorithms match or improve on those used in specialized graph-processing systems. This paper asks can these new join algorithms allow relational engines to close the performance gap with graph engines? We examine this question for graph-pattern queries or join queries. We find that classical relational databases like Postgres and MonetDB or newer graph databases/stores like Virtuoso and Neo4j may be orders of magnitude slower than these new approaches compared to a fully featured RDBMS, LogicBlox, using these new ideas. Our results demonstrate that an RDBMS with such new algorithms can perform as well as specialized engines like GraphLab -- while retaining a high-level interface. We hope this adds to the ongoing debate of the role of graph accelerators, new graph systems, and relational systems in modern workloads.

연구 동기 및 목표

  • 현대적 이론적 최적 조인 알고리즘이 그래프 패턴 쿼리에서 관계형 데이터베이스와 전용 그래프 처리 엔진 간의 성능 격차를 해소할 수 있는지 조사하기 위해.
  • 실제 세계의 관계형 데이터베이스 환경에서 최악의 경우 최적(LFTJ) 및 최악의 경우를 초월하는(Minesweeper) 조인 알고리즘의 실용적 성능을 평가하기 위해.
  • 이러한 새로운 알고리즘이 기존의 Selinger 스타일 최적화기 및 그래프 전용 시스템보다 어떤 쿼리 및 데이터 특성에서 뛰어나게 성능을 발휘하는지 규명하기 위해.
  • 고도로 발전한 조인 알고리즘을 활용해 OLAP 및 그래프 분석 워크로드를 하나의 관계형 엔진 내에서 통합하는 가능성 평가하기 위해.

제안 방법

  • LogicBlox 관계형 데이터베이스에 최악의 경우 최적의 다중 조인 알고리즘인 LeapFrog TrieJoin(LFTJ)를 구현하고 통합하기 위해.
  • LFTJ의 성능을 초월하는 조인 알고리즘인 Minesweeper를 구현하여, 지능적인 인덱싱과 캐싱을 통해 중복 계산을 최소화하기 위해.
  • 행 저장 방식(PostgreSQL), 열 저장 방식(MonetDB), 그래프 데이터베이스(Virtuoso, Neo4j), 그래프 처리 엔진(GraphLab, RedShift, System HC) 등 다양한 시스템과의 벤치마킹을 수행하기 위해.
  • LiveJournal, Pokec, Orkut 등의 다양한 데이터셋에서 클리크, 경로, 트리, 하이브리드 패턴(예: 루프형)을 포함한 실제 워크로드를 대상으로 평가하기 위해.
  • 성능 및 확장성 분석을 위해 표본 추출 및 에지 서브셋 스케일링 실험을 수행하여 다양한 데이터 크기 및 선택도 수준에서의 성능 변화를 분석하기 위해.
  • 혼합 쿼리 시나리오에서 LFTJ와 Minesweeper의 장점을 접목하기 위해 LFTJ와 Minesweeper를 조합한 하이브리드 알고리즘 설계 및 평가하기 위해.

실험 결과

연구 질문

  • RQ1최악의 경우 최적 및 최악의 경우를 초월하는 조인 알고리즘이 전체적인 관계형 데이터베이스가 전용 그래프 엔진의 성능을 그래프 패턴 쿼리에서 따라하거나 능가할 수 있도록 할 수 있는가?
  • RQ2LFTJ와 Minesweeper는 순환형과 비순환형 그래프 쿼리 유형에 따라 기존의 Selinger 스타일 최적화기 및 그래프 전용 시스템과 비교해 어떻게 성능을 발휘하는가?
  • RQ3Minesweeper의 캐싱 메커니즘이 LFTJ보다 측정 가능한 성능 이점을 제공하는 쿼리 및 데이터 영역는 어떤가?
  • RQ4특히 낮은 선택도 또는 높은 중복성 조건에서 데이터 크기가 증가함에 따라 이러한 새로운 조인 알고리즘이 얼마나 잘 확장되는가?
  • RQ5LFTJ와 Minesweeper를 조합한 하이브리드 알고리즘이 혼합 구조 쿼리에서 양자 모두보다 뛰어난 성능을 발휘할 수 있는가?

주요 결과

  • LogicBlox에 LFTJ와 Minesweeper를 통합한 결과, 순환 그래프 쿼리에서 PostgreSQL, MonetDB, Virtuoso, Neo4j, GraphLab보다 수 개월 정도 빠른 성능을 기록했다.
  • LFTJ는 3-clique 및 4-cycle과 같은 순환 쿼리에서 특히 밀도가 높고 선택도가 높은 환경에서 가장 빠른 성능을 보였다.
  • Minesweeper는 1-tree 및 2-tree와 같은 비순환 쿼리에서 뛰어나며, 선택도가 낮고 중복 작업이 많은 환경에서 캐싱 메커니즘의 이점이 두드러졌다.
  • 경로와 클리크를 조합한 하이브리드 패턴(예: i-lollipop)을 포함한 하이브리드 쿼리에서는 하이브리드 알고리즘이 LFTJ와 Minesweeper를 모두 능가하는 성능을 보였으며, 이는 상당한 최적화 잠재력을 시사한다.
  • 기존의 관계형 데이터베이스(PostgreSQL, MonetDB) 및 Neo4j는 일부 작은 데이터 서브셋에서도 많은 그래프 패턴 쿼리에서 타임아웃이 발생하여 이러한 워크로드에 대한 비효율성을 드러냈다.
  • 확장성 실험 결과, 최적 조인 알고리즘은 기존 시스템보다 데이터 크기를 두 배수 더 다룰 수 있었으며, LFTJ는 Minesweeper보다 한 계단 더 큰 그래프를 지원했다.

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

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

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

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