|Apache Ignite Changes SQL Engine|
|Written by Kay Ewbank|
|Thursday, 05 May 2022|
Apache Ignite has been updated to use a new SQL engine based on Apache Calcite, and new 'read repair' strategies.
Ignite can be used as a traditional SQL database via JDBC drivers, ODBC drivers, or its own native SQL APIs. By default, it runs purely in-memory, but clusters can be configured to run on a mix of disk and memory. It supports co--located compute in Java, Scala, Kotlin, C#, and C++.
Apache Calcite is s a dynamic data management framework.It contains many of the pieces that comprise a typical database management system, but omits some key functions: storage of data, algorithms to process data, and a repository for storing metadata. Calcite includes a SQL parser, an API for building expressions in relational algebra, and a query planning engine.
The new experimental SQL engine based on Apache Calcite aims to remove some of the limitations of the existing H2 SQL engine, and to optimize the execution of some queries.
The current H2-based engine has fundamental limitations, including a limit on query splitting to two phases - map subquery and reduce subquery. H2's optimizer is also not written to work in a distributed environment, and the creators of H2 often decline Ignite-specific changes to the H2 code.
The Apache Calcite is a SQL engine with customizable modules, and query requests can be split into more than two phases.
Another improvement to the new version is to the read repair strategies. Read repair refers to the task of repairing inconsistencies between primary and backup copies of data during normal read operations. The new read repair strategies can be set to one of a number of options, including LWW (Last Write Wins), the value from the primary node wins. and values found more often than any other wins. Users can also choose to remove inconsistent entries.
Apache Ignite 2.13 is available now.
Summer SALE Kindle 9.99 Paperback $10 off!!
or email your comment to: email@example.com
|Last Updated ( Thursday, 05 May 2022 )|