Apache Calcite vs Teiid
Apache Calcite
calcite.apache.orgTeiid
teiid.ioSide by side
| Figure | Apache Calcite | Teiid |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Linux | — | Yes |
| API | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · Data Federation Software | 8.1 (#6) | 8.0 (#8) |
| Purpose | Apache Calcite is a dynamic data management framework that provides components of a database management system while omitting data storage, data processing algorithms, and metadata storage. | Teiid is a Java data virtualization query engine that integrates data from multiple sources through a uniform API. |
| Query optimization | Calcite represents queries in relational algebra, applies planning rules, and optimizes using a cost model. | The engine uses an optimizer and source capability information to push query work to sources where possible. |
| Security | Apache's Security Team coordinates vulnerability handling for Apache projects, and the project releases fixes through affected package releases. | The site describes Teiid as providing secure data access and says Spring Boot projects can select security integration among their dependencies. |
| Support | The project directs users to its developers mailing list, Calcite Jira, Stack Overflow, and source code for help. | The site directs users to community channels including Stack Overflow, a legacy forum, GitHub, and project issue trackers. |
Plans
In their own words
Apache Calcite
Apache Calcite is a free, open-source data management framework for applications that need database-management components without built-in storage. It provides an industry-standard SQL parser, validator, and JDBC driver. Queries are represented as relational algebra, then transformed with planning rules and a cost model for optimization. Calcite can mediate between applications and several storage locations or processing engines, and can push computation to a source database. Listed adapters include Arrow, Cassandra, CSV, Druid, Elasticsearch, JDBC, MongoDB, Redis, Spark, and Splunk. Its JDBC driver supports local connections and remote connections using JSON over HTTP or Protobuf over HTTP. Calcite is available as source and through Maven, for API or self-hosted use. Build prerequisites include Git and Java JDK 8u220 or later, with Java 11 preferred. It does not store data; each source must be registered through a schema or adapter.
Teiid
Teiid is a free, open-source data virtualization project that gives applications a uniform way to query multiple underlying sources. It works as a gateway rather than storing the data, and virtual databases can present separate sources together so applications can join or union their results. Access is available through JDBC, ODBC, OData, and REST. Built-in translators are listed for Oracle, DB2, SQL Server, MySQL, PostgreSQL, and files; custom translators can also be made. Its optimizer uses source capability information to send query work to underlying systems where possible. Documented runtimes include Spring Boot, WildFly, embedded Java, and OpenShift, with Spring Boot noted as less feature-complete than WildFly. Teiid is aimed especially at Java developers integrating enterprise data sources. Connecting to sources commonly requires third-party drivers that are not included. The FAQ cautions that big-data, LDAP-style, and primarily streaming workloads may not be a good fit. Teiid Designer is deprecated, with no further releases expected.