<!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 Key-Value APIs - Apache Ignite</title>
    <meta
      name="description"
      content="Apache Ignite as a distributed key-value store is supported for different caching techniques. Ignite key-value APIs allow to create database key-value tables on-chain and increase processing performance."
    />
    <link rel="canonical" href="https://ignite.apache.org/features/key-value-apis.html" />
    <meta property="og:title" content="Distributed Key-Value APIs - Apache Ignite" />
    <meta property="og:type" content="article" />
    <meta property="og:url" content="https://ignite.apache.org/features/key-value-apis.html" />
    <meta property="og:image" content="/img/og-pic.png" />
    <meta
      property="og:description"
      content="Apache Ignite as a distributed key-value store is supported for different caching techniques. Ignite key-value APIs allow to create database key-value tables on-chain and increase processing performance."
    />
    <link rel="stylesheet" href="/js/vendor/hystmodal/hystmodal.min.css?ver=0.4" />
    <link rel="stylesheet" href="/css/utils.css?ver=0.4" />
    <link rel="stylesheet" href="/css/site.css?ver=0.4" />
    <link rel="stylesheet" href="../css/native-persistence.css?ver=0.4" />
    <link rel="stylesheet" href="../css/key-value-api.css?ver=0.4" />
    <link rel="stylesheet" href="/css/media.css?ver=0.4" media="only screen and (max-width:1199px)" />
    <link rel="icon" type="image/png" href="/img/favicon.png" />
  </head>
  <body>
    <!-- Yandex.Metrika counter -->
    <script type="text/javascript">
      (function (m, e, t, r, i, k, a) {
        m[i] =
          m[i] ||
          function () {
            (m[i].a = m[i].a || []).push(arguments);
          };
        m[i].l = 1 * new Date();
        (k = e.createElement(t)), (a = e.getElementsByTagName(t)[0]), (k.async = 1), (k.src = r), a.parentNode.insertBefore(k, a);
      })(window, document, 'script', 'https://mc.yandex.ru/metrika/tag.js', 'ym');

      ym(72949126, 'init', {
        clickmap: true,
        trackLinks: true,
        accurateTrackBounce: true,
        webvisor: true,
      });
    </script>
    <noscript
      ><div><img src="https://mc.yandex.ru/watch/72949126" style="position: absolute; left: -9999px" alt="" /></div
    ></noscript>
    <!-- /Yandex.Metrika counter --><!-- 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">
              <ul>
                <li>
                  <a href="/resources.html">Resources</a>
                </li>
                <li>
                  <a href="/faq.html">FAQ</a>
                </li>
                <li>
                  <span class="mobmenu__parent"> <a href="/use-cases.html">Use Cases</a><button class="mobmenu__opener"></button> </span>
                  <ul>
                    <li>
                      <a href="/use-cases/in-memory-cache.html">In-Memory Cache</a>
                    </li>
                    <li>
                      <a href="/use-cases/in-memory-data-grid.html">In-Memory Data Grid</a>
                    </li>
                    <li>
                      <a href="/use-cases/in-memory-database.html">In-Memory Database</a>
                    </li>
                    <li>
                      <a href="/use-cases/key-value-store.html">Key-Value Store</a>
                    </li>
                    <li>
                      <a href="/use-cases/high-performance-computing.html">High Performance Computing</a>
                    </li>
                    <li>
                      <a href="/use-cases/digital-integration-hub.html">Digital Integration Hub</a>
                    </li>
                    <li>
                      <a href="/use-cases/spark-acceleration.html">Spark Acceleration</a>
                    </li>
                    <li>
                      <a href="/use-cases/hadoop-acceleration.html">Hadoop Acceleration</a>
                    </li>
                  </ul>
                </li>

                <li>
                  <span class="mobmenu__parent"> <a href="/features/">Features</a><button class="mobmenu__opener"></button> </span>
                  <ul>
                    <li>
                      <a href="/arch/multi-tier-storage.html">Multi-Tier Storage</a>
                    </li>
                    <li>
                      <a href="/arch/native-persistence.html">Native Persistence</a>
                    </li>
                    <li>
                      <a href="/features/sql.html">Distributed SQL</a>
                    </li>
                    <li>
                      <a href="/features/key-value-apis.html">Key-Value APIs</a>
                    </li>
                    <li>
                      <a href="/features/acid-transactions.html">ACID Transactions</a>
                    </li>
                    <li>
                      <a href="/features/compute-apis.html">Compute APIs</a>
                    </li>
                    <li>
                      <a href="/features/service-apis.html">Services</a>
                    </li>
                    <li>
                      <a href="/features/machinelearning.html">Machine Learning</a>
                    </li>
                    <li>
                      <a href="/features/streaming.html">Real-Time Streaming APIs</a>
                    </li>
                    <li>
                      <a href="/docs/latest/messaging">Messaging</a>
                    </li>
                    <li>
                      <a href="/docs/latest/key-value-api/continuous-queries">Continuous Queries</a>
                    </li>
                  </ul>
                </li>

                <li>
                  <a href="/community.html">Community</a>
                  <ul class="isdefault">
                    <li><a href="/community.html">Project Info</a></li>
                    <li><a href="/events.html">Events</a></li>
                  </ul>
                </li>
                <li>
                  <a href="/use-cases/provenusecases.html">Powered by</a>
                </li>
                <li>
                  <a href="/docs/latest/">Docs</a>
                </li>
              </ul>
              <a href="/docs/latest/" class="mobmenu__quikstart bluelink">Quick Start</a>
              <a href="/download.cgi" class="button mobmenu__button">Download Ignite 2.11</a>
            </div>
            <!-- //mobmenu__menu -->
          </div>
          <!-- //mobmenu__wrap -->
        </div>
        <!-- //mobmenu -->
      </div>
    </div>
    <!-- MOBILE MENU END -->
    <header class="hdr hdr__blue jsHdrBase">
      <div class="hdr__wrap flexi jsHdrLine">
        <button class="hdr__burger" data-menumodal="#jsMenuModal"><img src="/img/menu.svg" alt="" /></button
        ><a class="hdr__logo" href="/"><img class="hdr__logoimg hdr__logo--white" src="/img/logo-white.svg" alt="" /><img class="hdr__logoimg hdr__logo--black" src="/img/logo.svg" alt="" /></a
        ><a class="button hdr__button" href="/download.cgi">Download Ignite 2.11 </a>
        <nav class="hdrmenu">
          <ul class="flexi">
            <li class="js-hasdrop"><a class="hdrmenu--expanded" href="/" data-panel="getStarted">Get Started</a></li>
            <li class="js-hasdrop"><a class="hdrmenu__current hdrmenu--expanded" href="/features" data-panel="features">Features</a></li>
            <li class="js-hasdrop"><a class="hdrmenu--expanded" href="/community.html" data-panel="community">Community</a></li>
            <li><a href="/use-cases/provenusecases.html" data-panel="">Powered By</a></li>
            <li><a href="///ignite.apache.org/docs/latest/" data-panel="">Docs</a></li>
          </ul>
        </nav>
        <div class="dropmenu">
          <div class="dropmenu__panel" data-menupanel="getStarted">
            <div class="container dropmenu1__grid">
              <div class="dropmenu1__buttonwrap">&nbsp;</div>
              <div class="dropmenu__box dropmenu__box--buttonin">
                <a class="dropmenu__redbutton" href="https://ignite.apache.org/docs/latest/"> <img src="/img/menu/icon-red-rocket.svg" alt="" /><span>Quick Start Guide</span></a>
                <ul class="dropmenu__menu">
                  <li>
                    <a class="dropmenu__iconitem" href="/resources.html"><img src="/img/menu/icon-resources.svg" alt="" /><span>Resources</span></a>
                  </li>
                  <li>
                    <a class="dropmenu__iconitem" href="/faq.html"><img src="/img/menu/icon-question.svg" alt="" /><span>FAQ</span></a>
                  </li>
                </ul>
              </div>
              <div class="dropmenu__box">
                <p class="capstext"><a class="dropmenu__capslink" href="/use-cases.html">USE CASES</a></p>
                <ul class="dropmenu__menu">
                  <li>
                    <a class="dropmenu__iconitem" href="/use-cases/in-memory-cache.html"><img src="/img/menu/icon-folder.svg" alt="" /><span>In-Memory Cache</span></a>
                  </li>
                  <li>
                    <a class="dropmenu__iconitem" href="/use-cases/in-memory-data-grid.html"><img src="/img/menu/icon-folder.svg" alt="" /><span>In-Memory Data Grid</span></a>
                  </li>
                  <li>
                    <a class="dropmenu__iconitem" href="/use-cases/in-memory-database.html"><img src="/img/menu/icon-folder.svg" alt="" /><span>In-Memory Database</span></a>
                  </li>
                  <li>
                    <a class="dropmenu__iconitem" href="/use-cases/key-value-store.html"><img src="/img/menu/icon-folder.svg" alt="" /><span>Key-Value Store</span></a>
                  </li>
                </ul>
              </div>
              <div class="dropmenu__box no-border">
                <ul class="dropmenu__menu">
                  <li>
                    <a class="dropmenu__iconitem" href="/use-cases/high-performance-computing.html"><img src="/img/menu/icon-folder.svg" alt="" /><span>High-Performance Computing</span></a>
                  </li>
                  <li>
                    <a class="dropmenu__iconitem" href="/use-cases/digital-integration-hub.html"><img src="/img/menu/icon-folder.svg" alt="" /><span>Digital Integration Hub</span></a>
                  </li>
                  <li>
                    <a class="dropmenu__iconitem" href="/use-cases/spark-acceleration.html"><img src="/img/menu/icon-folder.svg" alt="" /><span>Spark Acceleration</span></a>
                  </li>
                  <li>
                    <a class="dropmenu__iconitem" href="/use-cases/hadoop-acceleration.html"><img src="/img/menu/icon-folder.svg" alt="" /><span>Hadoop Acceleration</span></a>
                  </li>
                </ul>
              </div>
            </div>
            <!-- /.dropmenu1__grid-->
            <div class="panelmorelinkwrap panelmorelinkwrap--end container"><a class="panellink" href="/use-cases.html">View all</a></div>
          </div>
          <!-- /.dropmenu__panel-->
          <div class="dropmenu__panel" data-menupanel="features">
            <div class="container dropmenu2__grid">
              <div class="dropmenu__box">
                <div class="capstext">Distributed Multi-Tiered <br />Storage</div>
                <ul class="dropmenu__menu">
                  <li>
                    <a class="dropmenu__iconitem" href="/arch/multi-tier-storage.html"><img src="/img/menu/icon-db.svg" alt="" /><span>Multi-Tier Storage</span></a>
                  </li>
                  <li>
                    <a class="dropmenu__iconitem" href="/arch/native-persistence.html"><img src="/img/menu/icon-db.svg" alt="" /><span>Native Persistence</span></a>
                  </li>
                </ul>
              </div>
              <div class="dropmenu__box">
                <div class="capstext">Essentail Developer APIs</div>
                <ul class="dropmenu__menu">
                  <li>
                    <a class="dropmenu__iconitem" href="/features/sql.html"><img src="/img/menu/icon-cube.svg" alt="" /><span>Distributed SQL</span></a>
                  </li>
                  <li>
                    <a class="dropmenu__iconitem" href="/features/key-value-apis.html"><img src="/img/menu/icon-cube.svg" alt="" /><span>Key-Value APIs</span></a>
                  </li>
                  <li>
                    <a class="dropmenu__iconitem" href="/features/acid-transactions.html"><img src="/img/menu/icon-cube.svg" alt="" /><span>ACID Transactions</span></a>
                  </li>
                </ul>
              </div>
              <div class="dropmenu__box">
                <div class="capstext">High-Performance <br />Computing APIs</div>
                <ul class="dropmenu__menu">
                  <li>
                    <a class="dropmenu__iconitem" href="/features/compute-apis.html"><img src="/img/menu/icon-cube.svg" alt="" /><span>Compute APIs</span></a>
                  </li>
                  <li>
                    <a class="dropmenu__iconitem" href="/features/service-apis.html"><img src="/img/menu/icon-cube.svg" alt="" /><span>Services</span></a>
                  </li>
                  <li>
                    <a class="dropmenu__iconitem" href="/features/machinelearning.html"><img src="/img/menu/icon-cube.svg" alt="" /><span>Machine Learning</span></a>
                  </li>
                </ul>
              </div>
              <div class="dropmenu__box">
                <div class="capstext">Real Streaming APIs</div>
                <ul class="dropmenu__menu">
                  <li>
                    <a class="dropmenu__iconitem" href="/features/streaming.html"><img src="/img/menu/icon-cube.svg" alt="" /><span>Real-Time Streaming APIs</span></a>
                  </li>
                  <li>
                    <a class="dropmenu__iconitem" href="https://ignite.apache.org/docs/latest/messaging"><img src="/img/menu/icon-cube.svg" alt="" /><span>Messaging</span></a>
                  </li>
                  <li>
                    <a class="dropmenu__iconitem" href="https://ignite.apache.org/docs/latest/key-value-api/continuous-queries"><img src="/img/menu/icon-cube.svg" alt="" /><span>Continuous Queries</span></a>
                  </li>
                </ul>
              </div>
            </div>
            <!-- /.dropmenu2__grid-->
            <div class="panelmorelinkwrap"><a class="panellink" href="/features/">View all</a></div>
          </div>
          <!-- /.dropmenu__panel-2-->
          <div class="dropmenu__panel" data-menupanel="community">
            <div class="container dropmenu3__grid">
              <div class="dropmenu__box">
                <div class="capstext"><a class="dropmenu__capslink" href="/community.html">Project Info</a></div>
                <ul class="dropmenu__menu">
                  <li>
                    <a class="dropmenu__iconitem" href="/community.html#story"><img src="/img/menu/icon-clip.svg" alt="" /><span>Apache Ignite Story</span></a>
                  </li>
                  <li>
                    <a class="dropmenu__iconitem" href="/community.html#community"><img src="/img/menu/icon-comment.svg" alt="" /><span>Meet The Community</span></a>
                  </li>
                </ul>
              </div>
              <div class="dropmenu__box no-border">
                <div class="capstext">&nbsp;</div>
                <ul class="dropmenu__menu">
                  <li>
                    <a class="dropmenu__iconitem" href="/community.html#contributing"><img src="/img/menu/icon-puzzle.svg" alt="" /><span>Start Contributing</span></a>
                  </li>
                  <li>
                    <a class="dropmenu__iconitem" href="/community.html#faq"><img src="/img/menu/icon-question.svg" alt="" /><span>Ask Questions</span></a>
                  </li>
                </ul>
              </div>
              <div class="dropmenu__box">
                <div class="capstext"><a class="dropmenu__capslink" href="/events.html">Events</a></div>
                <ul class="dropmenu__menu">
                  <li>
                    <a class="dropmenu__iconitem" href="/events.html#summit"><img src="/img/menu/icon-calendar.svg" alt="" /><span>Apache Ignite Summit</span></a>
                  </li>
                  <li>
                    <a class="dropmenu__iconitem" href="/events.html#meetups"><img src="/img/menu/icon-calendar.svg" alt="" /><span>Meetups</span></a>
                  </li>
                </ul>
              </div>
              <div class="dropmenu__box no-border">
                <div class="capstext">&nbsp;</div>
                <ul class="dropmenu__menu">
                  <li>
                    <a class="dropmenu__iconitem" href="/events.html#upcoming"><img src="/img/menu/icon-calendar.svg" alt="" /><span>Upcoming Events</span></a>
                  </li>
                  <li>
                    <a class="dropmenu__iconitem" href="/events.html#past"><img src="/img/menu/icon-calendar.svg" alt="" /><span>Past Events</span></a>
                  </li>
                </ul>
              </div>
            </div>
            <!-- /.dropmenu3__grid-->
          </div>
          <!-- /.dropmenu__panel-->
        </div>
        <!-- /.dropmeu-->
      </div>
    </header>
    <div class="dropmenu__back"></div>
    <header class="hdrfloat hdr__white jsHdrFloatBase"></header>
    <section class="innerhero innerhero--keyvalue">
      <div class="container innerhero__cont">
        <div class="innerhero__main">
          <div class="innerhero__pre pb-5">Apache Ignite</div>
          <h1 class="h1 innerhero__h1">Distributed <br />Key-Value APIs</h1>
          <div class="innerhero__descr pt-2 h5">Query your distributed data in the fastest way possible <br />with key-value APIs</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--keyvalue" src="/img/features/key-value/hero.svg" alt="Distributed Key-Value APIs" />
      </div>
    </section>
    <!-- /.innerhero-->
    <section class="keyvalue1 container flexi">
      <div class="keyvalue1__left">
        <h2 class="capstext">Key-Value APIs Overview</h2>
        <div class="keyvaluetext pt-5">
          <p>
            Every record in Ignite is stored as a key-value pair. All the records are distributed evenly across the cluster nodes. Your key-value queries are directed automatically to the nodes that store requested data. This is how Ignite
            utilizes all the given memory, disk, and CPU resources.
          </p>
          <p>Key-value APIs are supported by all existing Ignite client libraries:</p>
        </div>
        <div class="keyvalue1__libs pt-5">
          <p class="h5 leyvalue__lang">Java <small>(implements JSR-107 specification known as JCache)</small></p>
          <p class="h5 leyvalue__lang">.NET</p>
          <p class="h5 leyvalue__lang">Python</p>
          <p class="h5 leyvalue__lang">Node.JS</p>
          <p class="h5 leyvalue__lang">Your language</p>
        </div>
      </div>
      <div class="keyvalue1__right">
        <div class="keyvalue1__picwrap picwrap"><img class="keyvalue1__pic" src="/img/features/key-value/key-value-api-pic.svg" alt="" /></div>
      </div>
    </section>
    <!-- /.keyvalue1-->
    <section class="keyvalueplank container">
      <div class="keyvalueplank__inner">
        Apache Ignite key-value APIs provide additional capabilities such as&nbsp;<strong>automatic synchronization</strong> with external databases, <strong>near caching</strong> and <strong>ACID transactions.</strong>
      </div>
    </section>
    <section class="keyvalue2 container flexi">
      <div class="keyvalue2__left">
        <h3 class="keyvalue__title">Automatic Synchronization With External <br />Databases To Keep A Consistent Copy Of Data</h3>
        <div class="keyvaluetext pt-2 pb-5">
          <p>Two synchronization strategies are available in Apache Ignite: <br />write-through/behind and read-through.</p>
        </div>
        <dl class="keyvalue2__box pb-2">
          <dt>Write-through and write-behind capabilities</dt>
          <dd class="pt-2">Ignite can automatically write-through or&nbsp;write-behind all the changes to&nbsp;an&nbsp;external database for every key-value request issued by&nbsp;your applications.</dd>
        </dl>
        <dl class="keyvalue2__box">
          <dt>Read-through capabilities</dt>
          <dd>Read-through means that Ignite can automatically load data from an&nbsp;external database if&nbsp;a&nbsp;record is&nbsp;missing in&nbsp;memory.</dd>
        </dl>
      </div>
      <div class="keyvalue2__right">
        <div class="keyvalue2__picwrap picwrap"><img class="keyvalue2__pic" src="/img/features/key-value/key-value-api-2.svg" alt="" /></div>
      </div>
    </section>
    <!-- /.keyvalue2-->
    <section class="keyvalue3 container flexi">
      <div class="keyvalue3__right">
        <h3 class="keyvalue__title">Near Cache To Process Your Requests In&nbsp;Microseconds</h3>
        <div class="keyvaluetext pt-2 pb-5">
          <p>A near cache is a local client-side cache that stores the most frequently <br />used data on the application end.</p>
        </div>
        <div class="keyvalue__title">How it works</div>
        <div class="keyvaluetext pt-2 pb-5">
          <p>It&nbsp;is&nbsp;applied for applications that require a&nbsp;consistent response time ranging <strong>in&nbsp;microseconds.</strong> Ignite automatically invalidates and updates the near cache.</p>
          <p>
            Whenever the primary copy of&nbsp;a&nbsp;record gets updated on&nbsp;a&nbsp;server node, Ignite propagates the change to&nbsp;all the nodes that store the record&rsquo;s backup copy, as&nbsp;well as&nbsp;to&nbsp;the applications
            that keep the record&rsquo;s copy in&nbsp;their near caches.
          </p>
        </div>
      </div>
      <div class="keyvalue3__left">
        <div class="keyvalue3__picwrap picwrap">
          <img class="keyvalue3__pic" src="/img/features/key-value/key-value-api-3.svg" alt="" />
          <div class="keyvalue3__picdescr">
            <p>1. Call to the near cache</p>
            <p>2. Call to the Ignite cluster <span>(if a record is not found in the near cache)</span></p>
            <p>3. Read-through from the external database<span>(if the record is not in the Ignite cluster yet)</span></p>
          </div>
        </div>
      </div>
    </section>
    <!-- /.keyvalue3-->
    <section class="keyvalue4 container flexi pb-1">
      <div class="keyvalue4__left">
        <h3 class="keyvalue__title">ACID Transactions To Update Your Distributed Records Consistently</h3>
        <div class="keyvaluetext pt-2 pb-5"><p>Apache Ignite key-value APIs are fully transactional which means that data can be&nbsp;updated consistently and reliably.</p></div>
        <div class="keyvalue__title">How it works</div>
        <div class="keyvaluetext pt-2 pb-5">
          <p>
            An&nbsp;Ignite transaction can update multiple records from different tables stored on&nbsp;different cluster nodes. Ignite can even span a&nbsp;transaction to&nbsp;an&nbsp;underlying relational database. Ignite implements
            <a href="/features/acid-transactions.html">two-phase-commit protocol to&nbsp;ensure data consistency at&nbsp;scale.</a>
          </p>
        </div>
      </div>
      <div class="keyvalue4__right">
        <div class="keyvalue4__picwrap picwrap"><img class="keyvalue4__pic" src="/img/features/key-value/key-value-api-4.svg" alt="" /></div>
      </div>
    </section>
    <!-- /.keyvalue3-->
    <section class="native-bottom container">
      <div class="native-bottom__grid">
        <article class="nativebotblock">
          <div class="h4 nativebotblock__title"><img class="nativebotblock__icon" src="/img/features/native-rocket.svg" alt="" /><span>Ready to Start?</span></div>
          <p class="nativebotblock__text">Create your first application using <br />Ignite key-value APIs</p>
          <a class="nativebotblock__link arrowlink" href="https://ignite.apache.org/docs/latest/key-value-api/basic-cache-operations" target="_blank">Using Key-Value APIs</a>
        </article>
        <article class="nativebotblock nativebotblock--learn">
          <div class="h4 nativebotblock__title"><img class="nativebotblock__icon" src="/img/features/native-docs.svg" alt="" /><span>Want to Learn More?</span></div>
          <p class="nativebotblock__text">Check out how Apache Ignite can be configured <br />and used as a standard key-value store</p>
          <a class="nativebotblock__link arrowlink" href="/use-cases/key-value-store.html">Key-Value Store</a>
        </article>
      </div>
    </section>
    <footer class="footer">
      <div class="container footer__top">
        <section class="footer1">
          <a class="footer__title" href="/features/">Features</a>
          <ul class="footer__menu">
            <li><a href="/arch/multi-tier-storage.html">Multi-Tier Storage</a></li>
            <li><a href="/arch/native-persistence.html">Native Persistence</a></li>
            <li><a href="/features/sql.html">Distributed SQL</a></li>
            <li><a href="/features/acid-transactions.html">ACID Transactions</a></li>
            <li><a href="/features/key-value-apis.html">Key Value APIs</a></li>
            <li><a href="/features/compute-apis.html">Compute APIs</a></li>
            <li><a href="/features/machinelearning.html">Machine Learning</a></li>
            <li><a href="/features/service-apis.html">Services</a></li>
            <li><a href="/features/streaming.html">Streaming</a></li>
            <li><a href="https://ignite.apache.org/docs/latest/key-value-api/continuous-queries">Continuous Queries</a></li>
            <li><a href="https://ignite.apache.org/docs/latest/messaging">Messaging</a></li>
          </ul>
        </section>
        <section class="footer2">
          <a class="footer__title" href="/use-cases/">Use-Cases</a>
          <ul class="footer__menu">
            <li><a href="/use-cases/in-memory-cache.html">In-Memory Cache</a></li>
            <li><a href="/use-cases/in-memory-data-grid.html">In-Memory Data Grid</a></li>
            <li><a href="/use-cases/in-memory-database.html">In-Memory Database</a></li>
            <li><a href="/use-cases/high-performance-computing.html">High-Performance Computing</a></li>
            <li><a href="/use-cases/digital-integration-hub.html">Digital Integration Hub</a></li>
            <li><a href="/use-cases/key-value-store.html">Key-Value Store</a></li>
            <li><a href="/use-cases/spark-acceleration.html">Apache Spark Acceleration</a></li>
            <li><a href="/use-cases/hadoop-acceleration.html">Apache Hadoop Acceleration</a></li>
          </ul>
        </section>
        <section class="footer3"><a class="footer__title" href="/community.html">Community</a><a class="footer__title" href="/resources.html">Resources</a><a class="footer__title" href="/events.html">Events</a></section>
        <section class="footer4">
          <div class="footer4__item">Join Our <a href="mailto:dev@ignite.apache.org">Dev Mailing List</a></div>
          <div class="footer4__item pt-2">Or write your question</div>
          <div class="footer4__item pt-1">user@ignite.apache.org</div>
          <div class="footer4__item pt-5">Follow Us:</div>
          <div class="footer4__socwrap flexi pt-2">
            <a class="footer4__soc" href="https://github.com/apache/ignite" target="_blank"><img src="/img/icon-github.svg" alt="" /></a
            ><a class="footer4__soc" href="https://www.linkedin.com/showcase/apache-ignite/" target="_blank"><img src="/img/icon-linkedin.svg" alt="" /></a
            ><a class="footer4__soc" href="https://twitter.com/apacheignite" target="_blank"><img src="/img/icon-twitter.svg" alt="" /></a>
          </div>
          <a class="footer4__button button" href="https://ignite.apache.org/docs/latest/index">Start Uing Apache Ignite </a>
        </section>
      </div>
      <div class="container footer__bot">
        <p>© 2015 - 2021 <a href="http://www.apache.org/">The Apache Software Foundation.</a></p>
        <p class="pt-1x">Apache, Apache Ignite, the Apache feather and the Apache Ignite logo are either registered trademarks or trademarks of The Apache Software Foundation</p>
        <p class="pt-1x"><a href="http://apache.org/foundation/policies/privacy.html">Privacy Policy</a></p>
      </div>
    </footer>
    <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/smoothscroll.js"></script>
    <script src="/js/main.js?ver=0.4"></script>
  </body>
</html>
