blob: c2e5406fe171a8dafdaaa341317e41160acd26e9 [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>Main | Apache Ignite</title>
<link rel="stylesheet" href="/js/vendor/hystmodal/hystmodal.min.css" />
<link rel="stylesheet" href="/js/vendor/swiper/swiper-bundle.min.css" />
<link rel="stylesheet" href="/css/utils.css" />
<link rel="stylesheet" href="/css/site.css" />
<link rel="stylesheet" href="/css/media.css" media="only screen and (max-width:1199px)" />
<link rel="icon" type="image/png" href="/img/favicon.png" />
<link rel="stylesheet" href="../js/vendor/swiper/swiper-bundle.min.css" />
<link rel="stylesheet" href="../js/vendor/highlight/default.min.css" />
<link rel="stylesheet" href="../js/vendor/highlight/night-owl.css" />
<link rel="stylesheet" href="../css/native-persistence.css" />
<link rel="stylesheet" href="../css/events.css" />
<link rel="stylesheet" href="../css/tooling.css" />
<link rel="stylesheet" href="../css/frontpage.css" />
<script src="../js/vendor/highlight/highlight.min.js"></script>
<script src="../js/vendor/swiper/swiper-bundle.min.js"></script>
</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">
<div class="mobmenu__h1 berlin">Navigation</div>
<ul>
<li>
<a href="/index.html">Get started</a>
</li>
<li>
<a href="/features/">Features</a>
</li>
<li>
<a href="/community.html">Community</a>
</li>
<li>
<a href="/use-cases/provenusecases.html">Powered by</a>
</li>
<li>
<a href="/docs.html">Docs</a>
</li>
</ul>
</div>
<!-- //mobmenu__menu -->
</div>
<!-- //mobmenu__wrap -->
</div>
<!-- //mobmenu -->
</div>
</div>
<!-- MOBILE MENU END -->
<header class="hdr hdr__dark">
<div class="cmtyhero__wrap flexi">
<button class="hdr__burger" data-menumodal="#jsMenuModal"><img src="/img/menu.svg" alt="" /></button><a class="hdr__logo" href="/"><img class="hdr__logoimg" src="/img/logo-white.svg" alt="" /></a
><a class="button hdr__button" href="https://ignite.apache.org/download.cgi" target="_blank">Download Ignite 2.11 </a>
<nav class="hdrmenu">
<ul class="flexi">
<li><a class="hdrmenu__current" href="/">Get started</a></li>
<li><a href="/features">Features</a></li>
<li><a href="/community.html">Community</a></li>
<li><a href="/use-cases/provenusecases.html">Powered by</a></li>
<li><a href="/docs.html">Docs</a></li>
</ul>
</nav>
</div>
</header>
<header class="hdrfloat">
<div class="cmtyhero__wrap flexi">
<button class="hdr__burger" data-menumodal="#jsMenuModal"><img src="/img/menu.svg" alt="" /></button><a class="hdr__logo" href="/"><img class="hdr__logoimg" src="/img/logo.svg" alt="" /></a
><a class="button hdr__button" href="https://ignite.apache.org/download.cgi" target="_blank">Download Ignite 2.11 </a>
<nav class="hdrmenu">
<ul class="flexi">
<li><a class="hdrmenu__current" href="/">Get started</a></li>
<li><a href="/features">Features</a></li>
<li><a href="/community.html">Community</a></li>
<li><a href="/use-cases/provenusecases.html">Powered by</a></li>
<li><a href="/docs.html">Docs</a></li>
</ul>
</nav>
</div>
</header>
<section class="innerhero fronthero">
<div class="container innerhero__cont">
<div class="innerhero__main innerhero__main--long">
<div class="innerhero__pre pb-4">Scale Across Memory And Disk With No Compromises</div>
<h1 class="h1 innerhero__h1 innerhero__mega">Open-Source<br />Distributed Database</h1>
<div class="innerhero__h2 h4 pt-2">For High-Performance Computing <br />With In-Memory Speed and On-Disk Scale</div>
<div class="innerhero__action pt-4"><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">
<article class="frontcard">
<div class="frontcard__title h5">One of top-5 project of the Apache Software 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>
</article>
<!-- /.frontcard-->
<article class="frontcard">
<div class="frontcard__network"><img src="/img/frontpage/b1-planet.svg" alt="" /></div>
<div class="frontcard__title h5 pt-3">World's leading companies select Ignite to power applications used by millions of people daily</div>
</article>
<!-- /.frontcard-->
</aside>
<!-- /.fronttopcards-->
<div class="container forntcodes">
<h3 class="h3">Use Ignite Core Capabilities To Start Easily <br />And Scale Faster</h3>
<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="https://ignite.apache.org/docs/latest/memory-architecture">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="https://ignite.apache.org/docs/latest/SQL/sql-introduction">Start Using 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="https://ignite.apache.org/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">Co-located Compute 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="https://ignite.apache.org/docs/latest/distributed-computing/distributed-computing">Start Using 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="https://ignite.apache.org/docs/latest/machine-learning/machine-learning">Start Using Ignite 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">Start Using Continuous Queries</a></div>
</div>
<!-- /.forntcodes__innertabs-->
</div>
<!-- /.forntcodes__tab6 (END Continuous Queries)-->
</div>
</div>
</div>
<!-- /.forntcodes-->
</section>
<!-- /.frontblue-->
<section class="frontnewcards container">
<h3 class="h3">New to Ignite? <br />Three Primary Usage Scenarios</h3>
<div class="frontnewcards__wrap pt-5">
<article class="usecasecard cardsimple">
<h4 class="cardsimple__title">Applications 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>
<div class="cardsimple__bottom"><a class="cardsimple__button button button--shadow" href="/use-cases/in-memory-data-grid.html">Learn more</a></div>
</article>
<article class="usecasecard 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>
<div class="cardsimple__bottom"><a class="cardsimple__button button button--shadow" href="/use-cases/in-memory-database.html">Learn more</a></div>
</article>
<article class="usecasecard 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">
<h3 class="h3">Ignite User Stories</h3>
<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>And 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--medium">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--medium">How To&nbsp;Use Apache Ignite To&nbsp;Rescue The Backend Of&nbsp;A&nbsp;Bank</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--medium">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>
</div>
<div class="frontstories__pag"></div>
</div>
<div class="frontstories__bottom pt-5"><a class="button button--shadow" href="/use-cases/provenusecases.html">View all case-studies</a></div>
</section>
<!-- /.frontstories-->
<section class="frontconfs container">
<h3 class="h3">Join The Community At Events <br />And Meetups Worldwide</h3>
<div class="frontconfs__wrap">
<a class="frontconfcard frontconfcard--red" href="/events.html#online"
><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 make <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="/events.html#summit"
><div class="frontconfs__iconwrap pb-3"><img src="/img/frontpage/events/002.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#offline"
><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/schedule/" target="_blank"
><picture
><source srcset="/img/events/event-banner-vert.jpg" media="(max-width: 767px)" />
<img src="/img/events/event-banner.jpg" alt="" /></picture
></a>
</section>
<!-- /.event-featured-->
<section class="frontresourse container">
<h3 class="h3">Resources To Elevate Your <br />Ignite Experience</h3>
<div class="frontresourse__subtitle pt-2">Get an access to the 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>
<div class="frontresitem flexi frontresitem--black">
<div class="frontresitem__icon"><img src="/img/frontpage/res-docs.svg" alt="" /></div>
<div class="frontresitem__text">Apache Ignite technical documentation</div>
</div>
<div class="frontresitem flexi frontresitem--gray">
<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>
</div>
<div class="frontresitem flexi frontresitem--gray">
<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>
</div>
</div>
<div class="frontresourse__col">
<div class="capstext pb-5">Technical resources</div>
<div class="frontresitem flexi frontresitem--red">
<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>
</div>
<div class="frontresitem flexi frontresitem--rose">
<div class="frontresitem__icon"><img src="/img/frontpage/res-vebinar.svg" alt="" /></div>
<div class="frontresitem__text">Trainings and courses that help building high-performance and data-intensive applications with&nbsp;the Apache Ignite</div>
</div>
<div class="frontresitem flexi frontresitem--rose">
<div class="frontresitem__icon"><img src="/img/frontpage/res-book.svg" alt="" /></div>
<div class="frontresitem__text">Apache Ignite book to expand knowledge <br />in in-memory computing and distributed databases</div>
</div>
</div>
</div>
</section>
<section class="toolingend toolingend--front">
<div class="container flexi">
<div class="toolingend__main">
<h2 class="toolingend__title h3">Ready To Start?</h2>
<p class="fz20 pt-1x">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="#">Discover Quick Start Guide</a></div>
</div>
</section>
<a class="scrollTop" href="#"
><svg class="feather feather-chevron-up" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<polyline points="18 15 12 9 6 15"></polyline></svg
></a>
<script src="/js/vendor/hystmodal/hystmodal.min.js"></script>
<script src="/js/vendor/swiper/swiper-bundle.min.js"></script>
<script src="/js/vendor/waypoints.min.js"></script>
<script src="/js/main.js"></script>
</body>
</html>