← 최신 논문
💻 computer science

PathFinder: A unified approach for handling paths in graph query languages

이 논문은 압축된 경로 표현과 파이프라인 실행을 활용하여 안정적인 성능을 달성하고 기존 그래프 엔진보다 한 자릿수 높은 성능을 기록하는, 현대적 그래프 언어의 경로 쿼리 처리를 위한 통합적이고 매우 효율적인 접근 방식인 PathFinder를 소개한다.

원저자: Benjamín Farías, Wim Martens, Carlos Rojas, Domagoj Vrgoč

게시일 2026-07-15
📖 5 분 읽기🧠 심층 분석

원저자: Benjamín Farías, Wim Martens, Carlos Rojas, Domagoj Vrgoč

원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기

당신은 **그래프 시티(Graph City)**라고 불리는 거대하고 마법 같은 도시를 탐험하고 있다고 상상해 보세요. 이 도시에서 모든 사람은 건물(노드)이며, 그들 사이의 모든 관계는 "팔로우한다", "거주한다", 또는 "일한다"와 같은 특정 표지판이 붙은 도로(엣지)입니다.

오랫동안, 이 도시의 투어 가이드들(오래된 데이터베이스 엔진들)은 이상한 규칙을 가지고 있었습니다. 만약 당신이 "조(Joe)로부터 에펠탑까지 '팔로우한다' 도로만 타고 갈 수 있는 모든 방법을 보여줘"라고 요청하면, 가이드는 그저 손가락으로 가리키며 "알겠습니다, 거기 갈 수 있어요!"라고 말하고 멈춰버렸습니다. 그들은 목적지는 알려주었지만, 여정의 지도는 보여주지 않았습니다.

이것은 탐정들에게 문제가 됩니다. 만약 당신이 미스터리를 해결하려고 한다면(예: 자금 세탁을 포착하거나 소문을 추적하는 것), 단순히 누가 연결되어 있는지를 아는 것만으로는 부족합니다. 그들이 어떤 경로를 거쳤는지 전체를 봐야 합니다. 곧장 갔나요? 세 바퀴를 돌았나요? 아니면 지름길을 이용했나요?

여기서 등장한 것이 바로 베냐민(Benjamín), 빔(Wim), 카를로스(Carlos), 도마고이(Domagoj)가 만든 새로운 초지능형 투어 가이드, **패스파인더(PathFinder)**입니다. 이 논문은 패스파인더를 소개합니다. 패스파인더는 연결된 사람을 알려줄 뿐만 아니라, 규칙이 아무리 복잡하더라도 가능한 모든 경로의 정확한 지도를 당신에게 건네줄 수 있는 최초의 가이드입니다.

"곱 그래프(Product Graph)"의 마법

패스파인더는 어떻게 미로 속에서 길을 잃지 않고 이 일을 해낼까요? 당신에게 일반적인 도시 지도와 함께, "팔로우한다 도로를 한 번 가고, 그다음 또 팔로우한다 도로를 가고, 그다음 일한다 도로를 가야 한다"라고 적힌 작은 마법 체크리스트(오토마톤)가 있다고 상상해 보세요.

패스파인더는 단순히 도시를 걷는 것이 아니라, 그림자 도시(곱 그래프라고 불림)를 구축합니다. 이 그림자 도시의 모든 건물은 실제 도시의 건물과 체크리스트의 한 단계가 결합된 형태입니다.

  • 만약 당신이 "조(Joe)"에 있고 아직 단계를 밟지 않았다면, 당신은 (Joe, 단계 0)에 있습니다.
  • 만약 당신이 "팔로우한다" 도로를 통해 "폴(Paul)"에게 이동했다면, 당신은 (Paul, 단계 1)로 이동합니다.

이 그림자 도시를 통과하며 걷는 동안, 패스파인더는 당신의 체크리스트와 일치하는 경로를 즉각적으로 찾아낼 수 있습니다. 이는 마치 당신이 운전할 수 있도록 허용된 도로에만 불이 들어오고 나머지 도로는 무시되는 GPS를 가진 것과 같습니다.

2 ways를 걷는 27가지 방법

이 논문은 그래프 시티를 통과하는 27가지 서로 다른 규칙(모드라고 불림)이 있다고 설명합니다. 패스파인더는 이 27가지 모두를 처리할 수 있는 최초의 엔진입니다. 몇 가지 유형은 다음과 같습니다:

  • WALK (보행): 어디든 갈 수 있습니다. 원을 그리며 돌거나 같은 집을 두 번 방문해도 상관없습니다. (가장 쉽지만, 무한 루프에 빠질 수 있습니다!)
  • TRAIL (트레일): 같은 집을 두 번 방문할 수는 있지만, 같은 도로를 두 번 지나갈 수는 없습니다.
  • SIMPLE (단순 경로): 같은 집을 두 번 방문할 수 없습니다 (출발지와 도착지가 같은 경우 제외). 이 규칙은 지키기가 가장 어려운데, 왜냐하면 가능한 경로의 수가 폭발적으로 증가할 수 있기 때문입니다.
  • ANY SHORTEST (임의의 최단 경로): 가장 빠른 경로 중 하나만 주세요.
  • ALL SHORTEST (모든 최단 경로): 가장 빠른 모든 경로를 다 주세요.
  • SHORTEST k GROUPS (최단 k 그룹): 가장 빠른 경로들을 보여주고, 그다음으로 빠른 경로 그룹, 그다음 그룹 순으로 kk번째 그룹까지 보여주세요.

저자들은 어떤 규칙들(예: "Simple" 경로 찾기)이 이론적으로 매우 어렵다는 것—컴퓨터가 거대한 지도 앞에서 보통 포기하게 만들 정도로—을 설명하면서도, 패스파인더가 실제 환경에서는 이를 놀라울 정도로 잘 처리한다는 것을 보여줍니다.

"무한 루프" 문제

그래프 시티에서 큰 골칫거리 중 하나는 루프(예: 조가 폴을 팔로우하고, 폴이 조를 팔로우하는 경우)가 있다면, 당신이 그 루프를 영원히 돌 수 있다는 점입니다. 만약 "모든 보행(all walks)"을 요청한다면, 답은 무한대가 됩니다!

이를 해결하기 위해 GQL 및 SQL/PGQ 표준(이 언어들의 규칙서)은 당신이 "Simple"이나 "Trail" 같은 모드를 선택할 수 있게 해줍니다. 패스파인더는 이 규칙들을 완벽하게 준수합니다. 패스파인더는 끝없는 원 속에 갇히지 않도록 경로 탐색을 멈춰야 할 시점을 정확히 알고 있으며, 동시에 당신이 요청한 모든 유효한 경로를 찾아냅니다.

속도 테스트: 패스파인더 vs 나머지들

저자들은 단순히 패스파인더를 만든 것에 그치지 않고, 업계의 거물들인 Neo4j, Nebula, Kuzu, Jena, Blazegraph, Virtuoso와 대결시켰습니다.

그들은 세 가지 시나리오에서 테스트를 진행했습니다:

  1. Pokec: 160만 명의 사람과 3,000만 개의 연결을 가진 중간 규모의 소셜 네트워크.
  2. Wikidata: 3억 6,400만 개의 노드12억 5,700만 개의 엣지를 가진 거대한 실제 지식 그래프.
  3. Diamond: 지수적인 수의 경로(2n2^n 개의 경로)를 갖도록 설계된 까다로운 수학적 구성의 그래프.

결과:

  • 속도: 패스파인더는 거의 모든 테스트에서 다른 엔진들보다 10배에서 100배 더 빨랐습니다.
  • 안정성: 다른 엔진들이 경로가 길어지거나 복잡해질 때 크래시가 나거나 타임아웃(포기)이 발생한 반면, 패스파인더는 묵묵히 계속 작동했습니다.
  • "난해함(Intractable)"의 반전: "Simple" 및 "Trail" 모드의 경우, 이론적으로 컴퓨터가 답을 찾는 데 영원히 걸릴 것이라고 합니다. 하지만 Wikidata와 같은 실제 세계의 테스트에서 패스파인더는 10만 개의 경로를 빠르게 찾아냈습니다. 저자들은 이것이 실제 데이터에는 수학적 폭발을 일으키는 특정한 "완벽한 폭풍"과 같은 연결 구조가 보통 존재하지 않기 때문이라고 제안합니다.

패스파인더가 (아직) 하지 못하는 것

이 논문이 주장하지 않는 바를 아는 것도 중요합니다:

  • 패스파인더가 마법이라고 말하는 것이 아닙니다. 만약 루프가 있는 그래프에서 모든 경로를 달라고 요청한다면, 답은 여전히 무한하며 어떤 컴퓨터도 그것을 출력할 수 없습니다. 패스스터는 당신이 설정한 제한(예: 100,000개의 결과)에서 멈출 뿐입니다.
  • 모든 가능한 그래프에 대해 "Simple" 문제를 해결했다고 주장하는 것이 아닙니다. 이 논문은 최악의 이론적 시나리오에서 단순 경로를 찾는 것은 여전히 NP-complete(컴퓨터가 처리하기 매우 어렵다는 뜻의 전문 용어)라는 점을 인정합니다. 패스파인더는 단지 우리가 실제로 사용하는 그래프들에서 다른 누구보다 더 잘 작동할 뿐입니다.
  • 아직 RDF(특정 유형의 데이터 형식)에 대한 "Simple" 모드를 해결했다고 주장하지 않습니다. 저자들은 엣지에 고유한 이름이 없을 때 "trail"을 어떻게 정의할지 불분명하기 때문에 RDF에 대한 "Trail" 모드를 구현하지 않았다고 밝혔습니다.

결론

패스파인더는 초강력 투어 가이드 역할을 하는 새로운 엔진입니다. 복잡한 규칙(예: "'팔로우한다' 패턴을 따르는 경로를 통해 조로부터 ENS 파리까지 가는 모든 경로를 찾아줘")을 받아들여 그 여정의 실제 지도를 반환할 수 있습니다.

저자들은 실제 데이터를 통해 이를 측정했으며, 패스파인더가 현재의 최고 수준 그래프 데이터베이스들보다 현저히 빠르고 안정적이라는 것을 확인했습니다. 심지어 기존 시스템(SPARQL 엔진 등)에 추가하여 이 새로운 초능력을 부여할 수 있다는 점도 보여주었습니다. 수학적으로는 이러한 작업들이 빠르게 수행되는 것이 불가능하다고 할지라도, 혼란스러운 실제 세상에서 패스파인더는 놀라운 속도로 해낼 수 있음을 증명했습니다.

연구 분야의 논문에 파묻히고 계신가요?

연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.

Digest 사용해 보기 →