<!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.9" />
    <link rel="stylesheet" href="/css/utils.css?ver=0.9" />
    <link rel="stylesheet" href="/css/site.css?ver=0.9" />
    <link rel="stylesheet" href="../css/native-persistence.css?ver=0.9" />
    <link rel="stylesheet" href="../css/key-value-api.css?ver=0.9" />
    <link rel="stylesheet" href="/css/media.css?ver=0.9" media="only screen and (max-width:1199px)" />
    <link rel="icon" type="image/png" href="/img/favicon.png" />
    <!-- Global site tag (gtag.js) - Google Analytics -->
    <script async src="https://www.googletagmanager.com/gtag/js?id=G-0RZCHL2Y63"></script>
    <script>
      window.dataLayer = window.dataLayer || [];
      function gtag() {
        dataLayer.push(arguments);
      }
      gtag('js', new Date());
      gtag('config', 'G-0RZCHL2Y63');
      gtag('config', 'UA-61232409-1');
    </script>

    <!-- 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 -->
  </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 class="hystmodal__close" data-hystclose="">Close</button>
          <div class="mobmenu__wrap">
            <a class="mobmenu__logo" href="/"><img src="/img/logo.svg" alt="Logo" /></a>
            <div class="mobmenu__menu">
              <ul>
                <li><a href="/docs/latest/">Quick Start</a></li>
                <li><a href="/resources.html#learning">Learning resources</a></li>
                <li><a href="/resources.html#training">Training and Courses</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>
                    <li><a href="/use-cases.html">View All</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>
                    <li><a href="/features/index.html">View All</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="/resources.html">Resources</a></li>
                <li><a href="/blog/">Blog</a></li>
                <li><a href="/docs/latest/">Docs</a></li>
              </ul>
              <a class="button mobmenu__button" href="/download.cgi">Download Ignite 2.16</a>
            </div>
            <!-- //mobmenu__menu-->
          </div>
          <!-- //mobmenu__wrap-->
        </div>
        <!-- //mobmenu-->
      </div>
    </div>
    <!-- MOBILE MENU END-->
    <header class="hdr hdr__blue jsHdrBase">
      <div class="jsHdrLine">
        <div id="promotion-bar">
          <a
            href="https://ignite-summit.org/2024/?utm_medium=website-direct&amp;utm_source=apache_ignite&amp;utm_term=ignite-summit&amp;utm_content=event-hosted&amp;utm_campaign=2023-06-06-ignite-summit-nam"
            target="_blank"
            title="Ignite Summit — June 11, 2024 — Join virtually!"
            rel="noopener noreferrer"
            ><span><img class="ignite-summit-logo" src="/images/promos/summit-lime.svg" /></span>Ignite Summit 2024 — Call For Speakers Now Open — Learn more &nbsp;<span class="more d-none d-lg-block"
              ><img src="/images/promos/arrow-white.svg" /></span
          ></a>
        </div>
        <div class="hdr__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 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.16.0</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 class="js-hasdrop"><a class="hdrmenu--expanded" href="/resources.html" data-panel="resources">Resources</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#learning"><span>Learning resources</span></a>
                    </li>
                    <li>
                      <a class="dropmenu__iconitem" href="/resources.html#training"><span>Training and Courses</span></a>
                    </li>
                    <li>
                      <a class="dropmenu__iconitem" href="/faq.html"><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">MULTI-TIER 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">ESSENTIAL 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 class="dropmenu__panel" data-menupanel="resources">
              <div class="container dropmenu1__grid">
                <div class="dropmenu1__buttonwrap">&nbsp;</div>
                <div class="dropmenu__box dropmenu__box--buttonin">
                  <a class="dropmenu__redbutton blog" href="/blog/"><img src="/img/menu/icon-blog.svg" alt="" /><span>Blog</span></a>
                  <ul class="dropmenu__menu">
                    <li>
                      <a class="dropmenu__iconitem" href="/resources.html#technical"><span>Technical resources</span></a>
                    </li>
                    <li>
                      <a class="dropmenu__iconitem" href="/resources.html#learning"><span>Learning resources</span></a>
                    </li>
                  </ul>
                </div>
                <div class="dropmenu__box blog">
                  <ul class="dropmenu__menu">
                    <li>
                      <a class="dropmenu__iconitem" href="/resources.html#training"><span>Training and Courses</span></a>
                    </li>
                    <li>
                      <a class="dropmenu__iconitem" href="/resources.html#book"><span>Apache Ignite Book</span></a>
                    </li>
                    <li>
                      <a class="dropmenu__iconitem" href="/resources.html#mail"><span>Mailing Lists, Forums And Discussion Archives</span></a>
                    </li>
                    <li>
                      <a class="dropmenu__iconitem" href="/faq.html"><span>FAQ</span></a>
                    </li>
                  </ul>
                </div>
              </div>
              <!-- /.dropmenu1__grid-->
            </div>
            <!-- /.dropmenu__panel-->
          </div>
          <!-- /.dropmeu-->
        </div>
      </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 is applied to applications that require a consistent response time of a few <strong>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">Real-Streaming APIs</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="/our-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
            ><a class="footer4__soc" href="https://www.meetup.com/Apache-Ignite-Virtual-Meetup/" target="_blank"><img src="/img/icon-meetup-black.png" alt="" /></a>
          </div>
          <a class="footer4__button button" href="https://ignite.apache.org/docs/latest/index">Start Using Apache Ignite </a>
        </section>
      </div>
      <div class="container footer__bot">
        <p>© 2015 - 2024 <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.9"></script>
  </body>
</html>
