피드로 돌아가기
InfoQInfoQ
Database

Arrow Flight 대비 3.5배 빠른 HTTP 기반 Multi-User 프로토콜 Quack 공개

DuckDB Quack: Client/Server Protocol over HTTP for Multi-User Analytics

Renato Losio2026년 5월 31일3intermediate

Context

In-process 임베디드 구조로 인해 데이터 로컬리티에 의존하던 DuckDB의 한계 발생. 다수 사용자의 동시 접속 및 상태 중앙화(Centralized State) 요구사항을 충족하기 위해 서버-클라이언트 모델로의 확장이 필요했음.

Technical Solution

  • 표준 HTTP 연결을 통한 DuckDB Native Data Format 기반의 원격 프로토콜 설계
  • 외부 제어 포맷의 제약을 제거하고 전송 제어권을 확보하기 위해 Arrow Flight SQL 채택 배제
  • 쿼리 전송과 결과 반환을 단일 Network Round Trip으로 처리하여 Small Query 효율성 극대화
  • DuckLake와의 통합을 통해 DuckDB 인스턴스를 원격 접근 가능한 Catalog Server로 활용
  • Quack Extension을 통한 상호 운용성 확보 및 분산 데이터 환경의 복잡성 제거

1. 분산 환경 설계 시 표준 프로토콜(Arrow Flight 등)의 오버헤드가 성능 병목인지 검토

2. Small Query 빈도가 높은 시스템에서 Network Round Trip 최소화 전략 적용 가능성 확인

3. Embedded DB의 확장성 문제를 해결하기 위한 Client-Server 프로토콜 도입 검토

원문 읽기