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

<!--
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>
<meta charset="utf-8">

    <link rel="canonical" href="https://ignite.apache.org/features/sql.html" />
    <!--#include virtual="/includes/scriptshead.html" -->

    <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="/docs/latest/SQL/sql-introduction">Ignite SQL implementation details <i class="fas fa-angle-double-right"></i></a></p>
                        </li>
                        <li>
                          <p><a href="/docs/latest/SQL/distributed-joins">Distributed JOINs <i class="fas fa-angle-double-right"></i></a></p>
                        </li>
                        <li>
                          <p><a href="/docs/latest/sql-reference/sql-conformance">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>
