Skip to main content
QUICK REVIEW

[논문 리뷰] Apache Calcite: A Foundational Framework for Optimized Query Processing Over Heterogeneous Data Sources

Edmon Begoli, Jesús Camacho-Rodríguez|OSTI OAI (U.S. Department of Energy Office of Scientific and Technical Information)|2018. 02. 28.
Data Management and Algorithms참고 문헌 29인용 수 49
한 줄 요약

이 논문은 모듈식으로 임베드 가능한 프레임워크로서 Apache Calcite를 제시하며, 다양한 데이터 소스와 백엔드를 가로지르는 질의 페더레이션 및 최적화를 위한 질의 처리, 최적화, 언어 지원을 제공합니다.

ABSTRACT

Apache Calcite is a foundational software framework that provides query processing, optimization, and query language support to many popular open-source data processing systems such as Apache Hive, Apache Storm, Apache Flink, Druid, and MapD. Calcite's architecture consists of a modular and extensible query optimizer with hundreds of built-in optimization rules, a query processor capable of processing a variety of query languages, an adapter architecture designed for extensibility, and support for heterogeneous data models and stores (relational, semi-structured, streaming, and geospatial). This flexible, embeddable, and extensible architecture is what makes Calcite an attractive choice for adoption in big-data frameworks. It is an active project that continues to introduce support for the new types of data sources, query languages, and approaches to query processing and optimization.

연구 동기 및 목표

  • 이질적인 데이터 소스와 백엔드를 가로지르는 질의 최적화를 위한 통합 프레임워크의 필요성 동향 제시.
  • 저장 관리 없이 질의 처리를 위한 모듈식이고 확장 가능한 기초로 Calcite의 아키텍처 설명.
  • 어댑터, 관계 대수, 특성(traits)이 교차 시스템 최적화 및 실행을 어떻게 가능하게 하는지 설명.
  • 다양한 데이터 모델(관계형, 반구조화, 스트리밍, 지리공간) 및 질의 언어에 대한 확장성 강조.
  • 인기 있는 오픈 소스 시스템과의 통합을 통한 채택 및 영향력 보여주기.

제안 방법

  • 관계 대수 코어와 플러그인 가능한 옵티마이저(규칙, 메타데이터 공급자, 플래너 엔진)를 사용하는 Calcite의 아키텍처 설명.
  • 외부 데이터 저장소를 읽고 백엔드로 로직을 푸시하는 어댑터 설계(모델, 스키마, 스키마 팩토리) 설명.
  • 교차 백엔드 최적화를 가능하게 하는 특성 기반 물리적 속성과 호출 규칙 상세화.
  • 비용 기반 및 전체 탐색형 플래너 엔진과 최적화를 위한 물질화된 뷰 재작성(Key: materialized-view rewriting) 소개.
  • 반구조화, 스트리밍 및 지리공간 데이터에 대한 확장과 언어 통합 질의(LINQ4J) 제공.
  • Calcite의 임베디드 최적화 계층으로서 산업 시스템과의 통합 및 역할을 보여주는 사례 제시.

실험 결과

연구 질문

  • RQ1이질적인 데이터 소스 및 처리 백엔드 전반에 걸친 효율적 질의 최적화를 단일 프레임워크가 어떻게 지원할 수 있는가?
  • RQ2확장 가능한 어댑터와 교차 시스템 계획을 가능하게 하는 아키텍처 구성 요소는 무엇인가?
  • RQ3공통 관계 대수 코어 내에서 SQL 및 비 SQL 질의 처리를 어떻게 통합할 수 있는가?
  • RQ4반구조화, 스트리밍 및 지리공간 데이터를 지원하기 위한 확장은 무엇이 필요한가?
  • RQ5Calcite의 산업계와 학계에서의 영향력과 채택은 어떤가?

주요 결과

  • Calcite는 수백 개의 규칙과 플러그인 가능한 엔진을 갖춘 모듈식이고 확장 가능한 옵티마이저를 제공한다.
  • 어댑터는 Calcite가 다양한 데이터 소스를 읽는 방법을 정의하고, 프레디케이트와 연산의 백엔드 푸시다운을 가능하게 한다.
  • ANSI SQL과 확장을 지원하며, JDBC 드라이버 및 이질적 데이터 모델을 위한 질의 대수를 제공한다.
  • 프레임워크는 물리적 속성과 실행 전략에 대해 백엔드 간의 추론을 가능하게 하는 특성(traits)과 호출 규칙을 활용한다.
  • Calcite는 Hive, Drill, Storm, Flink, Solr 등과 같은 프로젝트에서 널리 채택되어 산업계에 광범위한 영향을 보여준다.
  • Calcite는 SQL을 넘어 반구조화, 스트리밍 및 지리공간 데이터와 언어 통합 질의(LINQ4J)도 제공한다.

더 나은 연구,지금 바로 시작하세요

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.