위키득계정 ↗
기술

HyPer의 질의 컴파일

HyPer의 질의 컴파일기술
연구 발표
VLDB 2011
구현 대상
HyPer 인메모리 데이터베이스
컴파일 기반
LLVM
설계 관점
코드와 자료의 지역성
HyPer의 질의 컴파일은 데이터베이스 실행 계획을 LLVM으로 기계 코드에 변환하는 처리 방식이다. 연산자 호출과 자료 이동의 비용을 줄이고 코드 및 자료의 지역성을 높이는 데 초점을 둔다.

반복자 실행의 비용

전통적인 반복자 방식은 연산자의 다음 결과를 요청하는 함수를 반복 호출한다. 모듈을 조합하기 쉽지만 많은 호출과 간접 분기 및 상태 관리가 CPU 비용을 키울 수 있다.

실행 계획을 기계 코드로

연구는 질의를 작고 효율적인 기계 코드로 변환하는 컴파일 전략을 제안했다. 자료와 코드의 지역성 및 예측하기 쉬운 분기 배치를 고려해 처리 비용을 줄인다.

컴파일 시간과 실행시간

컴파일에도 시간이 필요하므로 실행 속도만으로 전체 비용을 판단할 수는 없다. 연구는 HyPer에 이 전략을 구현해 질의 성능과 컴파일 부담을 함께 평가했다.

관련 문서

Umbra 데이터베이스 / 데이터베이스 / 관계형 데이터베이스 / CPU 캐시 / 캐시 / 인덱스 (데이터베이스)