awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
apache avatar

apache/calcite

0
View on GitHub↗
5,139 星标·2,497 分支·Java·Apache-2.0·4 次浏览calcite.apache.org↗

Calcite

Calcite 是一个用于解析、优化并将 SQL 查询转换为关系代数以在不同数据源上执行的框架。它既是一个跨源查询引擎,也是一个 SQL 解析库和关系代数优化器。

该项目提供了一个基于成本的优化引擎,利用可插拔规则将逻辑查询计划转换为高效的物理执行计划。它利用转换适配器将标准 SQL 请求转换为外部数据库和消息系统的原生格式,从而实现异构存储系统之间的数据联邦。

该系统涵盖了完整的查询生命周期,包括 SQL 解析和模式验证、将表达式转换为代数运算符,以及选择高效的执行计划。它还包含一个用于执行查询和管理数据源连接的命令行界面。

Features

  • Cross-Source Querying - Implements a query engine that retrieves and processes data from multiple heterogeneous backend storage systems using a unified SQL dialect.
  • Federated Data Query Engines - Provides a federated query engine that translates relational operators into native backend formats to query diverse storage systems.
  • Cross-Source Data Integration - Connects diverse storage systems through a common interface, joining datasets from external sources into a single result.
  • Cost-Based Optimizers - Implements a cost-based optimizer that estimates resource costs to select the most efficient physical execution plans.
  • Query Plan Optimizations - Transforms logical plans into efficient physical plans using pluggable rules and cost-based functions.
  • Query Optimizer Frameworks - Offers a complete framework for parsing, optimizing, and translating SQL queries into relational algebra for diverse data sources.
  • Relational Query Optimizers - Translates text into relational algebra and applies optimization rules to improve efficiency across different data sources.
  • Rule-Based Plan Optimizations - Transforms logical query plans into efficient physical plans by applying a series of rewrite rules.
  • Relational Algebra Translation - Converts SQL query strings into a tree of relational algebraic operators for logical manipulation and optimization.
  • SQL Abstract Syntax Tree Parsing - Converts SQL strings into abstract syntax trees (ASTs) to facilitate programmatic analysis and optimization.
  • SQL Query Execution - Runs SQL statements and retrieves results as structured data from connected data backends.
  • SQL to Relational Algebra Translation - Translates SQL expressions into relational algebraic operators to facilitate logical and physical query planning.
  • Schema Validation - Provides comprehensive SQL parsing and validation of queries against defined metadata schemas to ensure correctness.
  • External Store Integrations - Retrieves information from multiple external data stores using a set of pre-built translation adapters.
  • Pluggable Rules - Allows the query transformation process to be extended by injecting custom logic into the optimization pipeline.
  • Schema-Based Query Validation - Verifies the structural correctness of parsed queries against a defined metadata model before plan generation.
  • Native Query Translation - Translates standard SQL expressions into optimized proprietary formats for various underlying storage engines.
  • SQL Query Validators - Converts SQL strings into structured formats and verifies them against a schema to ensure correctness.
  • Data Engineering - Dynamic data management framework for SQL optimization.

Star 历史

apache/calcite 的 Star 历史图表apache/calcite 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

常见问题解答

apache/calcite 是做什么的?

Calcite 是一个用于解析、优化并将 SQL 查询转换为关系代数以在不同数据源上执行的框架。它既是一个跨源查询引擎,也是一个 SQL 解析库和关系代数优化器。

apache/calcite 的主要功能有哪些?

apache/calcite 的主要功能包括:Cross-Source Querying, Federated Data Query Engines, Cross-Source Data Integration, Cost-Based Optimizers, Query Plan Optimizations, Query Optimizer Frameworks, Relational Query Optimizers, Rule-Based Plan Optimizations。

apache/calcite 有哪些开源替代品?

apache/calcite 的开源替代品包括: prestodb/presto — Presto is a distributed SQL query engine designed for high-performance analytical processing across heterogeneous data… apache/pinot — Pinot is a distributed, columnar analytical database designed for high-concurrency, low-latency query processing. It… alasql/alasql — AlaSQL is a JavaScript SQL database engine that allows for the filtering, grouping, and joining of in-memory object… apache/datafusion — Apache DataFusion is an extensible, columnar SQL query engine that runs embedded within a host application without… apache/hive — Apache Hive is a SQL-on-Hadoop data warehouse that enables querying and managing petabytes of data stored in… trinodb/trino — Trino is a distributed SQL query engine designed for large-scale data analytics. It functions as a data federation…

Calcite 的开源替代方案

相似的开源项目,按与 Calcite 的功能重合度排序。
  • prestodb/prestoprestodb 的头像

    prestodb/presto

    16,711在 GitHub 上查看↗

    Presto is a distributed SQL query engine designed for high-performance analytical processing across heterogeneous data sources. It functions as a data federation platform and massively parallel processing engine, allowing users to execute interactive queries against diverse storage systems without requiring data migration. By mapping remote metadata and structures to a unified relational namespace, it enables seamless cross-platform analysis through a standard SQL interface. The engine distinguishes itself through a pluggable connector architecture and a shared-nothing distributed processing

    Javabig-datadatahadoop
    在 GitHub 上查看↗16,711
  • apache/pinotapache 的头像

    apache/pinot

    6,098在 GitHub 上查看↗

    Pinot is a distributed, columnar analytical database designed for high-concurrency, low-latency query processing. It functions as a real-time OLAP datastore, enabling interactive, user-facing analytics by ingesting and querying massive datasets from both streaming and batch sources. The system architecture relies on a centralized controller for cluster coordination and a distributed segment-based storage model to ensure horizontal scalability. The platform distinguishes itself through a hybrid ingestion pipeline that unifies real-time event streams and historical batch data into a single quer

    Java
    在 GitHub 上查看↗6,098
  • alasql/alasqlA

    AlaSQL/alasql

    7,278在 GitHub 上查看↗

    AlaSQL is a JavaScript SQL database engine that allows for the filtering, grouping, and joining of in-memory object arrays and JSON data. It functions as an in-memory SQL database and client-side data processor, enabling the execution of SQL statements against JavaScript arrays and external data sources in both browser and server environments. The project serves as a universal data query tool capable of performing relational joins across diverse sources, such as merging Google Spreadsheets, SQLite files, and remote APIs into a single result set. It also acts as an IndexedDB SQL wrapper, allow

    JavaScript
    在 GitHub 上查看↗7,278
  • apache/datafusionapache 的头像

    apache/datafusion

    8,908在 GitHub 上查看↗

    Apache DataFusion is an extensible, columnar SQL query engine that runs embedded within a host application without requiring a separate server process. It processes data in columnar batches using Apache Arrow for memory-efficient analytics, and can scale analytic workloads across multiple nodes for parallel execution. The engine supports both SQL and DataFrame queries through a modular, streaming architecture that allows custom operators, data sources, functions, and optimizer rules. The engine distinguishes itself through its modular extension framework, which enables building custom query e

    Rustarrowbig-datadataframe
    在 GitHub 上查看↗8,908
  • 查看 Calcite 的所有 30 个替代方案→