Hello, Igniters!

As you may already know there is the new Ignite SQL engine based on Apache
Calcite currently under development.

Reasons to move from H2-based engine and motivation for creating the new
one in details described in IEP-37 [1].

You can find all related to the new engine source code changes in the
"sql-calcite" branch [2].

Calcite-based SQL engine is not production-ready yet and has a lot of known
issues. In the future, the new engine should be fully independent of
"ignite-indexing" and H2, but now it relies on schema management and
indexes implemented in the "ignite-indexing" module and can't work without
the old engine. Despite all of the above mentioned, in the current state,
it has its own parsing, planning and execution flow and is almost as
functional as the H2-based SQL engine.

Some users are already interested in the Calcite-based engine and asking
about the development status and release dates. Calcite-based SQL engine
will be the only SQL engine in Ignite 3.0. Perhaps even in 2.x we can get
rid of the H2-based engine at some time in the future. There is some syntax
difference between Calcite and H2 (Calcite is closer to SQL standards than
H2) and a totally new execution flow. After the release of this feature,
users can try their queries and determine if any adaptation for them is
required. With the new planning and execution flow, perhaps, some queries
will be executed more effectively, users can redirect such queries to the
new engine.

I think we can provide an opportunity to users to try the new engine and
release it as an experimental feature with the next Apache Ignite version
(2.13).

What do you think?

Reply via email to