Skip to main content
QUICK REVIEW

[논문 리뷰] Graph Analytics using the Vertica Relational Database

Alekh Jindal, Samuel Madden|arXiv (Cornell University)|2014. 12. 17.
Graph Theory and Algorithms참고 문헌 9인용 수 6
한 줄 요약

이 논문은 Vertica, 즉 열기반 관계형 데이터베이스가 노드 및 엣지 테이블에 대한 테이블 스캔, 조인, 집계 연산을 활용해 SQL 쿼리로 그래프 알고리즘을 표현함으로써, Giraph 및 GraphLab과 같은 전용 버텍스 중심 시스템과 경쟁 가능한 성능으로 그래프 분석을 효율적으로 수행할 수 있음을 보여준다. 이는 관계형 데이터베이스, 특히 열 저장소가 반복적이고 복잡한 그래프 워크로드에 매우 적합하며, 관계형 연산과의 원활한 통합과 ACID 성질을 그대로 이어받을 수 있음을 시사한다.

ABSTRACT

Graph analytics is becoming increasingly popular, with a deluge of new systems for graph analytics having been proposed in the past few years. These systems often start from the assumption that a new storage or query processing system is needed, in spite of graph data being often collected and stored in a relational database in the first place. In this paper, we study Vertica relational database as a platform for graph analytics. We show that vertex-centric graph analysis can be translated to SQL queries, typically involving table scans and joins, and that modern column-oriented databases are very well suited to running such queries. Specifically, we present an experimental evaluation of the Vertica relational database system on a variety of graph analytics, including iterative analysis, a combination of graph and relational analyses, and more complex 1- hop neighborhood graph analytics, showing that it is competitive to two popular vertex-centric graph analytics systems, namely Giraph and GraphLab.

연구 동기 및 목표

  • 특정 그래프 시스템으로의 데이터 이동 없이도 Vertica와 같은 관계형 데이터베이스가 그래프 분석을 효율적으로 지원할 수 있는지 평가하는 것.
  • 반복적이고 1단계 이웃 계산을 포함한 복잡한 그래프 분석이 SQL에서 효과적으로 표현되고 최적화될 수 있는지 조사하는 것.
  • 표준 그래프 워크로드에서 Vertica의 성능을 전용 버텍스 중심 그래프 시스템(Giraph, GraphLab)과 비교하는 것.
  • 개별 시스템을 사용하는 것과는 달리, 하나의 시스템 내에서 그래프 및 관계형 연산을 통합함으로써 발생하는 성능 향상과 사용성 향상을 탐색하는 것.
  • 확장성 있는 그래프 처리를 위해 RDBMS 기능—쿼리 최적화, ACID 준수, 확장성 등—이 성능을 희생시키지 않고 활용 가능한지 평가하는 것.

제안 방법

  • 노드 및 엣지 테이블에 대한 테이블 스캔, 자기 조인, 집계 연산을 사용해 버텍스 중심 그래프 알고리즘을 SQL 쿼리로 변환하는 것.
  • Vertica의 열 저장소, 압축 및 정렬 기반 물리적 최적화 기능을 활용해 그래프 분석에서 흔한 전체 테이블 스캔 및 다중 조인 연산을 가속화하는 것.
  • 반복적 그래프 알고리즘에서 디스크 I/O를 줄이고 성능을 향상시키기 위해 메모리 및 데이터 레이아웃 제어를 가능하게 하는 테이블 UDF(사용자 정의 함수)를 활용하는 것.
  • Vertica의 쿼리 최적화기로 중간 결과를 물리적으로 저장하지 않는 파이프라인 기반, 비용 기반 실행 계획을 생성하여 효율적인 실행을 유도하는 것.
  • 삼중 자기 조인을 통한 삼각형 수 계산 및 약한 연결 탐지와 같은 복잡한 그래프 패턴을 다중 조인 SQL 쿼리로 표현함으로써, 버텍스 중심 메시지 전달 모델보다 더 자연스럽고 효율적인 방법을 제공하는 것.
  • PageRank, 최단 경로, 삼각형 수 계산, 이웃 분석 등 다양한 그래프 워크로드에서의 종단 간 성능을 벤치마킹하는 것.

실험 결과

연구 질문

  • RQ1Vertica와 같은 관계형 데이터베이스 시스템이 Giraph 및 GraphLab과 같은 전용 버텍스 중심 그래프 처리 시스템과 경쟁 가능한 성능을 달성할 수 있는가?
  • RQ2특히 1단계 이웃 또는 다중 버텍스 간 관계를 포함한 복잡한 그래프 분석이 SQL에서 얼마나 효과적으로 표현될 수 있는가?
  • RQ3하나의 시스템 내에서 그래프 및 관계형 연산을 통합함으로써, 별도의 시스템을 사용하는 것과 비교해 성능과 사용성에 어떤 개선이 이루어지는가?
  • RQ4열 저장소 및 쿼리 최적화는 RDBMS에서 그래프 분석 워크로드를 가속화하는 데 어떤 역할을 하는가?
  • RQ5ACID 준수, 장애 내성, 트랜잭션 지원과 같은 RDBMS 기능이 성능을 희생시키지 않고도 그래프 처리에 활용될 수 있는가?

주요 결과

  • Vertica는 PageRank 및 최단 경로와 같은 반복적 알고리즘 포함 다양한 그래프 분석 워크로드에서 Giraph 및 GraphLab와 비교해 종단 간 성능이 유사함을 입증함.
  • Vertica의 열 저장소는 그래프 분석에서 흔한 전체 테이블 스캔 및 다중 조인 연산(예: 삼중 자기 조인을 통한 삼각형 수 계산)에 특히 뛰어난 성능 향상을 보임.
  • 1단계 이웃 분석(예: 약한 연결 탐지)을 SQL로 표현한 결과, 메시지 전달 모델이 필요한 다수의 슈퍼스텝을 필요로 하는 버텍스 중심 모델보다 훨씬 효율적이고 쉽게 구현 가능함.
  • 테이블 UDF를 사용함으로써 반복 쿼리에서 디스크 I/O를 줄이고 성능 향상을 이룸. 이는 더 나은 메모리 관리 및 데이터 레이아웃 제어를 가능하게 함.
  • Vertica의 쿼리 최적화기는 자동으로 효율적인 파이프라인 기반 실행 계획을 선택하여 중간 결과를 물리적으로 저장하지 않으며, Giraph와 같은 시스템의 정적 실행 계획보다 뛰어난 성능을 보임.
  • 하나의 시스템 내에서 관계형 및 그래프 연산을 통합함으로써 데이터 이동 오버헤드를 제거하고, 필터링 엣지에 타임스탬프 기반 처리나 결과 집계 등의 사전 및 사후 처리를 원활하게 수행할 수 있음.

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

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

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

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