<!--
 ▄▄▄       ██▓███   ▄▄▄       ▄████▄   ██░ ██ ▓█████     ██▓  ▄████  ███▄    █  ██▓▄▄▄█████▓▓█████
▒████▄    ▓██░  ██▒▒████▄    ▒██▀ ▀█  ▓██░ ██▒▓█   ▀    ▓██▒ ██▒ ▀█▒ ██ ▀█   █ ▓██▒▓  ██▒ ▓▒▓█   ▀
▒██  ▀█▄  ▓██░ ██▓▒▒██  ▀█▄  ▒▓█    ▄ ▒██▀▀██░▒███      ▒██▒▒██░▄▄▄░▓██  ▀█ ██▒▒██▒▒ ▓██░ ▒░▒███
░██▄▄▄▄██ ▒██▄█▓▒ ▒░██▄▄▄▄██ ▒▓▓▄ ▄██▒░▓█ ░██ ▒▓█  ▄    ░██░░▓█  ██▓▓██▒  ▐▌██▒░██░░ ▓██▓ ░ ▒▓█  ▄
 ▓█   ▓██▒▒██▒ ░  ░ ▓█   ▓██▒▒ ▓███▀ ░░▓█▒░██▓░▒████▒   ░██░░▒▓███▀▒▒██░   ▓██░░██░  ▒██▒ ░ ░▒████▒
 ▒▒   ▓▒█░▒▓▒░ ░  ░ ▒▒   ▓▒█░░ ░▒ ▒  ░ ▒ ░░▒░▒░░ ▒░ ░   ░▓   ░▒   ▒ ░ ▒░   ▒ ▒ ░▓    ▒ ░░   ░░ ▒░ ░
  ▒   ▒▒ ░░▒ ░       ▒   ▒▒ ░  ░  ▒    ▒ ░▒░ ░ ░ ░  ░    ▒ ░  ░   ░ ░ ░░   ░ ▒░ ▒ ░    ░     ░ ░  ░
  ░   ▒   ░░         ░   ▒   ░         ░  ░░ ░   ░       ▒ ░░ ░   ░    ░   ░ ░  ▒ ░  ░         ░
      ░  ░               ░  ░░ ░       ░  ░  ░   ░  ░    ░        ░          ░  ░              ░  ░
-->

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<!DOCTYPE html>
<html lang="en">
<head>

    <link rel="canonical" href="https://ignite.apache.org/features/sql.html" />
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Distributed ANSI SQL - Apache Ignite</title>

    <meta name="description"
          content="Apache Ignite comes with a ANSI-99 compliant, horizontally scalable, and fault-tolerant SQL engine that
           allows you to interact with Ignite as with a regular SQL database."/>

    <!--#include virtual="/includes/styles.html" -->

    
</head>
<body>

    <!--#include virtual="/includes/header.html" -->
<article>
    <header>
        <div class="container">
            <h1>Distributed ANSI SQL <strong>With JOINs</strong></h1>
      </div>
    </header>
    <div class="container">
        <p>
            Apache Ignite® comes with a ANSI-99 compliant, horizontally scalable, and fault-tolerant SQL engine
            that allows you to interact with Ignite as with a regular SQL database using JDBC, ODBC drivers, or
            native SQL APIs available for Java, C#, C++, Python, and other programming languages.
        </p>
        <img class="img-responsive diagram-right" alt="SQL Database diagram" src="/images/svg-diagrams/distributed_sql.svg" alt="Distributed ANSI SQL With JOINs" />
        <p>
            Ignite supports all DML commands, including SELECT, UPDATE, INSERT, and DELETE queries as well
            as a subset of DDL commands relevant for distributed systems.
        </p>
        
        <h2>SQL Joins</h2>
        <p>
            Ignite fully supports distributed joins for advanced querying needs. A distributed join is a SQL statement
            with a join clause that combines two or more tables. If the tables are joined on the partitioning column
            (affinity or primary key), the join is called a co-located join. Otherwise, if the tables were not
            co-located initially, then Ignite does the join in a non-colocated fashion. Co-located joins avoid data
            shuffling between nodes and minimize network usage, thus, performing much faster than a non-colocated
            counterpart.
        </p>

        <h2>SQL and In-Memory Mode</h2>
        <p>
            Apache Ignite can function in a pure in-memory mode when all the data and indexes are located solely in
            memory. In this mode, Ignite SQL shows the highest performance since all the data is served from memory
            with no usage of the disk tier at all.
        </p>

        <h2>SQL and Native Persistence</h2>
        <p>
            In this mode, 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 to cache an 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.
        </p>
        <p>
            On cluster restarts, Ignite reads data and indexes from disk, eliminating the need for memory warm-up,
            which significantly decreases the time of any potential downtimes.

        </p>

        <h2>SQL and 3rd Party Databases</h2>
        <p>
            Ignite can be used as a caching layer for external databases such as RDBMS, NoSQL, or Hadoop. In this mode,
            the Ignite SQL engine requires caching all the data needed for SQL queries in memory since the engine
            currently does not support federated queries.
        </p>

        <p>
            If federated queries between Ignite and an external database are required, then you can consider Ignite
            integration for Spark, where the DataFrames API can join the data stored in Ignite and other systems.
        </p>

            <div class="jumbotron jumbotron-fluid">
                <div class="container">
                  <div class="display-6 title">Learn More</div>
                  <hr class="my-4">
                  <div class="row">
                    <div class="col-sm-6">
                      <ul>
                        <li>
                          <p><a href="https://apacheignite-sql.readme.io/docs/how-ignite-sql-works" target="docs">Ignite SQL implementation details <i class="fas fa-angle-double-right"></i></a></p>
                        </li>
                        <li>
                          <p><a href="https://apacheignite-sql.readme.io/docs/distributed-joins" target="docs">Distributed JOINs <i class="fas fa-angle-double-right"></i></a></p>
                        </li>
                        <li>
                          <p><a href="https://apacheignite-sql.readme.io/docs/sql-reference-overview" target="docs">SQL Reference <i class="fas fa-angle-double-right"></i></a></p>
                        </li>
                      </ul>
                    </div>
                    <div class="col-sm-6">
                      <ul>
                        <li>
                          <p><a href="/use-cases/spark-acceleration.html">Apache Ignite and Spark <i class="fas fa-angle-double-right"></i></a></p>
                        </li>
                        <li>
                          <p><a href="/arch/multi-tier-storage.html">Multi-Tier Storage <i class="fas fa-angle-double-right"></i></a></p>
                        </li>
                      </ul>
                    </div>
                  </div>
                </div>
              </div>

</div>
</article>


<!--#include virtual="/includes/footer.html" -->

<!--#include virtual="/includes/scripts.html" -->
</body>
</html>
