Discover more details about Apache Ignite SQL engine
and apply it for your use-case
The native support for SQL let’s you work with Ignite as with a standard SQL database. You can use simply SQL if your applications need nothing else:
A distributed join is a SQL statement with a join clause that combines two or more tables that have their data distributed across many cluster nodes.
These are the most performant types of joins that avoid data shuffling between nodes and minimize network usage.
This type of join is used if you join partitioned and replicated tables or partitioned tables that are co-located with each other.
A less performant type of join that joins data of non‑colocated tables. Ignite needs to shuffle data over the network to produce a correct result set.
Ignite supports classic hash join algorithm that is more efficient than nested loop joins for many scenarios.
Depending on your storage configuration, Ignite SQL engine can query both in-memory and disk-only records
Ignite caches data only in memory
In this mode, Ignite SQL carries out tasks as quickly as possible, as long as all the data is served from memory, with no usage of the disk tier at all.
Ignite scales beyond available
Ignite persists 100% of data and indexes in the native persistence while caching as much as possible in memory.
Ignite SQL engine does not require the caching of entire data set in memory to operate correctly.
If the engine finds that a record is not cached, then it will read the record from disk. Your application only executes SQL queries, and Ignite gets the records from both memory and disk automatically.
On cluster restarts, Ignite reads data and indexes from disk, eliminating the need for memory warm-up, which significantly decreases downtime.
Ignite accelerates your
In this mode, the Ignite SQL engine requires caching of all the data needed for distributed queries in memory, since the engine does not currently support federated queries.
If federated queries between Ignite and an external database are required, then you can consider Ignite integration for Spark, where the DataFrames API can combine the data stored in Ignite and other systems.