blob: 3fcc89d5229952714297f39a096b2ceb7133c5f0 [file] [log] [blame]
<!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 Database - Apache Ignite</title>
<meta name="description" content="Apache Ignite is a best distributed database management system for high-performance computing with in-memory speed. Learn how to use the Ignite decentralized database system and get started." />
<link rel="canonical" href="https://ignite.apache.org/" />
<meta property="og:title" content="Distributed Database - Apache Ignite&amp;reg;" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://ignite.apache.org/" />
<meta property="og:image" content="/img/og-pic.png" />
<meta property="og:description" content="Apache Ignite is a best distributed database management system for high-performance computing with in-memory speed. Learn how to use the Ignite decentralized database system and get started." />
<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="../js/vendor/highlight/default.min.css?ver=0.9" />
<link rel="stylesheet" href="../js/vendor/highlight/night-owl.css?ver=0.9" />
<link rel="stylesheet" href="../js/vendor/swiper/swiper-bundle.min.css?ver=0.9" />
<link rel="stylesheet" href="../css/native-persistence.css?ver=0.9" />
<link rel="stylesheet" href="../css/events.css?ver=0.9" />
<link rel="stylesheet" href="../css/tooling.css?ver=0.9" />
<link rel="stylesheet" href="../css/frontpage.css?ver=0.9" />
<script src="../js/vendor/highlight/highlight.min.js"></script>
<script src="../js/vendor/swiper/swiper-bundle.min.js"></script>
<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=UA-61232409-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
gtag('js', new Date());
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>
<div class="fronttop">
<!-- 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="/docs/latest/">Quick Start</a>
</li>
<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>
<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="/docs/latest/">Docs</a>
</li>
</ul>
<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__white 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.13.0</a>
<nav class="hdrmenu">
<ul class="flexi">
<li class="js-hasdrop"><a class="hdrmenu__current hdrmenu--expanded" href="/" data-panel="getStarted">Get Started</a></li>
<li class="js-hasdrop"><a class="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">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>
<!-- /.dropmeu-->
</div>
</header>
<div class="dropmenu__back"></div>
<header class="hdrfloat hdr__white jsHdrFloatBase"></header>
<img class="fronttop__pic" src="/img/frontpage/hero-white.svg" alt="" />
<section class="innerhero fronthero">
<div class="container innerhero__cont">
<div class="innerhero__main innerhero__main--long">
<h1 class="h1 innerhero__h1 innerhero__mega">Distributed Database For <br />High&#8209;Performance Applications <br />With In&#8209;Memory Speed</h1>
<div class="innerhero__h2 h4 pt-2">Scale Across Memory And Disk Without Compromise</div>
<div class="innerhero__action pt-5"><a class="button fronthero__button" href="https://ignite.apache.org/docs/latest/index">Start Coding</a></div>
</div>
</div>
</section>
<!-- /.innerhero-->
</div>
<section class="frontblue">
<aside class="fronttopcards flexi container">
<a class="frontcard" href="https://blogs.apache.org/ignite/entry/apache-ignite-momentum-highlights-from" target="_blank"
><div class="frontcard__title h5">A top-5 project of the Apache Software <br />Foundation</div>
<div class="frontcard__prises pt-3 flexi">
<div class="frontcard__price flexi">
<div class="frontcard__iconwrap"><img src="/img/frontpage/b1-prize1.svg" alt="" /></div>
<span>Big Data <br />Users Lists</span>
</div>
<div class="frontcard__price flexi">
<div class="frontcard__iconwrap frontcard__iconwrap--blue"><img src="/img/frontpage/b1-prize1.svg" alt="" /></div>
<span>Users Lists</span>
</div>
<div class="frontcard__price flexi">
<div class="frontcard__iconwrap frontcard__iconwrap--grey"><img src="/img/frontpage/b1-prize1.svg" alt="" /></div>
<span>Dev Lists</span>
</div>
</div></a
><!-- /.frontcard--><a class="frontcard" href="/use-cases/provenusecases.html"
><div class="frontcard__network"><img src="/img/frontpage/b1-planet.svg" alt="" /></div>
<div class="frontcard__title h5 pt-3">Leading companies around the world select Ignite to speed up and scale applications used by millions of&nbsp;people daily</div></a
><!-- /.frontcard-->
</aside>
<!-- /.fronttopcards-->
<div class="container forntcodes">
<h2 class="h3">Use Ignite Core Capabilities To Start Easily <br />And Scale Faster</h2>
<div class="forntcodes__wrap flexi jsTabWrap pt-4">
<div class="forntcodes__menu">
<ul class="fz20">
<li><a class="active" href="#" data-ftablink="frontcode-1">Multi-Tier Storage</a></li>
<li><a href="#" data-ftablink="frontcode-2">Distributed SQL</a></li>
<li><a href="#" data-ftablink="frontcode-3">ACID Transactions</a></li>
<li><a href="#" data-ftablink="frontcode-4">Compute APIs</a></li>
<li><a href="#" data-ftablink="frontcode-5">Machine Learning</a></li>
<li><a href="#" data-ftablink="frontcode-6">Continuous Queries</a></li>
</ul>
<a class="forntcodes__menumore fz20" href="/features/">View all features</a>
</div>
<div class="forntcodes__tabwraps">
<div class="forntcodes__tab active" data-ftab="frontcode-1">
<p class="forntcodes__tabtitle fz20 pb-1">Multi-Tier Storage</p>
<p>
Ignite scales up and out across memory and disk. By default, Ignite operates in a pure in-memory mode. But, by toggling a single configuration setting, you can turn a cluster into a database that can grow beyond the
cluster's memory capacity:
</p>
<div class="forntcodes__innertabs jsTabWrap">
<div class="nativecode__tabctrls flexi">
<a class="nativecode__link active" href="#" data-tablink="nativeTabXML">XML</a><a class="nativecode__link" href="#" data-tablink="nativeTabJava">Java</a
><a class="nativecode__link" href="#" data-tablink="nativeTabNET">C#/.NET</a>
</div>
<div class="nativecode__tabs">
<div class="nativecode__tab active" data-tab="nativeTabXML">
<pre class="nativecode__codebox"> <code class="xml">&lt;bean class=&quot;org.apache.ignite.configuration.IgniteConfiguration&quot;&gt;
&lt;property name=&quot;dataStorageConfiguration&quot;&gt;
&lt;bean class=&quot;org.apache.ignite.configuration.DataStorageConfiguration&quot;&gt;
&lt;property name=&quot;defaultDataRegionConfiguration&quot;&gt;
&lt;bean class=&quot;org.apache.ignite.configuration.DataRegionConfiguration&quot;&gt;
&lt;property name=&quot;persistenceEnabled&quot; value=&quot;true&quot;/&gt;
&lt;/bean&gt;
&lt;/property&gt;
&lt;/bean&gt;
&lt;/property&gt;
&lt;/bean&gt;</code></pre>
</div>
<div class="nativecode__tab" data-tab="nativeTabJava">
<pre class="nativecode__codebox"> <code class="java">IgniteConfiguration cfg = new IgniteConfiguration();
DataStorageConfiguration storageCfg = new DataStorageConfiguration();
// Enable Ignite Persistence
storageCfg.getDefaultDataRegionConfiguration().setPersistenceEnabled(true);
// Using the new storage configuration
cfg.setDataStorageConfiguration(storageCfg);
</code></pre>
</div>
<div class="nativecode__tab" data-tab="nativeTabNET">
<pre class="nativecode__codebox"> <code class="csharp">var cfg = new IgniteConfiguration
{
DataStorageConfiguration = new DataStorageConfiguration
{
DefaultDataRegionConfiguration = new DataRegionConfiguration
{
Name = &quot;Default_Region&quot;,
PersistenceEnabled = true
}
}
};
</code></pre>
</div>
</div>
<div class="forntcodes__bottom"><a class="button" href="/arch/multi-tier-storage.html">Learn More About Multi-Tier Storage</a></div>
</div>
<!-- /.forntcodes__innertabs-->
</div>
<!-- /.forntcodes__tab1 (END Multi-Tier Storage)-->
<div class="forntcodes__tab" data-ftab="frontcode-2">
<p class="forntcodes__tabtitle fz20 pb-1">Distributed SQL</p>
<p>
Use Ignite as a traditional SQL database by leveraging JDBC drivers, ODBC drivers, or the native SQL APIs that are available for Java, C#, C++, Python, and other programming languages. Seamlessly join, group, aggregate, and
order your distributed in-memory and on-disk data:
</p>
<div class="forntcodes__innertabs jsTabWrap">
<div class="nativecode__tabctrls flexi"><a class="nativecode__link active" href="#" data-tablink="sqlTabSQL">SQL</a></div>
<div class="nativecode__tabs">
<div class="nativecode__tab active" data-tab="sqlTabSQL">
<pre class="nativecode__codebox"> <code class="sql">SELECT country.name, city.name, MAX(city.population) as max_pop
FROM country JOIN city ON city.countrycode = country.code
WHERE country.code IN ('USA','BRA','ESP','JPN')
GROUP BY country.name, city.name
ORDER BY max_pop DESC LIMIT 3;</code></pre>
</div>
</div>
<div class="forntcodes__bottom"><a class="button" href="/features/sql.html">Learn More About Distributed SQL</a></div>
</div>
<!-- /.forntcodes__innertabs-->
</div>
<!-- /.forntcodes__tab2 (END Distributed SQL)-->
<div class="forntcodes__tab" data-ftab="frontcode-3">
<p class="forntcodes__tabtitle fz20 pb-1">ACID Transactions</p>
<p>Ignite can operate in a strongly consistent mode that provides full support for distributed ACID transactions. Transact across multiple cluster nodes, caches, tables, and partitions:</p>
<div class="forntcodes__innertabs jsTabWrap">
<div class="nativecode__tabctrls flexi"><a class="nativecode__link active" href="#" data-tablink="acidTabJava">Java</a><a class="nativecode__link" href="#" data-tablink="acidTabSharp">C#/.NET</a></div>
<div class="nativecode__tabs">
<div class="nativecode__tab active" data-tab="acidTabJava">
<pre class="nativecode__codebox"> <code class="java">IgniteTransactions transactions = ignite.transactions();
try (Transaction tx = transactions.txStart()) {
Integer hello = cache.get(&quot;Hello&quot;);
if (hello == 1)
cache.put(&quot;Hello&quot;, 11);
cache.put(&quot;World&quot;, 22);
tx.commit();
}</code></pre>
</div>
<div class="nativecode__tab" data-tab="acidTabSharp">
<pre class="nativecode__codebox"> <code class="csharp">var transactions = ignite.GetTransactions();
using (var tx = transactions.TxStart()) {
int hello = cache.Get(&quot;Hello&quot;);
if (hello == 1) {
cache.Put(&quot;Hello&quot;, 11);
}
cache.Put(&quot;World&quot;, 22);
tx.Commit();
}</code></pre>
</div>
</div>
<div class="forntcodes__bottom"><a class="button" href="/features/acid-transactions.html">Learn More About Transactions</a></div>
</div>
<!-- /.forntcodes__innertabs-->
</div>
<!-- /.forntcodes__tab3 (END ACID Transactions)-->
<div class="forntcodes__tab" data-ftab="frontcode-4">
<p class="forntcodes__tabtitle fz20 pb-1">Compute APIs In Java, Scala, Kotlin, C#, C++</p>
<p>
With traditional databases, for in-place calculations, you use stored procedures that are written in a language such as PL/SQL. With Ignite, you use modern JVM languages, C# or C++ to develop and execute custom tasks across
your distributed database:
</p>
<div class="forntcodes__innertabs jsTabWrap">
<div class="nativecode__tabctrls flexi"><a class="nativecode__link active" href="#" data-tablink="compTabJava">Java</a><a class="nativecode__link" href="#" data-tablink="compTabSharp">C#/.NET</a></div>
<div class="nativecode__tabs">
<div class="nativecode__tab active" data-tab="compTabJava">
<pre class="nativecode__codebox"> <code class="java">// Broadcast the task to server nodes only.
IgniteCompute compute = ignite.compute(ignite.cluster().forServers());
// Each remote server node will execute the logic of the task/lambda below.
compute.broadcast(() -&gt; System.out.println(
&quot;Hello Node: &quot; + ignite.cluster().localNode().id()));</code></pre>
</div>
<div class="nativecode__tab" data-tab="compTabSharp">
<pre class="nativecode__codebox"> <code class="csharp">// Broadcast the task to server nodes only.
var compute = ignite.GetCluster().ForServers().GetCompute();
// Each remote server node will execute the custom PrintNodeIdAction task.
compute.Broadcast(new PrintNodeIdAction());</code></pre>
</div>
</div>
<div class="forntcodes__bottom"><a class="button" href="/features/compute-apis.html">Learn More About Compute APIs</a></div>
</div>
<!-- /.forntcodes__innertabs-->
</div>
<!-- /.forntcodes__tab4 (END Compute APIs)-->
<div class="forntcodes__tab" data-ftab="frontcode-5">
<p class="forntcodes__tabtitle fz20 pb-1">Built-In Machine Learning</p>
<p>
Ignite machine learning uses built-in algorithms and tools, as well as TensorFlow integration, to enable the building of scalable machine learning models and avoid costly data transfers. Train, deploy, evaluate, and update
your ML and DL models continuously and at scale:
</p>
<div class="forntcodes__innertabs jsTabWrap">
<div class="nativecode__tabctrls flexi"><a class="nativecode__link active" href="#" data-tablink="machineTabJava">Java</a></div>
<div class="nativecode__tabs">
<div class="nativecode__tab active" data-tab="machineTabJava">
<pre class="nativecode__codebox"> <code class="java">// Create the trainer
KNNClassificationTrainer trainer = new KNNClassificationTrainer()
.withK(3).withIdxType(SpatialIndexType.BALL_TREE)
.withDistanceMeasure(new EuclideanDistance())
.withWeighted(true);
// Train the model
KNNClassificationModel knnMdl = trainer.fit(ignite, dataCache, vectorizer);
// Make a prediction
double prediction = knnMdl.predict(observation);</code></pre>
</div>
</div>
<div class="forntcodes__bottom"><a class="button" href="/features/machinelearning.html">Learn More About Machine Learning</a></div>
</div>
<!-- /.forntcodes__innertabs-->
</div>
<!-- /.forntcodes__tab5 (END Machine Learning)-->
<div class="forntcodes__tab" data-ftab="frontcode-6">
<p class="forntcodes__tabtitle fz20 pb-1">Continuous Queries</p>
<p>
With relational databases, you use triggers to react to certain events. With Ignite, you deploy continuous queries that are written in a modern programming language such as Java or C# and process streams of changes on the
database and application side:
</p>
<div class="forntcodes__innertabs jsTabWrap">
<div class="nativecode__tabctrls flexi"><a class="nativecode__link active" href="#" data-tablink="contTabJava">Java</a><a class="nativecode__link" href="#" data-tablink="contTabSharp">C#/.NET</a></div>
<div class="nativecode__tabs">
<div class="nativecode__tab active" data-tab="contTabJava">
<pre class="nativecode__codebox"> <code class="java">ContinuousQuery qry = new ContinuousQuery&lt;&gt;();
// The callback that will be triggered on the application side.
qry.setLocalListener(new MyLocalListener());
// The callback that will be executed on the server side.
qry.setRemoteFilterFactory(new MyRemoteFilterFactory());
// Deploy the query in the cluster.
cache.query(query);</code></pre>
</div>
<div class="nativecode__tab" data-tab="contTabSharp">
<pre class="nativecode__codebox"> <code class="csharp">var cache = ignite.GetOrCreateCache(&quot;myCache&quot;);
var query = new ContinuousQuery(
new MyLocalListener(), // Will be triggered on the application side.
new MyRemoteFilter()); // Will be executed on the server side.
// Deploy the query in the cluster.
var handle = cache.QueryContinuous(query);</code></pre>
</div>
</div>
<div class="forntcodes__bottom"><a class="button" href="https://ignite.apache.org/docs/latest/key-value-api/continuous-queries" target="_blank">Learn More About Continuous Queries</a></div>
</div>
<!-- /.forntcodes__innertabs-->
</div>
<!-- /.forntcodes__tab6 (END Continuous Queries)-->
</div>
</div>
</div>
<!-- /.forntcodes-->
</section>
<!-- /.frontblue-->
<section class="frontnewcards container">
<h2 class="h3">New To Ignite? <br />Three Primary Usage Scenarios</h2>
<div class="frontnewcards__wrap pt-5">
<article class="frontsimplecard cardsimple">
<h4 class="cardsimple__title">Application Acceleration <br />& Scale Out</h4>
<div class="cardsimple__text cardsimple__text--long">
Accelerate your existing applications by&nbsp;100x using Ignite as&nbsp;an&nbsp;in-memory cache or&nbsp;in-memory data grid that is&nbsp;deployed over one or&nbsp;more external databases.
</div>
</article>
<article class="frontsimplecard cardsimple">
<h4 class="cardsimple__title">Distributed Database For <br />HTAP Workloads</h4>
<div class="cardsimple__text cardsimple__text--long">Build applications that support transactional and&nbsp;analytical workloads by&nbsp;using Ignite as&nbsp;a&nbsp;database that scales beyond available memory capacity.</div>
</article>
<article class="frontsimplecard cardsimple">
<h4 class="cardsimple__title">Digital Integration Hub<br />&nbsp;</h4>
<div class="cardsimple__text cardsimple__text--long">Create an&nbsp;advanced platform architecture that aggregates multiple back-end systems and databases into a&nbsp;low-latency and shared data store.</div>
<div class="cardsimple__bottom"><a class="cardsimple__button button button--shadow" href="/use-cases/digital-integration-hub.html">Learn More</a></div>
</article>
</div>
</section>
<!-- /.frontnewcards-->
<section class="frontstories container">
<h2 class="h3">Ignite User Stories</h2>
<ul class="frontstories__checkers pt-5 capstext">
<li>Software & SaaS</li>
<li>Banking</li>
<li>Logistics & Transportation</li>
<li>Financial Services</li>
<li>Retail</li>
<li>Biotech</li>
<li>Others</li>
</ul>
<div class="frontstories__sliderwrap">
<button class="ctrl ctrl--prev"><img src="/img/frontpage/icon-slider-arrow.svg" alt="" /></button><button class="ctrl ctrl--next"><img src="/img/frontpage/icon-slider-arrow.svg" alt="" /></button>
<div class="swiper jsFrontVideosSwiper">
<div class="swiper-wrapper">
<div class="swiper-slide">
<article class="comvideo">
<div class="comvideo__box">
<a class="comvideo__screen" href="https://www.youtube.com/watch?v=3FFexcYIpmA" data-youtube="data-youtube"
><span class="comvideo__txt comvideo__txt--small">Leveraging In&nbsp;Memory Compute Grids With Core Systems Of&nbsp;Record</span><img src="/img/poweredby/videos/001.png" alt=""
/></a>
</div>
<div class="comvideo__descr pt-1"></div>
</article>
</div>
<div class="swiper-slide">
<article class="comvideo">
<div class="comvideo__box">
<a class="comvideo__screen" href="https://www.youtube.com/watch?v=Mhtt2QL_qCQ" data-youtube="data-youtube"
><span class="comvideo__txt comvideo__txt--black comvideo__txt--small">Apache Ignite, Load Reduction and System Scaling for Banking</span><img src="/img/poweredby/videos/002.png" alt=""
/></a>
</div>
<div class="comvideo__descr pt-1"></div>
</article>
</div>
<div class="swiper-slide">
<article class="comvideo">
<div class="comvideo__box">
<a class="comvideo__screen" href="https://www.youtube.com/watch?v=z28rthKIrDk" data-youtube="data-youtube"
><span class="comvideo__txt comvideo__txt--small">S9D Using Apache Ignite As&nbsp;A&nbsp;Part Of&nbsp;Real Time Campaigning</span><img src="/img/poweredby/videos/003.png" alt=""
/></a>
</div>
<div class="comvideo__descr pt-1"></div>
</article>
</div>
<div class="swiper-slide">
<article class="comvideo">
<div class="comvideo__box">
<a class="comvideo__screen" href="https://techblog.yahoo.co.jp/oss/yahoo_shopping_purchases_ignite/" target="_blank"
><span class="comvideo__txt comvideo__txt--small">In-Memory Computing Patterns For High Volume, Real Time Applications</span><img src="/img/poweredby/videos/005.png" alt=""
/></a>
</div>
<div class="comvideo__descr pt-1"></div>
</article>
</div>
<div class="swiper-slide">
<article class="comvideo">
<div class="comvideo__box">
<a class="comvideo__screen" href="https://www.youtube.com/watch?v=EdFOKJIjRSg" data-youtube="data-youtube"
><span class="comvideo__txt comvideo__txt--small">Fitness + In Memory Computing = Getting Ahead Of The Game</span><img src="/img/poweredby/videos/008.png" alt=""
/></a>
</div>
<div class="comvideo__descr pt-1"></div>
</article>
</div>
<div class="swiper-slide">
<article class="comvideo">
<div class="comvideo__box">
<a class="comvideo__screen" href="https://www.youtube.com/watch?v=jF9T2cJB6t0" data-youtube="data-youtube"
><span class="comvideo__txt comvideo__txt--black comvideo__txt--small">High Performance Exposure Management With Apache Ignite</span><img src="/img/poweredby/videos/009.png" alt=""
/></a>
</div>
<div class="comvideo__descr pt-1"></div>
</article>
</div>
<div class="swiper-slide">
<article class="comvideo">
<div class="comvideo__box">
<a class="comvideo__screen" href="https://www.youtube.com/watch?v=_mnZQ3JDcn8" data-youtube="data-youtube"
><span class="comvideo__txt comvideo__txt--black comvideo__txt--small">Ignite Success Story: How Ignite Fuels The High Throughput Messaging In&nbsp;Sentienz Akiro</span><img src="/img/poweredby/videos/014.png" alt=""
/></a>
</div>
<div class="comvideo__descr pt-1"></div>
</article>
</div>
<div class="swiper-slide">
<article class="comvideo">
<div class="comvideo__box">
<a class="comvideo__screen" href="https://techblog.yahoo.co.jp/oss/yahoo_shopping_purchases_ignite/" target="_blank"
><span class="comvideo__txt comvideo__txt--small">&laquo;Recent Purchases&raquo; With Apache Ignite</span><img src="/img/poweredby/videos/004.png" alt=""
/></a>
</div>
<div class="comvideo__descr pt-1"></div>
</article>
</div>
<div class="swiper-slide">
<article class="comvideo">
<div class="comvideo__box">
<a class="comvideo__screen" href="https://www.youtube.com/watch?v=CPmwnjDJ1Sk" data-youtube="data-youtube"
><span class="comvideo__txt comvideo__txt--small">Embracing The Service Consumption Shift In&nbsp;Banking</span><img src="/img/poweredby/videos/006.png" alt=""
/></a>
</div>
<div class="comvideo__descr pt-1"></div>
</article>
</div>
</div>
</div>
<div class="frontstories__pag"></div>
</div>
<div class="frontstories__bottom pt-5"><a class="button button--shadow" href="/use-cases/provenusecases.html">Watch Other Stories</a></div>
</section>
<!-- /.frontstories-->
<section class="frontconfs container">
<h2 class="h3">Join The Community At Events <br />And Meetups Worldwide</h2>
<div class="frontconfs__wrap">
<a class="frontconfcard frontconfcard--red" href="https://www.meetup.com/Apache-Ignite-Virtual-Meetup/" target="_blank"
><div class="frontconfs__iconwrap pb-3"><img src="/img/frontpage/events/001.svg" alt="" /></div>
<h4 class="h5 frontconfcard__title pb-2">Ignite Virtual Meetup</h4>
<p>Experts and practitioners give <strong>online talks and presentations</strong> and share their Apache Ignite experience.</p>
<div class="frontconfcard__bottom">
<p class="capstext">Online</p>
<div class="frontconfcard__cal">Regularly</div>
</div></a
><a class="frontconfcard frontconfcard--blue" href="https://ignite-summit.org/" target="_blank"
><div class="frontconfs__iconwrap pb-3"><img src="/img/frontpage/events/004.svg" alt="" /></div>
<h4 class="h5 frontconfcard__title pb-2">Ignite Summit</h4>
<p>This <strong>virtual conference</strong> is a chance to learn more about up-to-date in-memory computing solutions.</p>
<p>There are speakers from industry-leading companies and hundreds of participants from all over the world.</p>
<div class="frontconfcard__bottom">
<p class="capstext">Online</p>
<div class="frontconfcard__cal">Annually</div>
</div></a
><a class="frontconfcard" href="/events.html#upcoming" target="_blank"
><div class="frontconfs__iconwrap pb-3"><img src="/img/frontpage/events/003.svg" alt="" /></div>
<h4 class="h5 frontconfcard__title pb-2">Other Events</h4>
<p>Join us for <strong>conferences, presentations, and webinars</strong> to learn more about in-memory computing technologies.</p>
<div class="frontconfcard__bottom">
<p class="capstext">ONLINE <small>and</small> OFFLINE</p>
<div class="frontconfcard__cal">Regularly</div>
</div></a
>
</div>
<div class="frontconfs__bottom pt-5"><a class="button button--shadow" href="/events.html">View All Events</a></div>
</section>
<!-- /.frontconfs-->
<section class="event-featured container fronteventsbanner">
<p class="capstext">Featured Event</p>
<a class="event-featured__banner pt-5" href="https://ignite-summit.org/2022-june/" target="_blank"
><picture
><source srcset="/images/promos/ignite-Summit-cloud-edition--After-banner-375px.jpg" media="(max-width: 767px)" />
<img src="/images/promos/ignite-Summit-cloud-edition--After-banner.jpg" alt="Ignite Summit watch on demand" /></picture
></a>
</section>
<!-- /.event-featured-->
<section class="frontresourse container">
<h2 class="h3">Resources To Elevate Your <br />Ignite Experience</h2>
<div class="frontresourse__subtitle pt-2">Get access to a variety of free technical <br />and learning resources</div>
<div class="frontresourse__wrap flexi fz20">
<div class="frontresourse__col">
<div class="capstext pb-5">Technical resources</div>
<a class="frontresitem flexi frontresitem--black" href="/resources.html#technical">
<div class="frontresitem__icon"><img src="/img/frontpage/res-docs.svg" alt="" /></div>
<div class="frontresitem__text">Apache Ignite technical documentation</div></a
><a class="frontresitem flexi frontresitem--gray" href="https://cwiki.apache.org/confluence/display/IGNITE/" target="_blank"
><div class="frontresitem__icon"><img src="/img/frontpage/res-wiki.svg" alt="" /></div>
<div class="frontresitem__text">Ignite Wiki with a collection of low-level design documents and instructions</div></a
><a class="frontresitem flexi frontresitem--gray" href="/resources.html#git"
><div class="frontresitem__icon"><img src="/img/icon-github.svg" alt="" /></div>
<div class="frontresitem__text">Git repositories with Ignite source code and code samples and examples</div></a
>
</div>
<div class="frontresourse__col">
<div class="capstext pb-5">Learning resources</div>
<a class="frontresitem flexi frontresitem--red" href="/resources.html#learning">
<div class="frontresitem__icon"><img src="/img/frontpage/res-videos.svg" alt="" /></div>
<div class="frontresitem__text">Dozens of essential videos and webinar <br />recordings</div></a
><a class="frontresitem flexi frontresitem--rose" href="/resources.html#training"
><div class="frontresitem__icon"><img src="/img/frontpage/res-vebinar.svg" alt="" /></div>
<div class="frontresitem__text">Trainings and courses that help with building high&#8209;performance and data-intensive applications with&nbsp;the Apache Ignite</div></a
><a class="frontresitem flexi frontresitem--rose" href="https://www.shamimbhuiyan.com/ignitebook" target="_blank"
><div class="frontresitem__icon"><img src="/img/frontpage/res-book.svg" alt="" /></div>
<div class="frontresitem__text">Apache Ignite book to expand your knowledge <br />in in&#8209;memory computing and distributed databases</div></a
>
</div>
</div>
<div class="frontconfs__bottom pt-5"><a class="button button--shadow" href="/resources.html">View All Resources</a></div>
</section>
<section class="toolingend toolingend--front">
<div class="container flexi">
<div class="toolingend__main">
<p class="toolingend__title h3"><strong>Ready To Start?</strong></p>
<p class="h5 pt-2">Discover our quick start guides and build your first <br />application in 5-10 minutes</p>
</div>
<div class="toolingend__action"><a class="button" href="https://ignite.apache.org/docs/latest/" target="_blank">Discover Quick Start Guide</a></div>
</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 - 2022 <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>