# apache/calcite

Apache Calcite

Repository: https://github.com/apache/calcite
Canonical: https://ross.abutalabs.com/products/calcite
Homepage: https://calcite.apache.org/
Language: Java
License: Apache-2.0
License Family: permissive
Topics: geospatial, calcite, java, big-data, hadoop, sql
Last push: 2026-08-26T22:46:35+00:00

## Health v2 (maintenance only)
Score: 77/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 99, release rhythm 35, longevity 100
- inputs: {"age_days": 4452, "days_push": 7, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 5175, forks 2515 (observed 2026-08-28T04:09:11.737649+00:00)

## What it is
Apache Calcite is a dynamic data management framework for the JVM that supplies the building blocks of a database—an industry-standard SQL parser and validator, a customizable cost-based query optimizer, and logical/physical relational algebra—while deliberately omitting storage primitives. Through pluggable schema adapters and a JDBC driver, it lets applications execute SQL over heterogeneous data sources such as Cassandra, Elasticsearch, MongoDB, Kafka, Druid, and plain JDBC databases.

## Use cases
- parse and validate SQL queries in a Java application
- run SQL queries over MongoDB, Elasticsearch, or other non-SQL data stores
- build a custom database or query engine without writing a parser or optimizer from scratch
- federate SQL queries across multiple heterogeneous data sources
- convert SQL statements into relational algebra and back
- add rule-based query optimization and materialized view rewriting to a data system
- expose a JDBC interface over custom schemas or in-memory data

## When to choose
- You are building a database, SQL layer, or query engine on the JVM and want proven parsing, planning, and optimization machinery
- You need to present non-SQL data sources as queryable SQL tables with minimal configuration
- You want a highly extensible optimizer with pluggable rules, cost models, and relational operators
- You need data virtualization or SQL federation across diverse backends

## When to avoid
- You need a ready-to-run database that actually stores and processes data—Calcite intentionally omits storage and data processing
- Your stack is not JVM-based, since Calcite is a Java library
- You only need simple embedded analytics where a full database would be simpler than embedding a query framework

## Facets
- artifact type: framework
- maturity: stable
- function: parser, database, compiler, middleware
- domain: databases, big-data, analytics
- platform: jvm, windows, cross-platform
- tags: sql-parser, query-optimizer, jdbc-driver, relational-algebra, data-virtualization, query-federation, materialized-views, pluggable-adapters, sql-dialect, query-planning, data-engineering, linux, macos

## Member repositories
- apache/calcite (main) score 77

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:09:11.737649+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T18:01:49.994686+00:00, confidence not recorded.
  - readme: https://github.com/apache/calcite (fetched 2026-08-28T04:09:11.737649+00:00, sha 6af7c474e197)
  - homepage: https://calcite.apache.org/ (fetched 2026-08-29T08:55:51.343121+00:00, sha 31f817b728e2)
  - site_page: https://calcite.apache.org/docs (fetched 2026-08-29T08:55:51.345576+00:00, sha 4bc7a9bbb8c1)
  - site_page: https://calcite.apache.org/docs/reference.html (fetched 2026-08-29T08:55:51.347943+00:00, sha 87c5a03077d4)
  - site_page: https://calcite.apache.org/docs/algebra.html (fetched 2026-08-29T08:55:51.353505+00:00, sha ac57abe2d856)
  - site_page: https://calcite.apache.org/docs/adapter.html (fetched 2026-08-29T08:55:51.355713+00:00, sha ad0ec48eaf9b)
  - site_page: https://calcite.apache.org/docs/history.html (fetched 2026-08-29T08:55:51.358129+00:00, sha 7dc67d560a62)
- Data as of 2026-08-30T08:39:29.467469+00:00.
