Apache Calcite Alternatives

Similar projects and alternatives to Apache Calcite

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better Apache Calcite alternative or higher similarity.

Suggest an alternative to Apache Calcite

Apache Calcite reviews and mentions

Posts with mentions or reviews of Apache Calcite. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-03-31.
  • CITIC Industrial Cloud — Apache ShardingSphere Enterprise Applications
    1 project | dev.to | 14 Apr 2022
    The SQL Federation engine contains processes such as SQL Parser, SQL Binder, SQL Optimizer, Data Fetcher and Operator Calculator, suitable for dealing with co-related queries and subqueries cross multiple database instances. At the underlying layer, it uses Calcite to implement RBO (Rule Based Optimizer) and CBO (Cost Based Optimizer) based on relational algebra, and query the results through the optimal execution plan.
  • Postgres wire compatible SQLite proxy
    14 projects | news.ycombinator.com | 31 Mar 2022
    Awesome to see work in the DB wire compatible space. On the MySQL side, there was MySQL Proxy (https://github.com/mysql/mysql-proxy), which was scriptable with Lua, with which you could create your own MySQL wire compatible connections. Unfortunately it appears to have been abandoned by Oracle and IIRC doesn't work with 5.7 and beyond. I used it in the past to hack together a MySQL wire adapter for Interana (https://scuba.io/).

    I guess these days the best approach for connecting arbitrary data sources to existing drivers, at least for OLAP, is Apache Calcite (https://calcite.apache.org/). Unfortunately that feels a little more involved.

  • Launch HN: Hydra (YC W22) – Query Any Database via Postgres
    4 projects | news.ycombinator.com | 23 Feb 2022
    For anyone interested, Apache Calcite[0] is an open source data management framework which seems to do many of the same things that Hydra claims to do, but taking a different approach. Operating as a Java library, Calcite contains "adapters" to many different data sources from existing JDBC connectors to Elasticsearch to Cassandra. All of these different data sources can be joined together as desired. Calcite also has it's own optimizer which is able to push down relevant parts of the query to the different data sources. However, you get full SQL on data sources which don't support it, with Calcite executing the remaining bits itself.

    Unfortunately, I would not be too surprised if Calcite was found to be less performance-optimized than Hydra. That said, there are users of Calcite at Google, Uber, Spotify, and others who have made great use of various parts of the framework.

    [0] https://calcite.apache.org/

  • Anyone know of any software that can help in designing then outputting to various database
    1 project | reddit.com/r/DatabaseHelp | 21 Nov 2021
    Abstraction Layer - You can use something like Calcite to abstract out your data storage. https://calcite.apache.org/
  • Open Source SQL Parsers
    17 projects | dev.to | 8 Oct 2021
    There are multiple projects that maintain parsers for popular open source databases like MySQL and Postgres. For other open source databases, the grammar can be extracted from the open-source project. For commercial databases, the only option is to reverse engineer the complete grammar. There are SQL parser/optimizer platforms like Apache Calcite that help to reduce the effort to implement the SQL dialect of your choice.
  • Introduction to the Join Ordering Problem
    1 project | dev.to | 26 Sep 2021
    In this post, we took a sneak peek at the join ordering problem and got a bird's-eye view of its complexity. In further posts, we will explore the complexity of join order planning for different graph topologies, dive into details of concrete enumeration techniques, and analyze existing and potential strategies of join planning in Apache Calcite. Stay tuned!
  • Does Java have an open source package that can execute SQL on txt/csv?
    3 projects | reddit.com/r/programming | 22 Sep 2021
    Yes. Apache Calcite can do that.
  • High-performance, columnar, in-memory store with bitmap indexing in Go
    1 project | news.ycombinator.com | 21 Jun 2021
  • Memoization in Cost-based Optimizers
    2 projects | dev.to | 9 Jun 2021
    You may find a similar design in many production-grade heuristic optimizers. In our previous blog post about Presto, we discussed the Memo class that manages such references. In Apache Calcite, the heuristic optimizer HepPlanner models node references through the class HepRelVertex.
  • Superintendent: Load multiple CSV files and write SQL
    2 projects | reddit.com/r/programming | 7 Jun 2021
    Apache Calcite? Its tutorial is about querying CSV files.
  • What is Cost-based Optimization?
    4 projects | dev.to | 2 Jun 2021
    In Apache Calcite, the cost is modeled as a scalar representing the number of rows being processed.
  • Apache Calcite - FilterableTable, how to get LIMIT clause?
    1 project | reddit.com/r/dataengineering | 19 Mar 2021
    I managed to have a basic version running by implementing the ScannableTable interface. You basically need to implement the Enumerable scan(DataContext ctx) method. So far so good, however, it will do a full scan on my backend and apply the filters of the WHERE clause in the driver itself.
  • Assembling a query optimizer with Apache Calcite
    5 projects | dev.to | 4 Jan 2021
    AST is not convenient for query optimization because the relational semantics of it's nodes is too complicated. It is much more convenient to perform query optimization on a tree of relational operators, defined by the RelNode subclasses, such as Scan, Project, Filter, Join, etc. We use SqlToRelConverter, another monstrous class of Apache Calcite, to convert the original AST into a relational tree.
    5 projects | dev.to | 4 Jan 2021
    During the conversion, Apache Calcite produces a tree of logical relational operators, are abstract and do not target any specific execution backend. For this reason, logical operators always have the convention trait set to Convention.NONE. It is expected that you will convert them into physical operators during the optimization. Physical operators have a specific convention different from Convention.NONE.
    5 projects | dev.to | 4 Jan 2021
    The validation is performed by the SqlValidatorImpl class, one of the most complex classes in Apache Calcite. This class requires several supporting objects. First, we create an instance of RelDataTypeFactory, which provides SQL type definitions. We use the built-in type factory, but you may also provide your custom implementation if need.

Stats

Basic Apache Calcite repo stats
22
3,108
9.3
about 18 hours ago

apache/calcite is an open source project licensed under Apache License 2.0 which is an OSI approved license.

SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
Find remote jobs at our new job board 99remotejobs.com. There are 7 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.