Key points are not available for this paper at this time.
초록 쿼리를 효율적인 머신 코드로 컴파일하는 것은 쿼리 실행을 위한 일반적인 접근 방식이 되었지만, 여러 새로 생성된 데이터베이스 시스템 프로젝트는 여전히 컴파일을 사용하는 것을 꺼리고 있다. 코드 생성의 복잡성으로 인해 컴파일 기반 엔진이 너무 복잡하다고 주장하는 경우도 있다. 또한, 특히 대화형 즉석 쿼리에 대한 채택의 주요 장벽은 긴 컴파일 시간이다. 본 논문에서는 쿼리 실행 엔진의 모든 컴파일 단계에 대해 검토하고 컴파일 오버헤드를 줄이는 방법을 보여준다. 우리는 10년 동안 HyPer에서 코드를 생성하며 얻은 교훈을 복잡성을 관리하고 높은 속도를 제공하는 설계에 통합한다. 첫째, 우리는 복잡성을 관리하기 위한 추상화를 확립하고, 동시에 단일 빠른 패스로 코드를 생성하는 코드 생성 프레임워크를 소개한다. 둘째, 우리는 빠른 코드 생성 및 컴파일을 지원하도록 조정된 데이터 구조를 가진 프로그램 표현을 제시한다. 셋째, 우리는 최소한의 컴파일 시간을 위해 최적화된 새로운 컴파일러 백엔드를 소개하며, 동시에 Volcano 스타일 또는 바이트코드 해석과 같은 경쟁 방식에 비해 우수한 실행 성능을 제공한다. 우리는 데이터베이스 시스템 Umbra에 이러한 최적화를 구현하여 빠른 컴파일과 빠른 실행을 통합하는 것이 가능함을 보여준다. 실제로 Umbra는 전례 없는 낮은 쿼리 대기 시간을 달성한다. 작은 데이터 세트에서는 DuckDB 및 PostgreSQL과 같은 인터프리터 엔진보다 더 빠르다. 동시에 대규모 데이터 세트에서는 최신 컴파일 시스템인 HyPer와 동등한 처리량을 자랑한다.
Kersten 외(수요일)는 이 질문을 연구하였다.
Synapse has enriched 5 closely related papers on similar clinical questions. Consider them for comparative context: