Oasis: 데이터 패스(Datapath)에서 Parquet 파일 쿼리 비용 숨기기
요약
Oasis는 Parquet 파일 디코딩을 네트워크 데이터 패스 상의 SmartNIC로 오프로드하여 쿼리 성능을 개선하는 시스템입니다. 디코딩 작업을 하드웨어 가속기로 처리함으로써 CPU 부하를 줄이고 스캔 작업을 다른 쿼리 실행과 중첩시켜 처리량을 극대화합니다.
핵심 포인트
- Parquet 디코딩을 SmartNIC 하드웨어 가속기로 오프로드
- 디코딩 비용을 네트워크 데이터 패스에서 숨겨 스캔 작업 중첩 가능
- DuckDB와의 엔드 투 엔드 통합을 통한 효율적인 데이터 처리
- 최적의 조건에서 DuckDB 쿼리 처리량을 최대 2배 향상
클라우드 네이티브 데이터베이스 시스템은 탄력성(Elasticity)과 리소스 풀링(Resource pooling)을 통해 기존의 모놀리식(Monolithic) 아키텍처보다 비용 효율성을 개선하기 위해 컴퓨팅(Compute)과 스토리지(Storage) 리소스를 분리합니다. 실제 운영 중인 데이터 웨어하우스(Data warehouse) 워크로드에 대한 연구에 따르면, 스캔(Scan, 스토리지로의 왕복 포함)이 전체 쿼리 실행 시간의 약 절반을 차지합니다. 데이터 레이크(Data lakes)와 레이크하우스(Lakehouses)는 Parquet와 같이 스토리지에 최적화된 압축 파일 형식을 쿼리마다 디코딩(Decoding)해야 함에 따라 이러한 병목 현상을 증폭시킵니다. 스토리지 및 네트워크 대역폭이 CPU의 비용 대비 성능을 계속해서 앞지름에 따라, 디코딩에 소비되는 CPU 사이클은 클라우드의 비용 효율성 약속을 점점 더 저해하고 있습니다. 이는 스택 전반에 걸친 전문화의 물결로 이어졌으며, 극단적인 경우에는 클라우드 벤더 규모의 맞춤형 하드웨어(Custom hardware)가 등장하기도 했습니다. 우리는 이러한 추세에 기반하여, Parquet 디코딩을 맞춤형 하드웨어 가속기로서 네트워크 데이터 패스(Datapath)로 오프로드(Offload)하는 데이터 처리용 SmartNIC인 Oasis를 선보입니다. Oasis는 하드웨어 디코더 아키텍처, 소프트웨어 추상화 계층(Software abstraction layer), 그리고 DuckDB와의 엔드 투 엔드(End-to-end) 통합을 특징으로 합니다. 우리의 평가 결과, Oasis는 최소한의 오버헤드로 네트워크 데이터 패스 뒤에 Parquet 디코딩 비용을 숨겨, 스캔을 나머지 쿼리 실행과 중첩(Overlapping)시킴을 보여줍니다. 최선의 경우, 이는 DuckDB의 쿼리 처리량(Throughput)을 거의 두 배로 높입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv cs.AR의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기