스토리지 계층storage layer은 선형적 영속성 계층 위에서 사용자에게 친숙한 추상적 2차원 테이블을 제공합니다. 예를 들어 사용자는 SQL을 작성할 때 데이터 형식이나 레이아웃을 모르더라도 조인이나 필터 등 결과를 정의하는 제약 조건을 정의하는 데 집중하고, 옵티마이저optimizer가 올바른 결과를 만드는 효율적인 방법을 찾습니다.
단순한 쿼리 엔진은 데이터를 메모리에 로드한 다음, 필터 및 표현식을 적용합니다. 당연히 나중에 쿼리 프로세싱 과정에서 버려질 것은 로드하지 않으려 합니다. 로드하지 않으면 역직렬화도 하지 않으므로 I/O 비용뿐만 아니라 CPU 비용까지 절약됩니다. 또한, 데이터가 차지하는 공간을 줄여서 저장 비용을 줄이고 데이터를 찾아 가져오는 속도도 높여야 합니다. 인코딩과 압축을 조합하면 I/O 비용 감소와 CPU 비용 증가 사이에서 균형을 찾을 수 있습니다. 스토리지의 처리량이 CPU 사용량을 결정하기 때문에 저렴한 디코딩 기법이 매우 중요합니다.
이런 세부적인 구현은 일반적으로 푸시다운 뒤로 숨겨져 있습니다. 푸시다운pushdown은 쿼리 연산을 스토리지 계층으로 밀어내려서 데이터 로드 비용을 최소화합니다. 푸시다운에는 몇 가지 변종이 있습니다.