2018 · 138 citations · 8 references
ComputingComputer ScienceBig Data AnalyticsData ManagementDatabasesData IntegrationDatabase ManagementQuery OptimizationQuery ProcessingStream ProcessingStructured Query LanguageAdapter PatternsStream Query Processing
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. The goal of this paper is to formally introduce Calcite to the broader research community, brie y present its history, and describe its architecture, features, functionality, and patterns for adoption. 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 exible, 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.
8
Christopher Olston, Benjamin Reed, Utkarsh Srivastava et al. · 2008 · 1.7K citations
Ashish Thusoo, Joydeep Sen Sarma, Namit Jain et al. · Proceedings of the VLDB Endowment · 2009 · 1.5K citations
Michael Armbrust, Reynold Xin, Cheng Lian et al. · 2015 · 1.2K citations
Sergey Melnik, Andrey Gubarev, Jing Jing Long et al. · Proceedings of the VLDB Endowment · 2010 · 709 citations