What's New in Apache Ignite 3.0

Apache Ignite 3.0 is the latest milestone in Apache Ignite evolution that enhances developer experience, platform resilience, and efficiency. In this article, we’ll explore the key new features and improvements in Apache Ignite 3.0.

Installation and Management of Ignite 3

Apache Ignite 3.0 simplifies the installation and management process, making it more accessible for developers and administrators.

New Ignite 3 Installation Packages

Apache Ignite 3.0 introduces modern Linux installation options:

  • Native Linux Packages: Ignite now offers native RPM and DEB installation packages for Linux distributions, making it easier to install, upgrade, and manage through standard package managers.

Interactive Unified Ignite CLI

The new Ignite 3.0 Command Line Interface (CLI) provides a streamlined experience for managing and interacting with the cluster.

  • Single CLI Tool: The new CLI unifies cluster configuration, management, and SQL access in one tool, reducing complexity.
  • Scripting and Interactive Mode: Users can execute scripts for automation or use an interactive shell (REPL) for direct interaction with the cluster.
  • Syntax Highlighting and Autocomplete: The interactive mode includes enhanced usability features such as syntax highlighting and command autocompletion, making cluster management and troubleshooting easier.

Dynamic Configuration Framework

Apache Ignite 3.0 replaces the legacy Spring XML-based configuration with a modern dynamic configuration system:

  • HOCON-based Configuration: Human-Optimized Config Object Notation (HOCON) is now the standard configuration language, offering a more readable and flexible alternative to XML.
  • Dynamic Changes: Configuration parameters can now be modified dynamically via the CLI or REST API without requiring a node restart, improving operational flexibility.

Clients and APIs for Ignite 3

Apache Ignite 3.0 streamlines application development by unifying access across different clients and data models while ensuring flexibility and improving developer experience.

Unified Ignite Clients

Previously, Ignite had a distinction between thin and thick clients, requiring developers to choose between lightweight connections or full-featured clients. In Ignite 3.0:

  • Lightweight Yet Fully Featured Ignite Clients: New clients now support the full range of API features without the need to choose between thin or thick clients.
  • Consistent Experience Across Languages: The new client model ensures consistency in API behavior across different programming languages, reducing learning curves and integration complexities.

Table API and Unified Schema for Ignite 3

Ignite 3.0 enhances the way the data schema is managed and accessed across SQL and NoSQL interfaces.

  • Consistent Data Schema: All data representations—SQL schema, key-value data types, and internal data storage—are now unified, eliminating the need for error-prone mappings between different models.
  • Table Views: Table Views is a new API that allows applications to independently define how they access the database tables, increasing flexibility in choosing the client-side data model.
  • Record API: Record API is a new alternative to Key-Value API that allows you to use a single data object without separating it into keys and values, which further increases flexibility of development.

Asynchronous and Reactive Programming for Ignite 3

Ignite 3.0 enhances support for concurrent programming paradigms:

  • Language Features Support: Client APIs support asynchronous and reactive programming with standard language constructs such as CompletableFuture and Flow API in Java or Task and IAsyncEnumerable in .NET.

SQL Transactions in Ignite 3

Ignite 3.0 includes full transaction support in SQL:

  • Transactional SQL Support: Full support for transactions allows you to bring more SQL applications to Ignite without compromising on consistency.
  • Combining SQL and NoSQL: Both SQL and NoSQL-style APIs can be used together in a single transaction, enabling developers to choose the API they want to use at any given time.

Architecture and Performance in Ignite 3

Apache Ignite 3.0 includes major architectural upgrades to improve cluster reliability and efficiency.

Raft-based Consensus

Apache Ignite 3.0 now utilizes a Raft-based consensus mechanism for enhanced resiliency:

  • Improved Fault Tolerance: Distributed consensus ensures stronger cluster stability and prevents split-brain scenarios.
  • Simplified Cluster Changes: The new protocol reduces impact of node restarts and topology changes on the overall cluster, minimizing downtime and simplifying maintenance.

MVCC Transactions in Ignite 3

Apache Ignite 3.0 has improved transaction handling with a new protocol based on Multi-Version Concurrency Control (MVCC):

  • Strictly Serializable Transactions: Strong transaction isolation level protects developers from common concurrent programming pitfalls, simplifying development and minimizing bugs.
  • Lightweight Read-Only Transactions: Increased concurrency with optimized performance for read-heavy workloads.

Calcite-based SQL Engine

Apache Ignite 3.0 replaces its previous SQL engine with Apache Calcite, bringing numerous improvements:

  • Advanced Query Optimization: Better execution plans for complex SQL queries.
  • Non-Colocated Distributed Joins: More efficient distributed joins improve query performance across large datasets.
  • Enhanced Support for Aggregations and Subqueries: Optimized query execution for analytical workloads.

Binary Tuple

A new internal data format, Binary Tuple, replaces the older Binary Object representation:

  • Reduced Overhead: More efficient data serialization and storage.
  • Higher Storage Density: Optimized for in-memory and disk-based persistence.

Apache Ignite 3.0

Apache Ignite 3.0 is a major step forward, simplifying installation, improving configuration management, enhancing API usability, and significantly boosting performance. Whether you are new to Ignite or an experienced user, these changes make it easier to build, deploy, and manage high-performance distributed applications.

  • For New Ignite Users: Apache Ignite 3.0 provides an easier learning curve, streamlining first-time installation and configuration.
  • For Experienced Ignite Users: Enhanced developer experience simplifies continuous improvement and maintenance. New capabilities such as SQL transactions enable new use cases. Architecture improvements make deployments more resilient and efficient.

To learn more:

To try the new Apache Ignite 3.0 capabilities yourself: