[논문 리뷰] System G Distributed Graph Database
시스템 G는 초당 100,000개 이상의 간선을 빠르게 삽입하고 동시 다수의 저지연 쿼리를 처리하기 위해 최적화된 고성능 분산 그래프 데이터베이스입니다. 샤딩 기반 아키텍처를 사용하며, 혁신적인 RPC 기반 통신 레이어, 작업 기반 런타임, 그리고 두 가지 최적화된 간선 삽입 기법—Firehose 및 쿼리 매니저 기반 삽입—을 도입하여 최대 2.0×의 성능 향상을 달성했으며, 스레드 수가 12개일 경우 네오4j와 재스퍼스그래프를 능가하는 처리량과 지연 시간을 확보했습니다.
Motivated by the need to extract knowledge and value from interconnected data, graph analytics on big data is a very active area of research in both industry and academia. To support graph analytics efficiently a large number of in memory graph libraries, graph processing systems and graph databases have emerged. Projects in each of these categories focus on particular aspects such as static versus dynamic graphs, off line versus on line processing, small versus large graphs, etc. While there has been much advance in graph processing in the past decades, there is still a need for a fast graph processing, using a cluster of machines with distributed storage. In this paper, we discuss a novel distributed graph database called System G designed for efficient graph data storage and processing on modern computing architectures. In particular we describe a single node graph database and a runtime and communication layer that allows us to compose a distributed graph database from multiple single node instances. From various industry requirements, we find that fast insertions and large volume concurrent queries are critical parts of the graph databases and we optimize our database for such features. We experimentally show the efficiency of System G for storing data and processing graph queries on state-of-the-art platforms.
연구 동기 및 목표
- 고성능 온라인 처리 처리(OLTP) 중심의 기존 그래프 데이터베이스에서 고속 실시간 트랜잭션 처리에 대한 성능 격차를 해소합니다.
- 초당 100,000개 이상의 간선을 신속하게 처리할 수 있도록 하며, 수십만 개의 동시 저지연 쿼리를 지원합니다.
- 성능을 위해 ACID 보장을 약간 완화하면서도 높은 처리량을 유지하는 분산 그래프 데이터베이스를 설계합니다.
- 새로운 메시지 전달 기법을 통해 분산 간선 삽입 시 통신 오버헤드를 줄입니다.
- 관계형 데이터베이스에서의 이관을 효율적으로 지원하기 위해 빠른 배치 로딩과 복잡한 쿼리 실행 기능을 제공합니다.
제안 방법
- 저지연 처리를 위해 키-밸류 스토어 위에 단일 노드 그래프 데이터베이스를 구축합니다.
- 단일 노드 데이터베이스를 여러 머신에 걸쳐 샤딩하여 각각 그래프의 부분 집합을 관리하도록 분산 시스템을 구성합니다.
- 수천 개의 동시 쿼리 및 삽입을 효율적으로 처리하기 위해 작업 기반 런타임 시스템을 구현합니다.
- 샤드 간 데이터 이동 및 쿼리 라우팅을 조율하기 위해 RPC 기반 통신 모델을 사용합니다.
- 최소한의 노드 간 통신으로 고처리량 배치 간선 삽입을 가능하게 하는 Firehose 기법을 도입합니다.
- 복잡한 쿼리를 통합하고 라운드트립 지연 시간을 줄이며 결과 집계를 수행하는 쿼리 매니저 컴포넌트를 설계합니다.
실험 결과
연구 질문
- RQ1분산 그래프 데이터베이스는 어떻게 고처리량 실시간 간선 삽입을 수행하면서도 통신 오버헤드를 최소화할 수 있을까요?
- RQ2어떤 아키텍처 패턴이 분산 그래프 데이터베이스에서 대규모 스케일에서 저지연 동시 쿼리 처리를 가능하게 할 수 있을까요?
- RQ3샤드 및 서버 수가 증가함에 따라 분산 그래프 데이터베이스의 성능은 어떻게 변화할까요?
- RQ4그래프 데이터베이스의 OLTP 워크로드에서 일관성과 성능 사이의 타협은 어떤 것이 가능한가요?
- RQ5Firehose 및 쿼리 매니저 기반 삽입과 같은 새로운 간선 삽입 기법은 기존 방법에 비해 성능을 어떻게 향상시킬 수 있을까요?
주요 결과
- 시스템 G는 단일 샤드 대비 12개 샤드에서 2.0×의 성능 향상을 기록하여 간선 삽입 워크로드에서 강력한 확장성을 입증했습니다.
- Firehose 삽입 방법은 약 6개 색션에서 네트워크 대역폭 제한으로 인해 성능 포화에 도달했으며, 이는 지연 시간이나 처리 오버헤드 때문이 아닙니다.
- 시스템 G는 쿼리 실행 시간에서 네오4저와 재스퍼스그래프를 능가했으며, 재스퍼스그래프는 100,000개의 쿼리를 완료하는 데 수 시간이 소요되어 전체 테스트 수행이 불가능했습니다.
- 24코어 머신에서 SMT 기능을 활성화한 상태에서 6개 색션을 초과할 경우 과도한 스레드 스케줄링과 컨텍스트 스위칭으로 인해 성능 저하가 관찰되었습니다.
- 고처리량 삽입 시 통신 지연이 주요 요인으로 작용했으며, 포화 상태일 경우 90% 이상의 시간이 통신에 소요되었고, 로컬 처리 시간은 그에 비해 극히 적었습니다.
- 쿼리 매니저는 쿼리를 통합하고 분산 실행을 수행함으로써 라운드트립 통신을 줄여 복잡한 이웃 탐색 쿼리의 응답 시간을 크게 향상시켰습니다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.