-
최신 GPU 하드웨어를 활용해 SQL 쿼리 가속화에 특화된 차세대 엔진
-
Substrait 쿼리 포맷을 통해 CPU 엔진(DuckDB)에서 생성된 쿼리를 GPU 환경(Sirius)으로 전달
- GPU 메모리 내에 Raw Data Cache Region과 Processing Region을 분리, 데이터 적재 및 처리 성능 극대화
- 쿼리 수정이나 시스템 변경 없이 TPC-H 100 규모에서 동일 비용 기준 10배 이상 속도를 기록
- 실시간 분석, 금융, ETL 등 대규모 데이터 워크로드에 최적
- 지원 환경 : Ubuntu 20.04+, NVIDIA Volta(7.0+) 이상 GPU, CUDA 11.2+, CMake 3.30.4 이상 (16 vCPU 이상 권장)
- 설치 방식 : AWS AMI(미리 구성된 이미지), Docker 이미지, 수동 의존성 설치 3가지 옵션 제공
- Docker:
sudo docker run --gpus all -it yifeiyang7/sirius_dependencies:latest bash
- 수동: DuckDB 의존성, CUDA, libcudf(conda로 설치) 등 개별 설치 필요
- 주요 제한사항
-
GPU 메모리 크기 내에서만 동작 (추후 파티셔닝/배치·디스크 스필·멀티 GPU 지원 예정)
-
최대 row count는 libcudf의 int32_t 한계(~20억 rows) 에 제한
- 데이터 타입: INTEGER, BIGINT, FLOAT, DOUBLE, VARCHAR, DATE, DECIMAL 지원, 추가 타입 개발 중
- 연산자: FILTER, PROJECTION, JOIN, GROUP-BY, ORDER-BY, AGGREGATION, TOP-N, LIMIT, CTE 지원, WINDOW 함수 등은 개발 중
-
Partially NULL Column 미지원(향후 패치 예정)
- 이슈 발생 시 DuckDB CPU 엔진으로 자동 폴백