<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1" />
    <title>Distributed ANSI SQL | Apache Ignite</title>
    <link rel="stylesheet" href="/js/vendor/hystmodal/hystmodal.min.css" />
    <link rel="stylesheet" href="/js/vendor/swiper/swiper-bundle.min.css" />
    <link rel="stylesheet" href="/css/utils.css" />
    <link rel="stylesheet" href="/css/site.css" />
    <link rel="stylesheet" href="/css/media.css" media="only screen and (max-width:1199px)" />
    <link rel="icon" type="image/png" href="/img/favicon.png" />
    <link rel="stylesheet" href="../css/native-persistence.css" />
    <link rel="stylesheet" href="../css/compute-apis.css" />
    <link rel="stylesheet" href="../css/sql.css" />
  </head>
  <body>
    <!-- MOBILE MENU START -->
    <div class="hystmodal" id="jsMenuModal" aria-hidden="true">
      <div class="hystmodal__wrap">
        <div class="hystmodal__window mobmenu" role="dialog" aria-modal="true">
          <button data-hystclose class="hystmodal__close">Close</button>
          <div class="mobmenu__wrap">
            <a href="/" class="mobmenu__logo"><img src="/img/logo.svg" alt="Логотип" /></a>
            <div class="mobmenu__menu">
              <div class="mobmenu__h1 berlin">Navigation</div>
              <ul>
                <li>
                  <a href="/">Get started</a>
                </li>
                <li>
                  <a href="/features/">Features</a>
                </li>
                <li>
                  <a href="/community.html">Community</a>
                </li>
                <li>
                  <a href="/use-cases/provenusecases.html">Powered by</a>
                </li>
                <li>
                  <a href="https://ignite.apache.org/docs/latest/">Docs</a>
                </li>
              </ul>
            </div>
            <!-- //mobmenu__menu -->
          </div>
          <!-- //mobmenu__wrap -->
        </div>
        <!-- //mobmenu -->
      </div>
    </div>
    <!-- MOBILE MENU END -->
    <header class="hdr hdr__blue">
      <div class="cmtyhero__wrap flexi">
        <button class="hdr__burger" data-menumodal="#jsMenuModal"><img src="/img/menu.svg" alt="" /></button><a class="hdr__logo" href="/"><img class="hdr__logoimg" src="/img/logo-white.svg" alt="" /></a
        ><a class="button hdr__button" href="/download.html">Download Ignite 2.11 </a>
        <nav class="hdrmenu">
          <ul class="flexi">
            <li><a href="/">Get started</a></li>
            <li><a class="hdrmenu__current" href="/features">Features</a></li>
            <li><a href="/community.html">Community</a></li>
            <li><a href="/use-cases/provenusecases.html">Powered by</a></li>
            <li><a href="///ignite.apache.org/docs/latest/">Docs</a></li>
          </ul>
        </nav>
      </div>
    </header>
    <header class="hdrfloat">
      <div class="cmtyhero__wrap flexi">
        <button class="hdr__burger" data-menumodal="#jsMenuModal"><img src="/img/menu.svg" alt="" /></button><a class="hdr__logo" href="/"><img class="hdr__logoimg" src="/img/logo.svg" alt="" /></a
        ><a class="button hdr__button" href="/download.html">Download Ignite 2.11 </a>
        <nav class="hdrmenu">
          <ul class="flexi">
            <li><a href="/">Get started</a></li>
            <li><a class="hdrmenu__current" href="/features">Features</a></li>
            <li><a href="/community.html">Community</a></li>
            <li><a href="/use-cases/provenusecases.html">Powered by</a></li>
            <li><a href="/docs.html">Docs</a></li>
          </ul>
        </nav>
      </div>
    </header>
    <section class="innerhero">
      <div class="container innerhero__cont">
        <div class="innerhero__main">
          <div class="innerhero__pre pb-3">Apache Ignite</div>
          <h1 class="h1 innerhero__h1">Distributed ANSI SQL</h1>
          <div class="innerhero__descr pt-2 h5">
            The same SQL you've been using for years but now with<br />
            in-memory speed and at unlimited scale
          </div>
          <div class="innerhero__action"><a class="button innerhero__button" href="https://ignite.apache.org/docs/latest/index">Start Coding</a></div>
        </div>
        <img class="innerhero__pic innerhero__pic--sql" src="/img/features/sql/hero-image.svg" alt="sql-hero" />
      </div>
    </section>
    <!-- /.innerhero-->
    <section class="dist">
      <div class="container">
        <div class="dist__block flexi">
          <div class="dist__info">
            <h2 class="dist__h2 h4">Apache Ignite as a SQL Database</h2>
            <p class="dist__text">The native support for SQL let’s you work with Ignite as with a standard SQL database. Literally, you can use just SQL if your applications need nothing else:</p>
            <div class="dist__items flexi">
              <div class="dist__item">
                <h3 class="dist__item-title">DDL commands</h3>
                <div class="dist__item-grey dist__item-grey1 flexi">
                  <div class="dist__itemitem flexi"><span class="dist__item-span">CREATE</span><span class="dist__item-span">ALTER</span><span class="dist__item-span">DROP</span></div>
                </div>
              </div>
              <div class="dist__item">
                <h3 class="dist__item-title">DML commands</h3>
                <div class="dist__item-grey dist__item-grey2 flexi">
                  <div class="dist__itemitem flexi"><span class="dist__item-span">SELECT</span><span class="dist__item-span">INSERT</span><span class="dist__item-span">UPDATE</span></div>
                  <div class="dist__itemitem dist__itemitem__end flexi"><span class="dist__item-span">MERGE</span><span class="dist__item-span">DELETE</span></div>
                </div>
              </div>
            </div>
            <h3 class="dist__h3">Apache Ignite is shipped with:</h3>
            <div class="dist__parts flexi">
              <div class="dist__part flexi">
                <div class="compute2-points__item fz20"></div>
                <div class="dist__part-text">JDBC driver</div>
              </div>
              <div class="dist__part flexi">
                <div class="compute2-points__item fz20"></div>
                <div class="dist__part-text">ODBC driver</div>
              </div>
              <div class="dist__part flexi">
                <div class="compute2-points__item fz20"></div>
                <div class="dist__part-text dist__part-textend flexi">
                  Built-in SQL APIs
                  <div class="dist__part-grey">Available for Java, C#, C++, Python, and other programming languages</div>
                </div>
              </div>
            </div>
          </div>
          <img class="dist__image" src="/img/features/sql/image.svg" alt="sql-hero" />
        </div>
      </div>
    </section>
    <!-- /.dist-->
    <section class="dist1">
      <div class="container">
        <h2 class="dist1__h2 h4">Join, Group and Aggregate Distributed Data Sets</h2>
        <div class="dist1__subtext">Whether you use a two or thousand-node cluster, you always can do the following:</div>
        <div class="dist1__parts flexi">
          <div class="dist1__part">group data</div>
          <div class="dist1__part">join data</div>
          <div class="dist1__part">order data</div>
          <div class="dist1__part dist1__partend">aggregate data</div>
        </div>
        <div class="dist1__title">What is a distributed join?</div>
        <p class="dist1__text h4">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.</p>
        <h3 class="dist1__h3 h4">Types of joins in Ignite</h3>
        <div class="dist1__blocks flexi">
          <div class="dist1__block">
            <h4 class="dist1__h4">Co-located joins</h4>
            <p class="dist1__texts">this is the most performant type of joins that avoid data shuffling between nodes and minimize network usage.</p>
            <p class="dist1__texts pt-1">
              This type of join is used if you join <a class="dist1__link" href="https://ignite.apache.org/docs/latest/data-modeling/affinity-collocation" target="_blank">partitioned and replicated tables</a> or partitioned tables that are
              co-located with each other.
            </p>
          </div>
          <div class="dist1__block">
            <h4 class="dist1__h4">Non-colocated joins:</h4>
            <p class="dist1__texts">less performant type of joins that join data of non-colocated tables. Ignite needs to shuffle data over the network to produce a correct result set.</p>
          </div>
          <div class="dist1__block">
            <h4 class="dist1__h4">Hash joins:</h4>
            <p class="dist1__texts">Ignite supports classic hash join algorithm that is more efficient than nested loop joins for many scenarios.</p>
          </div>
        </div>
      </div>
    </section>
    <!-- /.dist1-->
    <section class="dist2">
      <div class="container">
        <h2 class="dist2__h2 h4">Ignite SQL Engine and Multi-Tier Storage</h2>
        <p class="dist2__p">Depending on your storage configuration, Ignite SQL engine can query both in-memory and disk-only records</p>
        <div class="dist2__blocks flexi">
          <div class="dist2__block">
            <h3 class="dist2__h3">In-Memory Mode</h3>
            <p class="dist2__text dist2__text1">Ignite caches data only in memory</p>
            <details class="dist2__details">
              <summary class="dist2__active"><img src="/img/features/sql/plus.svg" alt="sql-hero" /></summary>
              <div class="dist2__subtext"><p>In this mode, Ignite SQL performs the fastest way possible as long as all the data is served from memory with no usage of the disk tier at all.</p></div>
            </details>
          </div>
          <div class="dist2__block">
            <h3 class="dist2__h3">In-Memory <br />+ Native Persistence Mode</h3>
            <p class="dist2__text">
              Ignite scales beyond available<br />
              memory capacity
            </p>
            <details class="dist2__details">
              <summary class="dist2__active"><img src="/img/features/sql/plus.svg" alt="sql-hero" /></summary>
              <div class="dist2__subtext">
                <p>Ignite persists 100% of data and indexes in the <a href="/arch/native-persistence.html">native persistence</a> while caching as much as possible in memory.</p>
                <p class="pt-1">Ignite SQL engine does not require to cache an entire data set in memory to operate correctly.</p>
                <p class="pt-1">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 class="pt-1">On cluster restarts, Ignite reads data and indexes from disk, eliminating the need for memory warm-up, which significantly decreases downtime.</p>
              </div>
            </details>
          </div>
          <div class="dist2__block">
            <h3 class="dist2__h3">In-Memory<br />+ External Database Mode</h3>
            <p class="dist2__text">
              Ignite accelerates your<br />
              existing databases
            </p>
            <details class="dist2__details">
              <summary class="dist2__active"><img src="/img/features/sql/plus.svg" alt="sql-hero" /></summary>
              <div class="dist2__subtext">
                <p>In this mode, the Ignite SQL engine requires caching all the data needed for distributed queries in memory since the engine currently does not support federated queries.</p>
                <p class="pt-1">
                  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>
            </details>
          </div>
        </div>
      </div>
    </section>
    <!-- /.dist2-->
    <section class="native-bottom container">
      <div class="native-bottom__grid">
        <article class="nativebotblock">
          <h3 class="h4 nativebotblock__title"><img class="nativebotblock__icon" src="/img/features/native-rocket.svg" alt="" /><span>Ready to Start?</span></h3>
          <p class="nativebotblock__text">
            Discover more details about Apache Ignite SQL engine<br />
            and apply it for your use-case
          </p>
          <a class="nativebotblock__link arrowlink" href="https://ignite.apache.org/docs/latest/persistence/native-persistence" target="_blank">Memory Architecture</a>
        </article>
        <article class="nativebotblock nativebotblock--learn">
          <h3 class="h4 nativebotblock__title"><img class="nativebotblock__icon" src="/img/features/native-docs.svg" alt="" /><span>Want to Learn More?</span></h3>
          <p class="nativebotblock__text">Ignite SQL will become even more powerful and advanced with the release of the Apache Calcite based engine</p>
          <div class="dist__link">Coming in Ignite 3.0</div>
          <a class="nativebotblock__link arrowlink" href="https://cwiki.apache.org/confluence/display/IGNITE/Apache+Calcite-powered+SQL+Engine+Roadmap" target="_blank">New Calcite powered SQL engine</a>
        </article>
      </div>
    </section>
    <a class="scrollTop" href="#"
      ><svg class="feather feather-chevron-up" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
        <polyline points="18 15 12 9 6 15"></polyline></svg
    ></a>
    <script src="/js/vendor/hystmodal/hystmodal.min.js"></script>
    <script src="/js/vendor/swiper/swiper-bundle.min.js"></script>
    <script src="/js/vendor/waypoints.min.js"></script>
    <script src="/js/main.js"></script>
  </body>
</html>
