<!--
 ▄▄▄       ██▓███   ▄▄▄       ▄████▄   ██░ ██ ▓█████     ██▓  ▄████  ███▄    █  ██▓▄▄▄█████▓▓█████
▒████▄    ▓██░  ██▒▒████▄    ▒██▀ ▀█  ▓██░ ██▒▓█   ▀    ▓██▒ ██▒ ▀█▒ ██ ▀█   █ ▓██▒▓  ██▒ ▓▒▓█   ▀
▒██  ▀█▄  ▓██░ ██▓▒▒██  ▀█▄  ▒▓█    ▄ ▒██▀▀██░▒███      ▒██▒▒██░▄▄▄░▓██  ▀█ ██▒▒██▒▒ ▓██░ ▒░▒███
░██▄▄▄▄██ ▒██▄█▓▒ ▒░██▄▄▄▄██ ▒▓▓▄ ▄██▒░▓█ ░██ ▒▓█  ▄    ░██░░▓█  ██▓▓██▒  ▐▌██▒░██░░ ▓██▓ ░ ▒▓█  ▄
 ▓█   ▓██▒▒██▒ ░  ░ ▓█   ▓██▒▒ ▓███▀ ░░▓█▒░██▓░▒████▒   ░██░░▒▓███▀▒▒██░   ▓██░░██░  ▒██▒ ░ ░▒████▒
 ▒▒   ▓▒█░▒▓▒░ ░  ░ ▒▒   ▓▒█░░ ░▒ ▒  ░ ▒ ░░▒░▒░░ ▒░ ░   ░▓   ░▒   ▒ ░ ▒░   ▒ ▒ ░▓    ▒ ░░   ░░ ▒░ ░
  ▒   ▒▒ ░░▒ ░       ▒   ▒▒ ░  ░  ▒    ▒ ░▒░ ░ ░ ░  ░    ▒ ░  ░   ░ ░ ░░   ░ ▒░ ▒ ░    ░     ░ ░  ░
  ░   ▒   ░░         ░   ▒   ░         ░  ░░ ░   ░       ▒ ░░ ░   ░    ░   ░ ░  ▒ ░  ░         ░
      ░  ░               ░  ░░ ░       ░  ░  ░   ░  ░    ░        ░          ░  ░              ░  ░
-->

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/html">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate"/>
    <meta http-equiv="Pragma" content="no-cache"/>
    <meta http-equiv="Expires" content="0"/>
    <link rel="canonical" href="https://ignite.apache.org/"/>
    <link rel="preconnect" href="https://api.github.com"/>
    <link rel="preconnect" href="https://ajax.googleapis.com"/>
    <link rel="dns-prefetch" href="https://www.googletagmanager.com"/>


    <!--#include virtual="/includes/scriptshead.html" -->
    
    <title>Distributed Database - Apache Ignite&reg;</title>
    <meta name="description"
          content="Apache Ignite&reg; is a distributed database for high-performance computing with in-memory speed.">
    
          <!-- remember to copy this content to downloads.html --><style>@charset "UTF-8";pre[class*=language-]{color:#ccc;background:0 0;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}pre[class*=language-]{background:#2d2d2d}:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#055799;--secondary:#b02032;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--gray:#e9e9e9;--shadow-gray:#d5d5d5;--ignite-red:#f20025;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%}header,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}h1,h2,h3{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}ul{margin-top:0;margin-bottom:1rem}ul ul{margin-bottom:0}strong{font-weight:bolder}a{color:#055799;text-decoration:none;background-color:transparent}a:not([href]){color:inherit;text-decoration:none}code,pre{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}button{border-radius:0}button{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button{overflow:visible}button{text-transform:none}[type=button],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}h1,h2,h3{margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}code{font-size:87.5%;color:#e83e8c;word-wrap:break-word}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.col-3,.col-9,.col-lg-5,.col-lg-7,.col-md-3,.col-md-4,.col-md-8,.col-md-9,.col-sm-6{position:relative;width:100%;padding-right:15px;padding-left:15px}.col-3{flex:0 0 25%;max-width:25%}.col-9{flex:0 0 75%;max-width:75%}@media (min-width:576px){.col-sm-6{flex:0 0 50%;max-width:50%}}@media (min-width:768px){.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.33333%;max-width:33.33333%}.col-md-8{flex:0 0 66.66667%;max-width:66.66667%}.col-md-9{flex:0 0 75%;max-width:75%}}@media (min-width:992px){.col-lg-5{flex:0 0 41.66667%;max-width:41.66667%}.col-lg-7{flex:0 0 58.33333%;max-width:58.33333%}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem}.btn-primary{color:#fff;background-color:#055799;border-color:#055799}.btn-secondary{color:#fff;background-color:#b02032;border-color:#b02032}.collapse:not(.show){display:none}.dropdown{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active{color:#fff;background-color:#055799}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:.5rem 1rem}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (min-width:992px){.navbar-expand-lg{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}.d-none{display:none!important}.d-block{display:block!important}.d-flex{display:flex!important}@media (min-width:768px){.d-md-none{display:none!important}.d-md-block{display:block!important}}.mb-3{margin-bottom:1rem!important}.p-2{padding:.5rem!important}.mr-auto{margin-right:auto!important}body{font-family:'Open Sans',sans-serif;font-size:14px;margin:0;padding:0;opacity:1}strong{font-weight:600}.fa-external-link-alt{color:#aaa}.bg-gray-shadow{background-color:#e9e9e9}#header{position:sticky;top:0;z-index:2;box-shadow:0 8px 8px -10px #d5d5d5;background-color:#fff}#header #nav{padding:.5rem 0;margin-bottom:0!important}#header #nav .navbar-brand img{width:120px}#header #nav .navbar-nav{position:absolute;right:0}#header #nav .navbar-nav>li.nav-item{font-size:16px;width:130px}#header #nav .navbar-nav li.nav-item a{display:inline-block;padding-right:1.3em;padding-left:1.3em;color:#000}#header #nav .navbar-nav li.nav-item .btn-secondary{padding:.3rem 1.2rem .4rem!important;color:#fff}#header #nav .navbar-nav li.nav-item .dropdown-toggle:after{display:none}#header #nav .navbar-nav li.nav-item ul.dropdown-menu{padding:.5em 0 0 1.3em;box-shadow:0 5px 8px 0 #d5d5d5,0 -5px 8px 0 #d5d5d5;border-bottom:5px solid #f20025;border-radius:0}#header #nav .navbar-nav li.nav-item ul.dropdown-menu .dropdown-subtitle{font-weight:400;font-size:16px;margin-top:.6em;border-bottom:3px solid #e9e9e9;margin-bottom:.5em;padding-bottom:.5em}#header #nav .navbar-nav li.nav-item ul.dropdown-menu .dropdown-item{padding:0}#header #nav .navbar-nav li.nav-item ul.dropdown-menu .dropdown-item a{padding:.4em 1.5em .4em 1em;color:#000;font-size:14px;display:block}#header #nav .navbar-nav li.nav-item ul.dropdown-menu .dropdown-item:last-child{border-bottom:5px solid #b02032;padding-bottom:1em;margin-bottom:-5px}#header.shrink #nav .navbar-nav>li.nav-item{width:120px}@media (max-width:991.98px){#header #nav .navbar-nav{position:relative}#header #nav .navbar-nav li.nav-item a.btn{margin-left:1.3em}#header #nav .navbar-nav li.nav-item ul.dropdown-menu{border:0;box-shadow:none;margin-bottom:2rem;margin-left:2rem;border-left:5px solid #b02032}#header #nav .navbar-nav li.nav-item ul.dropdown-menu .dropdown-item:last-child{border-bottom:none}#header #nav .navbar-brand img{width:9rem}#header #nav .navbar-toggler-icon i{font-size:2rem}#header.shrink #nav .navbar-nav>li.nav-item{width:100%}}.nobr{white-space:nowrap}#main-banner{background-color:#f6f6f6}#main-banner .container{padding-top:3rem;padding-bottom:3rem;align-items:center;display:flex;min-height:400px}#main-banner #particle-js{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;height:480px}#main-banner .txt-wrapper{background-color:rgba(246,246,246,.5);width:100%;position:relative}#main-banner h1{text-align:center;font:normal normal normal 28px/44px Open Sans;letter-spacing:0;white-space:nowrap;color:#212529;margin-bottom:3rem}#main-banner h1 strong{text-align:center;font:normal normal 600 56px/76px Open Sans;letter-spacing:0;color:#055799;text-transform:uppercase;margin-bottom:1rem;display:block}#main-banner .buttons{text-align:center}#main-banner .btn{font-size:18px;line-height:1.5em;padding:.5rem 1.5rem}#main-banner .btn span{margin-left:10px}#github-stats-bar{padding:.5rem 0 .2rem;background-color:#e9e9e9}#github-stats-bar a{font-size:18px;margin-right:2rem}.github-stats .github-link .fa-github{color:#055799;font-size:30px;margin-right:1rem;vertical-align:top}#intro-text{padding:2rem 0 2rem}#intro-text .poweredby-logos{display:flex;justify-content:center;padding:0 2em 1em}#intro-text .poweredby-logos img{width:120px;height:auto;opacity:.7;align-self:center;filter:grayscale(100%);margin:0 1rem}#intro-text .cta-link{text-align:center;margin-top:1rem;font-size:16px}#home-use-cases{padding:5rem 0;background-color:#fff}section.section-block h2{text-align:center;font-size:32px;text-transform:uppercase;margin-bottom:2em}section.section-block h2 strong{color:#055799;font-weight:900}#home-features .wrapper{padding:5rem 0}#home-features #home-features-vtab a.nav-link{display:flex;align-items:center;width:100%;background-color:#055799;color:#fff;margin-bottom:1.35em;box-shadow:0 15px 8px -10px #d5d5d5;padding:1em 1em}#home-features #home-features-vtab a.nav-link svg{width:50px;height:50px;fill:#fff}#home-features #home-features-vtab a.nav-link span{font-size:16.5px;line-height:1.5em;font-weight:600}#home-features #home-features-vtab a.nav-link.active{text-decoration:none;background-color:#b02032}#home-features #home-features-vtab a.nav-link:last-of-type{margin-bottom:0}#home-features #v-pills-tabContent{background-color:#fff;border-radius:5px;padding:2em;height:100%;box-shadow:0 15px 8px -10px #d5d5d5}#home-features #v-pills-tabContent .tab-pane h3{font-size:22px;text-align:center;font-weight:600}#home-features #v-pills-tabContent .tab-pane h3 a{text-decoration:none}#home-features #v-pills-tabContent .tab-pane p{font-size:16px;font-weight:400;line-height:2em}#home-features #v-pills-tabContent .tab-pane pre{margin:0 0 1em 0;max-height:270px}#home-features #v-pills-tabContent .tab-pane code{font-size:16px}#home-features #v-pills-tabContent .tab-pane .nav-tabs .nav-item a.nav-link{color:#495057;font-size:1.2em}#home-features #v-pills-tabContent .tab-pane .nav-tabs .nav-item a.nav-link.active{color:#055799;font-weight:600}@media (max-width:1199.98px){#main-banner h1{font-size:24px}#main-banner h1 strong{font:normal normal 600 50px/64px Open Sans}#main-banner .container{min-height:360px}#main-banner .container #particle-js{height:440px}#home-features #v-pills-tabContent .tab-pane pre{max-height:265px}#intro-text .poweredby-logos img{margin:0 .5rem}}@media (max-width:991.98px){#main-banner .container{background-size:300px}#main-banner .container h1{font:normal normal normal 28px/38px Open Sans;white-space:normal}#main-banner .container h1 strong{font:normal normal 600 52px/70px Open Sans}#main-banner .buttons{margin-top:1.5rem}#intro-text .poweredby-logos{padding:1rem}#home-features #v-pills-tabContent .tab-pane pre{max-height:215px}#home-features #home-features-vtab a.nav-link span{font-size:14px;margin-left:7px}}@media (min-width:768px){#home-features #v-pills-tabContent .nav-tabs{display:flex}#home-features #v-pills-tabContent .card .collapse{display:block}#home-features #v-pills-tabContent>.tab-pane h3 a svg{display:none}}@media (max-width:767.98px){#home-features #home-features-vtab{display:none}#home-features #home-features-vtab a.nav-link{padding:1.25em 2em;margin-bottom:.5em}#home-features #home-features-vtab a.nav-link span{font-size:16px}#home-features #home-features-vtab a.nav-link:last-of-type{margin-bottom:1.5em}#home-features #v-pills-tabContent{padding:2em 1em}#home-features #v-pills-tabContent>.tab-pane{display:block!important;opacity:1}#home-features #v-pills-tabContent>.tab-pane h3 a{display:block;width:100%;display:flex;align-items:center;width:100%;margin-bottom:1.35em;box-shadow:0 15px 8px -10px #d5d5d5;padding:.5em 1em;text-decoration:none;background-color:#b02032;color:#fff}#home-features #v-pills-tabContent>.tab-pane h3 a.collapsed{background-color:#055799;color:#fff}#home-features #v-pills-tabContent>.tab-pane h3 a svg{width:50px;height:50px;fill:#fff}#home-features #v-pills-tabContent>.tab-pane h3 a span{margin-left:1.5rem;display:inline-block;width:100%;text-align:left}#home-features #v-pills-tabContent>.tab-pane .card-body{margin-bottom:2rem;padding:0 1em}#intro-text .poweredby-logos img{width:76px;max-width:15%}#github-stats-bar a{margin-right:0}#main-banner .container h1{font-size:26px}#main-banner .container h1 strong{font-size:50px}#home-use-cases{padding:3rem 1rem}}@media (max-width:575.98px){#main-banner .container{background-size:unset;background-position-x:200%}#main-banner .container .txt-wrapper{width:100%;padding-right:1rem;padding-left:1rem}#main-banner .container h1{font-size:22px}#main-banner .container h1 strong{font-size:40px}#main-banner .container .btn{margin-bottom:10px}#home-features #v-pills-tabContent>.tab-pane h3 a span{margin-left:.8rem;font-size:18px}#github-stats-bar{padding-left:1rem;padding-right:1rem}#github-stats-bar a{margin-right:0}}.fa,.fab,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-bars:before{content:"\f0c9"}.fa-external-link-alt:before{content:"\f35d"}.fa-github:before{content:"\f09b"}.fab{font-family:"Font Awesome 5 Brands"}.fab{font-weight:400}.fa,.fas{font-family:"Font Awesome 5 Free"}.fa,.fas{font-weight:900}body {opacity: 0;}.fa{display: none;}</style>

</head>

<body>
<svg style="display: none;" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
    <symbol id="index-icons--ACID" viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
        <defs></defs>
        <path d="M138.74 124.53a18.71 18.71 0 00-8.23-8.23 4.72 4.72 0 01-2.55-4.22V98a4.72 4.72 0 012.55-4.22 18.71 18.71 0 008.23-8.23A4.71 4.71 0 01143 83h14a4.71 4.71 0 014.22 2.54 18.71 18.71 0 008.23 8.23A4.72 4.72 0 01172 98v14.09a4.72 4.72 0 01-2.55 4.22 18.71 18.71 0 00-8.23 8.23 4.71 4.71 0 01-4.22 2.54h-14a4.71 4.71 0 01-4.26-2.55z"/>
        <path d="M105.44 105.05a44.56 44.56 0 1176.07 31.5 44.56 44.56 0 01-76.07-31.5zm78.75 0a34.19 34.19 0 10-10 24.17 34 34 0 0010-24.17zM170.9 189.06a29.55 29.55 0 100 41.79 29.54 29.54 0 000-41.79zm-4.53 16.78l-16.92 16.92a3.72 3.72 0 01-5.26 0l-9.9-9.9a3.72 3.72 0 015.26-5.27l7.27 7.28 14.29-14.29a3.72 3.72 0 015.26 0 3.72 3.72 0 010 5.26zM131.89 175.19a3.73 3.73 0 01-3.74-3.74v-13.91a3.75 3.75 0 017.49 0v13.91a3.74 3.74 0 01-3.75 3.74zM150.33 175.19a3.74 3.74 0 01-3.75-3.74v-13.91a3.75 3.75 0 017.5 0v13.91a3.74 3.74 0 01-3.75 3.74zM168 175.19a3.74 3.74 0 01-3.75-3.74v-13.91a3.75 3.75 0 017.49 0v13.91a3.73 3.73 0 01-3.74 3.74z"/>
    </symbol>
    <symbol id="index-icons--Database" viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
        <defs></defs>
        <path d="M209.61 47.7c-16.15-4.39-37.89-6.9-59.63-6.9s-43.46 2.51-59.6 6.9c-18.91 5.12-28.9 12.41-28.9 21.06v54.53a11.82 11.82 0 002.26 6.85 17.68 17.68 0 002.39 2.78c11.34 11 45.05 18.33 83.85 18.33s72.54-7.37 83.89-18.33a18.29 18.29 0 002.39-2.78 11.82 11.82 0 002.26-6.85V68.76c0-8.65-10-15.94-28.91-21.06zm20.14 77.87a9.69 9.69 0 01-1.37 1.59c-9.68 9.36-42.65 16.14-78.4 16.14s-68.68-6.79-78.36-16.13a10.68 10.68 0 01-1.37-1.6 4 4 0 01-.81-2.28V81.07a43.53 43.53 0 005.9 3.37h.1c1.07.52 2.2 1 3.39 1.51l.29.12c1.15.46 2.34.92 3.58 1.36l.45.15c1 .37 2.14.73 3.26 1.07l1 .32c1 .32 2.14.62 3.24.92l1.49.4c1.07.28 2.16.54 3.26.8l1.91.44 3.25.69 2.17.42 2.61.47 3 .49 2.46.38 3.21.44 2.79.35 2.52.29q1.88.21 3.78.39l1.91.17c1.52.13 3 .25 4.6.36l1.65.11q2.49.15 5 .27h1.25c1.83.08 3.68.14 5.54.18h.74q3 .06 6.14.06t6.13-.06h.75c1.87 0 3.71-.1 5.54-.18h1.27c1.69-.08 3.36-.17 5-.27l1.66-.11c1.54-.11 3.07-.23 4.58-.36.66 0 1.31-.12 2-.18 1.24-.11 2.46-.24 3.67-.37.89-.09 1.76-.2 2.63-.3l2.75-.34 3.29-.43 2.41-.36c1-.17 2-.33 3-.51l2.59-.46 2.18-.43 3.26-.68 1.89-.44 3.29-.8 1.43-.39c1.16-.31 2.3-.63 3.4-1l.84-.27c1.16-.36 2.3-.73 3.39-1.11l.36-.12c1.27-.45 2.49-.92 3.67-1.4l.2-.08c1.21-.5 2.37-1 3.46-1.54a44.12 44.12 0 005.94-3.38v42.22a4 4 0 01-.76 2.32zM150 48.76c49.93 0 80.58 11.65 80.58 20a4.22 4.22 0 01-.82 2.31c-3.5 5.15-16 10.42-34.41 13.85h-.16l-2.09.37-2.19.36a258.15 258.15 0 01-34 3H143.1a258.83 258.83 0 01-33.92-3h-.15l-2.03-.32-2.22-.4c-18.52-3.43-31-8.69-34.51-13.86a4.19 4.19 0 01-.83-2.31c0-8.35 30.64-20 80.56-20z"/>
        <path d="M230.56 123a4.17 4.17 0 01-.82 2.31c-3.5 5.16-16 10.42-34.41 13.85h-.16l-2.09.37-2.19.37a256.52 256.52 0 01-34 3h-13.81a257.18 257.18 0 01-33.92-3h-.15l-2.06-.35-2.22-.39c-18.43-3.43-30.91-8.69-34.42-13.85a4.19 4.19 0 01-.83-2.32h-8v54.54a11.76 11.76 0 002.26 6.84 18.23 18.23 0 002.39 2.79c11.34 11 45.05 18.33 83.85 18.33s72.54-7.37 83.89-18.33a18.89 18.89 0 002.39-2.79 11.76 11.76 0 002.26-6.84V123zm-.81 56.82a10.12 10.12 0 01-1.37 1.59c-9.68 9.36-42.65 16.13-78.4 16.13s-68.68-6.78-78.36-16.13a9.77 9.77 0 01-1.37-1.6 3.94 3.94 0 01-.81-2.27v-42.25a43.52 43.52 0 005.9 3.36h.1c1.07.51 2.2 1 3.39 1.5l.29.12c1.15.47 2.34.93 3.58 1.37l.45.15c1 .37 2.14.72 3.26 1.07l1 .32c1 .31 2.14.62 3.24.92l1.49.4 3.26.8 1.91.43c1.06.24 2.15.47 3.25.69.72.15 1.44.28 2.17.42l2.61.47 3 .5 2.46.37q1.59.24 3.21.45l2.79.35 2.52.29c1.25.14 2.51.26 3.78.38l1.91.18c1.52.13 3 .25 4.6.35l1.65.11c1.66.11 3.34.2 5 .28h1.25c1.83.08 3.68.14 5.54.18h.74q3 .07 6.14.07t6.13-.07h.75c1.87 0 3.71-.1 5.54-.18h1.27c1.69-.08 3.36-.17 5-.28l1.66-.11c1.54-.1 3.07-.22 4.58-.35l2-.18 3.67-.37 2.63-.3 2.75-.35c1.1-.14 2.18-.29 3.26-.45l2.41-.37 3-.5 2.59-.47 2.18-.42c1.1-.22 2.19-.45 3.26-.69l1.89-.43c1.11-.26 2.21-.53 3.29-.81l1.43-.38c1.16-.32 2.3-.64 3.4-1l.84-.26c1.16-.36 2.3-.73 3.39-1.12.12 0 .24-.07.36-.12 1.27-.45 2.49-.92 3.67-1.39l.2-.08c1.21-.5 2.37-1 3.46-1.54a44.12 44.12 0 005.94-3.38v42.22a4 4 0 01-.73 2.35z"/>
        <path d="M230.56 176.71a4.16 4.16 0 01-.82 2.3c-3.5 5.16-16 10.43-34.41 13.86h-.16l-2.09.38-2.19.36a256.52 256.52 0 01-34 3h-13.81a257.18 257.18 0 01-33.92-3h-.15l-2.06-.35q-1.12-.18-2.22-.39c-18.43-3.42-30.91-8.69-34.42-13.85a4.19 4.19 0 01-.83-2.31h-8v54.53a11.76 11.76 0 002.26 6.84 17.77 17.77 0 002.39 2.79c11.34 11 45.05 18.33 83.85 18.33s72.54-7.37 83.89-18.33a18.79 18.79 0 002.39-2.78 11.82 11.82 0 002.26-6.85v-54.53zm-.81 56.81a10.12 10.12 0 01-1.37 1.59c-9.68 9.36-42.65 16.13-78.4 16.13s-68.68-6.78-78.36-16.12a10.29 10.29 0 01-1.37-1.61 3.94 3.94 0 01-.81-2.27V189a44.62 44.62 0 005.9 3.37h.1c1.07.52 2.2 1 3.39 1.51l.29.11c1.15.47 2.34.93 3.58 1.37l.45.15c1 .37 2.14.72 3.26 1.07l1 .32c1 .32 2.14.62 3.24.92l1.49.4c1.07.28 2.16.54 3.26.8l1.91.44c1.06.23 2.15.46 3.25.68.72.15 1.44.29 2.17.42s1.73.32 2.61.47 2 .34 3 .5l2.46.37q1.59.24 3.21.45l2.79.35 2.52.29c1.25.14 2.51.26 3.78.38l1.91.18c1.52.13 3 .25 4.6.36l1.65.11q2.49.15 5 .27l1.25.05c1.83.08 3.68.14 5.54.18h.74q3 .06 6.14.06t6.13-.06h.75c1.87 0 3.71-.1 5.54-.18l1.27-.05c1.69-.08 3.36-.17 5-.27l1.66-.11c1.54-.11 3.07-.23 4.58-.36l2-.18c1.24-.11 2.46-.24 3.67-.37l2.63-.3 2.75-.35c1.1-.14 2.18-.29 3.26-.45l2.41-.37 3-.5 2.59-.47c.73-.13 1.46-.27 2.18-.42 1.1-.22 2.19-.45 3.26-.69l1.89-.43 3.29-.8 1.43-.39c1.16-.31 2.3-.63 3.4-1l.84-.26c1.16-.36 2.3-.73 3.39-1.11l.36-.12c1.27-.45 2.49-.92 3.67-1.4l.2-.08c1.21-.5 2.37-1 3.46-1.54a44.12 44.12 0 005.94-3.38v42.22a4 4 0 01-.73 2.36z"/>
    </symbol>
    <symbol id="index-icons--Distributed-IMDataStore" viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
        <defs></defs>
        <path d="M142.21 248.22a12.88 12.88 0 00-5.7-5.7 3.26 3.26 0 01-1.76-2.92v-9.74a3.26 3.26 0 011.76-2.92 12.93 12.93 0 005.7-5.7 3.26 3.26 0 012.92-1.76h9.74a3.26 3.26 0 012.92 1.76 12.93 12.93 0 005.7 5.7 3.26 3.26 0 011.76 2.92v9.74a3.26 3.26 0 01-1.76 2.92 12.88 12.88 0 00-5.7 5.7 3.25 3.25 0 01-2.92 1.75h-9.74a3.25 3.25 0 01-2.92-1.75zM150 118.09a4.68 4.68 0 01-4.68-4.68v-11.14a4.68 4.68 0 019.36 0v11.14a4.68 4.68 0 01-4.68 4.68zM150 202.68a4.67 4.67 0 01-4.68-4.68v-11.14a4.68 4.68 0 019.36 0V198a4.67 4.67 0 01-4.68 4.68zM142.21 163.62a12.91 12.91 0 00-5.7-5.69 3.28 3.28 0 01-1.76-2.92v-9.75a3.28 3.28 0 011.76-2.92 12.91 12.91 0 005.7-5.69 3.26 3.26 0 012.92-1.76h9.74a3.26 3.26 0 012.92 1.76 12.91 12.91 0 005.7 5.69 3.28 3.28 0 011.76 2.92V155a3.28 3.28 0 01-1.76 2.92 12.91 12.91 0 00-5.7 5.69 3.26 3.26 0 01-2.92 1.76h-9.74a3.26 3.26 0 01-2.92-1.75zM142.21 79a12.88 12.88 0 00-5.7-5.7 3.26 3.26 0 01-1.76-2.92v-9.71a3.26 3.26 0 011.76-2.92 12.88 12.88 0 005.7-5.7 3.26 3.26 0 012.92-1.76h9.74a3.26 3.26 0 012.92 1.76 12.88 12.88 0 005.7 5.7 3.26 3.26 0 011.76 2.92v9.74a3.26 3.26 0 01-1.76 2.92 12.93 12.93 0 00-5.7 5.7 3.26 3.26 0 01-2.92 1.76h-9.74a3.26 3.26 0 01-2.92-1.79zM182 149.87a4.69 4.69 0 014.69-4.69h11.14a4.69 4.69 0 010 9.37h-11.1a4.69 4.69 0 01-4.73-4.68zM97.45 149.87a4.69 4.69 0 014.68-4.69h11.14a4.69 4.69 0 110 9.37h-11.14a4.69 4.69 0 01-4.68-4.68zM51.92 142.07a12.93 12.93 0 005.69-5.69 3.28 3.28 0 012.92-1.76h9.75a3.28 3.28 0 012.92 1.76 12.93 12.93 0 005.69 5.69 3.26 3.26 0 011.76 2.93v9.75a3.26 3.26 0 01-1.76 2.92 12.93 12.93 0 00-5.69 5.69 3.28 3.28 0 01-2.92 1.76h-9.75a3.28 3.28 0 01-2.92-1.76 12.93 12.93 0 00-5.69-5.69 3.28 3.28 0 01-1.76-2.92V145a3.28 3.28 0 011.76-2.93zM221.11 142.07a12.93 12.93 0 005.69-5.69 3.28 3.28 0 012.92-1.76h9.75a3.28 3.28 0 012.92 1.76 12.93 12.93 0 005.69 5.69 3.28 3.28 0 011.76 2.92v9.75a3.28 3.28 0 01-1.76 2.92 12.93 12.93 0 00-5.69 5.69 3.28 3.28 0 01-2.92 1.76h-9.75a3.28 3.28 0 01-2.92-1.76 12.93 12.93 0 00-5.69-5.69 3.26 3.26 0 01-1.76-2.92V145a3.26 3.26 0 011.76-2.93zM234.6 118.09a4.69 4.69 0 01-4.69-4.68v-11.14a4.69 4.69 0 019.37 0v11.14a4.69 4.69 0 01-4.68 4.68zM234.6 202.68a4.68 4.68 0 01-4.69-4.68v-11.14a4.69 4.69 0 019.37 0V198a4.68 4.68 0 01-4.68 4.68zM65.4 117.82a4.69 4.69 0 01-4.68-4.68V102a4.69 4.69 0 019.37 0v11.14a4.69 4.69 0 01-4.69 4.68zM65.4 202.41a4.68 4.68 0 01-4.68-4.68v-11.14a4.69 4.69 0 019.37 0v11.14a4.68 4.68 0 01-4.69 4.68zM51.92 57.48a12.91 12.91 0 005.69-5.7A3.27 3.27 0 0160.53 50h9.75a3.27 3.27 0 012.92 1.75 12.91 12.91 0 005.69 5.7 3.24 3.24 0 011.76 2.92v9.74a3.24 3.24 0 01-1.76 2.92 13 13 0 00-5.69 5.7 3.28 3.28 0 01-2.92 1.76h-9.75a3.28 3.28 0 01-2.92-1.76 13 13 0 00-5.69-5.7 3.26 3.26 0 01-1.76-2.92V60.4a3.26 3.26 0 011.76-2.92zM221.11 57.48a12.91 12.91 0 005.69-5.7 3.27 3.27 0 012.92-1.78h9.75a3.27 3.27 0 012.92 1.75 12.91 12.91 0 005.69 5.7 3.26 3.26 0 011.76 2.92v9.74a3.26 3.26 0 01-1.76 2.92 13 13 0 00-5.69 5.7 3.28 3.28 0 01-2.92 1.76h-9.75a3.28 3.28 0 01-2.92-1.76 13 13 0 00-5.69-5.7 3.24 3.24 0 01-1.76-2.92V60.4a3.24 3.24 0 011.76-2.92zM51.92 226.8a12.93 12.93 0 005.69-5.69 3.28 3.28 0 012.92-1.76h9.75a3.28 3.28 0 012.92 1.76 12.93 12.93 0 005.69 5.69 3.26 3.26 0 011.76 2.92v9.75a3.26 3.26 0 01-1.76 2.92 12.93 12.93 0 00-5.69 5.69 3.26 3.26 0 01-2.92 1.76h-9.75a3.26 3.26 0 01-2.92-1.76 12.93 12.93 0 00-5.69-5.69 3.28 3.28 0 01-1.76-2.92v-9.75a3.28 3.28 0 011.76-2.92zM221.11 226.8a12.93 12.93 0 005.69-5.69 3.28 3.28 0 012.92-1.76h9.75a3.28 3.28 0 012.92 1.76 12.93 12.93 0 005.69 5.69 3.28 3.28 0 011.76 2.92v9.75a3.28 3.28 0 01-1.76 2.92 12.93 12.93 0 00-5.69 5.69 3.26 3.26 0 01-2.92 1.76h-9.75a3.26 3.26 0 01-2.92-1.76 12.93 12.93 0 00-5.69-5.69 3.26 3.26 0 01-1.76-2.92v-9.75a3.26 3.26 0 011.76-2.92zM182 65.27a4.69 4.69 0 014.69-4.68h11.14a4.68 4.68 0 110 9.36h-11.1a4.68 4.68 0 01-4.73-4.68zM97.45 65.27a4.69 4.69 0 014.68-4.68h11.14a4.68 4.68 0 110 9.36h-11.14a4.68 4.68 0 01-4.68-4.68zM182 234.6a4.69 4.69 0 014.69-4.69h11.14a4.69 4.69 0 010 9.37h-11.1a4.69 4.69 0 01-4.73-4.68zM97.45 234.6a4.69 4.69 0 014.68-4.69h11.14a4.69 4.69 0 110 9.37h-11.14a4.69 4.69 0 01-4.68-4.68z"/>
    </symbol>
    
    <symbol id="index-icons--Machine-Learning" viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
        <defs></defs>
        <path d="M219.45 123.84a14.47 14.47 0 0010.3-4.26l22.79-22.79a10.85 10.85 0 10-4.9-4.9l-22.78 22.79a7.64 7.64 0 01-5.41 2.24H209v-7.65A18.3 18.3 0 00190.73 91h-7.65V60.33a10.87 10.87 0 10-6.92 0V91h-7.89V76a3.46 3.46 0 10-6.92 0v15h-22.7V76a3.46 3.46 0 10-6.92 0v15h-7.89V80.55a14.47 14.47 0 00-4.26-10.3l-22.8-22.8a10.87 10.87 0 10-4.89 4.9l22.79 22.79a7.64 7.64 0 012.24 5.41V91H91.57L91 116.92H60.33a10.87 10.87 0 100 6.92H91v7.89H76a3.46 3.46 0 100 6.92h15v22.7H76a3.46 3.46 0 100 6.92h15v7.89H80.55a14.51 14.51 0 00-10.31 4.26l-22.78 22.79a10.85 10.85 0 104.9 4.9l22.78-22.79a7.64 7.64 0 015.41-2.24H91v7.65A18.3 18.3 0 00109.27 209h7.65v30.67a10.87 10.87 0 106.92 0V209h7.89v15.05a3.46 3.46 0 106.92 0V209h22.7v15.05a3.46 3.46 0 106.92 0V209h7.89v10.45a14.47 14.47 0 004.26 10.3l22.8 22.8a10.86 10.86 0 104.89-4.9l-22.79-22.79a7.64 7.64 0 01-2.24-5.41V209H209v-25.93h30.67a10.87 10.87 0 100-6.92H209v-7.89h15.05a3.46 3.46 0 100-6.92H209v-22.7h15.05a3.46 3.46 0 100-6.92H209v-7.89zm35.14-39.57a3.92 3.92 0 11-1.16 2.79 3.87 3.87 0 011.16-2.79zM89.84 45.41a3.94 3.94 0 110-5.57 3.94 3.94 0 010 5.57zM50 124.32a3.94 3.94 0 114-3.94 3.95 3.95 0 01-4 3.94zm-4.62 91.41a3.92 3.92 0 111.16-2.79 3.88 3.88 0 01-1.13 2.79zm164.75 38.86a3.94 3.94 0 110 5.57 3.91 3.91 0 01.03-5.57zM175.68 50a3.94 3.94 0 113.94 4 3.95 3.95 0 01-3.94-4zm-51.36 200a3.94 3.94 0 11-3.94-3.94 3.95 3.95 0 013.94 3.94zm-15-47.9a11.35 11.35 0 01-11.34-11.34l.33-92.8h92.47a11.36 11.36 0 0111.34 11.34v92.8zM250 175.68a3.94 3.94 0 11-3.94 3.94 3.95 3.95 0 013.94-3.94z"/>
        <path d="M174 125a11.84 11.84 0 00.34-2.79c0-7-6.22-12.72-13.88-12.72a14.42 14.42 0 00-10.46 4.35 14.42 14.42 0 00-10.41-4.33c-7.66 0-13.88 5.71-13.88 12.72a11.84 11.84 0 00.34 2.79c-7.42 2-12.84 8.31-12.84 15.72a15.21 15.21 0 003.65 9.86 17.18 17.18 0 00-3.65 10.51 17.85 17.85 0 008.33 14.8c0 8 7.16 14.57 16 14.57A16.54 16.54 0 00150 185a16.54 16.54 0 0012.5 5.52c8.47 0 15.41-6.05 15.92-13.67a16.2 16.2 0 008.37-13.85 15.63 15.63 0 00-4.79-11.15 15.59 15.59 0 004.82-11.11c-.03-7.4-5.45-13.68-12.82-15.74zm.58 29.89c3.33 1.77 5.33 4.77 5.33 8.05a8.88 8.88 0 01-3.05 6.51 15.59 15.59 0 00-9.11-7.33 3.46 3.46 0 00-2.08 6.61c3.53 1.11 5.91 4 5.91 7.17 0 4.21-4.06 7.64-9 7.64s-9-3.43-9-7.64v-38.63a3.47 3.47 0 00-6.93 0v38.65c0 4.21-4.05 7.64-9 7.64s-9-3.43-9-7.64a7 7 0 012.16-4.95 3.46 3.46 0 00-4.89-4.91 15.08 15.08 0 00-2.14 2.68 10.57 10.57 0 01-3.46-7.63c0-5.13 4-9.64 9.79-11a3.46 3.46 0 10-1.54-6.75A21 21 0 00122 146a8.35 8.35 0 01-1.89-5.24c0-5.21 4.94-9.45 11-9.49h.09a3.46 3.46 0 003-5.27l-.08-.13v-.06l-.17-.22a5.17 5.17 0 01-1.26-3.32c0-3.19 3.11-5.79 7-5.79s6.94 2.6 6.94 5.79a3.47 3.47 0 006.93 0c0-3.19 3.12-5.79 6.95-5.79s7 2.6 7 5.79a4.84 4.84 0 01-.52 2.18 19.12 19.12 0 00-5.68 1.43 3.46 3.46 0 102.69 6.38 12.49 12.49 0 014.79-1h.19c6.09 0 11 4.28 11 9.49 0 3.28-2 6.29-5.33 8a3.46 3.46 0 000 6.12z"/>
    </symbol>
    <symbol id="index-icons--Compute" viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
        <defs></defs>
        <path d="M234.5 120.32H216a5 5 0 110-10h18.5a5 5 0 010 10zM234.5 155H216a5 5 0 010-10h18.5a5 5 0 010 10zM234.5 189.68H216a5 5 0 110-10h18.5a5 5 0 010 10zM84 120.32H65.5a5 5 0 010-10H84a5 5 0 110 10zM84 155H65.5a5 5 0 010-10H84a5 5 0 110 10zM84 189.68H65.5a5 5 0 010-10H84a5 5 0 110 10zM115.32 89a5 5 0 01-5-5V65.5a5 5 0 0110 0V84a5 5 0 01-5 5zM150 89a5 5 0 01-5-5V65.5a5 5 0 0110 0V84a5 5 0 01-5 5zM184.68 89a5 5 0 01-5-5V65.5a5 5 0 0110 0V84a5 5 0 01-5 5zM115.32 239.5a5 5 0 01-5-5V216a5 5 0 1110 0v18.5a5 5 0 01-5 5zM150 239.5a5 5 0 01-5-5V216a5 5 0 0110 0v18.5a5 5 0 01-5 5zM184.68 239.5a5 5 0 01-5-5V216a5 5 0 1110 0v18.5a5 5 0 01-5 5zM130.09 181.72a31.87 31.87 0 00-11.81-11.81 11.52 11.52 0 01-5.75-10v-19.79a11.52 11.52 0 015.75-10 31.87 31.87 0 0011.81-11.81 11.52 11.52 0 0110-5.75h19.76a11.52 11.52 0 0110 5.75 31.87 31.87 0 0011.81 11.81 11.52 11.52 0 015.75 10v19.76a11.52 11.52 0 01-5.75 10 31.87 31.87 0 00-11.81 11.81 11.52 11.52 0 01-10 5.75h-19.73a11.52 11.52 0 01-10.03-5.72z"/>
    </symbol>
    
    <symbol id="index-icons--continous-q" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 46.64 22.3">
        <defs>
            <style>.b {
                fill: none;
                stroke: #ffffff;;
                stroke-linecap: round;
                stroke-miterlimit: 10;
                stroke-width: 1.3px;
            }</style>
        </defs>
        <path class="b"
              d="M25.39,14.51s.89,1.66,1.2,2.2a10.26,10.26,0,0,0,8.9,4.94,10.48,10.48,0,1,0-9-15.81l-2.55,4.27c-1.34,2.25-2.86,4.82-3.61,6.12A10.5,10.5,0,1,1,11.15.65c5.49,0,9.29,5.62,9.29,5.62"/>
        <polyline class="b" points="20.41 0.78 20.41 6.31 14.88 6.31"/>
    </symbol>
    
    
</svg>

<!--#include virtual="/includes/header.html" -->


<main id="main" role="main">
    <div id="main-banner" class="wrapper-main-banner bg-gray-shadow">
        <div class="container">
            <div id="particle-js"></div>
            <div class="txt-wrapper">
                <h1><strong>APACHE IGNITE</strong> Distributed Database For <span class="nobr">High-Performance</span> Computing
                    With <span class="nobr">In-Memory</span> Speed</h1>

                <div class="buttons">
                    <a href="/docs/latest/index"
                       onclick="gtag('event',  'homepage_click', {'event_category':'main_banner', 'event_label': 'getting-started'});"
                       class="btn btn-primary">Get Started <span>💪</span></a>
                </div>
            </div>


        </div>
    </div>

    <section id="github-stats-bar" class="section-bar">
        <div class="container">
            <div class="row">
                <div class="col-3 col-sm-6 col-lg-7 col-md-8 github-stats">
                    <a class="github-link" target="_blank" rel="noopener" href=" https://github.com/apache/ignite"
                       aria-label="GitHub link"
                       title="View on GitHub"><i class="fab fa-github" aria-hidden="true"></i></a>
                    <!-- Github Stargazers -->
                    <a class="github-button" href="https://github.com/apache/ignite" data-icon="octicon-star"
                       data-size="large" data-show-count="true" aria-label="Star apache/ignite on GitHub">Star</a>

                    <!-- Github Fork -->
                    <a class="github-button" target="_blank" rel="noopener" href="https://github.com/apache/ignite/fork"
                       data-icon="octicon-repo-forked" data-size="large" data-show-count="true"
                       aria-label="Fork apache/ignite on GitHub">Fork</a>

                    <!-- Github Watch -->
                    <a class="github-button" target="_blank" rel="noopener"
                       href="https://github.com/apache/ignite/subscription"
                       data-icon="octicon-eye" data-size="large" data-show-count="true"
                       aria-label="Watch apache/ignite on GitHub">Watch</a>

                </div>
                <div class="col-9 col-sm-6 col-md-4 col-lg-5 twitter-follow">
                    <a href="https://twitter.com/ApacheIgnite" class="twitter-follow-button" target="_blank"
                       rel="noopener" data-show-count="true">Follow
                        @ApacheIgnite</a>
                </div>
            </div>
        </div>
    </section>

    <section id="intro-text" class="section-block ">
        <div class="container">

            <div class="row poweredby-logos">

                <img src="/images/users-logos/resized/120x60/microsoft.jpg" width="120" height="60" 
                sizes="(max-width: 767px) 76px, (min-width: 768px) 120px"
                srcset="/images/users-logos/resized/120x60/microsoft.jpg 120w, /images/users-logos/resized/76x38/microsoft.jpg 76w" alt="Microsoft logo"/>

                <img src="/images/users-logos/resized/120x60/netflix.jpg" width="120" height="60" 
                sizes="(max-width: 767px) 76px, (min-width: 768px) 120px"
                srcset="/images/users-logos/resized/120x60/netflix.jpg 120w, /images/users-logos/resized/76x38/netflix.jpg 76w" alt="Netflix logo"/>

                <img src="/images/users-logos/resized/120x60/apple.jpg" width="120" height="60" 
                sizes="(max-width: 767px) 76px, (min-width: 768px) 120px"
                srcset="/images/users-logos/resized/120x60/apple.jpg 120w, /images/users-logos/resized/76x38/apple.jpg 76w" alt="Apple logo" style="opacity: 0.6;"/>

                <img src="/images/users-logos/resized/120x60/dreamworks.jpg" width="120" height="60" 
                sizes="(max-width: 767px) 76px, (min-width: 768px) 120px"
                srcset="/images/users-logos/resized/120x60/dreamworks.jpg 120w, /images/users-logos/resized/76x38/dreamworks.jpg 76w" alt="Dreamworks logo"/>

                <img src="/images/users-logos/resized/120x60/yahoo_japan.jpg" width="120" height="60" 
                sizes="(max-width: 767px) 76px, (min-width: 768px) 120px"
                srcset="/images/users-logos/resized/120x60/yahoo_japan.jpg 120w, /images/users-logos/resized/76x38/yahoo_japan.jpg 76w" alt="Yahoo Japan logo"/>

                <img src="/images/users-logos/resized/120x60/bloomberg.jpg" width="120" height="60" 
                sizes="(max-width: 767px) 76px, (min-width: 768px) 120px"
                srcset="/images/users-logos/resized/120x60/bloomberg.jpg 120w, /images/users-logos/resized/76x38/bloomberg.jpg 76w" alt="Bloomberg logo" style="opacity: 0.5;" />

                <img src="/images/users-logos/resized/120x60/sber_bank.jpg" width="120" height="60" 
                sizes="(max-width: 767px) 76px, (min-width: 768px) 120px"
                srcset="/images/users-logos/resized/120x60/sber_bank.jpg 120w, /images/users-logos/resized/76x38/sber_bank.jpg 76w" alt="SberBank logo" style="opacity: 0.9;"/>

                <img src="/images/users-logos/resized/120x60/paypal.jpg" width="120" height="60" 
                sizes="(max-width: 767px) 76px, (min-width: 768px) 120px"
                srcset="/images/users-logos/resized/120x60/paypal.jpg 120w, /images/users-logos/resized/76x38/paypal.jpg 76w" alt="PayPal logo"/>

                <img src="/images/users-logos/resized/120x60/banco_do_brasil.jpg" width="120" height="60" 
                sizes="(max-width: 767px) 76px, (min-width: 768px) 120px"
                srcset="/images/users-logos/resized/120x60/banco_do_brasil.jpg 120w, /images/users-logos/resized/76x38/banco_do_brasil.jpg 76w" alt="Banco do Brasil logo"/>

                <img src="/images/users-logos/resized/120x60/dutchrailways.jpg" width="120" height="60" 
                sizes="(max-width: 767px) 76px, (min-width: 768px) 120px"
                srcset="/images/users-logos/resized/120x60/dutchrailways.jpg 120w, /images/users-logos/resized/76x38/dutchrailways.jpg 76w" alt="Dutch Railways logo" />

                <img src="/images/users-logos/resized/120x60/teradata.jpg" width="120" height="60" 
                sizes="(max-width: 767px) 76px, (min-width: 768px) 120px"
                srcset="/images/users-logos/resized/120x60/teradata.jpg 120w, /images/users-logos/resized/76x38/teradata.jpg 76w" alt="Teradata logo" style="opacity: 0.7;"/>

                <img src="/images/users-logos/resized/120x60/ups.jpg" width="120" height="60" 
                sizes="(max-width: 767px) 76px, (min-width: 768px) 120px"
                srcset="/images/users-logos/resized/120x60/ups.jpg 120w, /images/users-logos/resized/76x38/ups.jpg 76w" alt="UPS logo"/>
            </div>

            <div class="cta-link">
                <a href="/use-cases/provenusecases.html"
                   onclick="gtag('event',  'homepage_click', {'event_category':'logos', 'event_label': 'told_ignite_stories'});">
                    View Ignite Stories...
                </a>
            </div>

        </div>
    </section>

    <section id="home-features" class="section-block bg-gray-shadow">
        <div class="wrapper">
            <div class="container">
                <h2>Core <strong>Features</strong></h2>


                <div class="row" id="vertical-tabs">
                    <div class="col-md-3">
                        <!-- Tabs nav -->
                        <div class="nav nav-pills nav-pills-custom" id="home-features-vtab" role="tablist"
                             aria-orientation="vertical">

                            <a class="nav-link active" id="feat-vtab-sql" data-toggle="pill" href="#feat-vtab-c-sql"
                                onclick="gtag('event',  'homepage_click', {'event_category':'features_section_tabs', 'event_label': 'distributed_sql'});"
                               role="tab" aria-controls="feat-vtab-c-sql" aria-selected="false">
                                <svg>
                                    <use xlink:href="#index-icons--Database"></use>
                                </svg>
                                <span>Distributed SQL</span>
                            </a>

                            <a class="nav-link" id="feat-vtab-multitier" data-toggle="pill"
                               href="#feat-vtab-c-multitier" role="tab" aria-controls="feat-vtab-c-multitier"
                               onclick="gtag('event',  'homepage_click', {'event_category':'features_section_tabs', 'event_label': 'multi_tier_storage'});"
                               aria-selected="true">
                                <svg>
                                    <use xlink:href="#index-icons--Distributed-IMDataStore"></use>
                                </svg>
                                <span>Multi-Tier Storage</span></a>

                            <a class="nav-link" id="feat-vtab-colocated" data-toggle="pill"
                               href="#feat-vtab-c-colocated" role="tab" aria-controls="feat-vtab-c-colocated"
                               onclick="gtag('event',  'homepage_click', {'event_category':'features_section_tabs', 'event_label': 'colocated_compute'});"
                               aria-selected="false">
                                <svg>
                                    <use xlink:href="#index-icons--Compute"></use>
                                </svg>
                                <span>Co-located Compute</span>
                            </a>

                            <a class="nav-link" id="feat-vtab-acid" data-toggle="pill" href="#feat-vtab-c-acid"
                            onclick="gtag('event',  'homepage_click', {'event_category':'features_section_tabs', 'event_label': 'acid_transactions'});"
                               role="tab" aria-controls="feat-vtab-c-acid" aria-selected="false">

                                <svg>
                                    <use xlink:href="#index-icons--ACID"></use>
                                </svg>
                                <span>ACID Transactions</span>
                            </a>

                            <a class="nav-link" id="feat-vtab-ml" data-toggle="pill" href="#feat-vtab-c-ml" role="tab"
                            onclick="gtag('event',  'homepage_click', {'event_category':'features_section_tabs', 'event_label': 'machine_learning'});"
                               aria-controls="feat-vtab-c-ml" aria-selected="false">
                                <svg>
                                    <use xlink:href="#index-icons--Machine-Learning"></use>
                                </svg>
                                <span>Machine Learning</span>
                            </a>

                            <a class="nav-link" id="feat-vtab-conquery" data-toggle="pill" href="#feat-vtab-c-conquery"
                            onclick="gtag('event',  'homepage_click', {'event_category':'features_section_tabs', 'event_label': 'continuous_queries'});"
                               role="tab"
                               aria-controls="feat-vtab-c-conquery" aria-selected="false">
                                <svg style="padding: 6px;">
                                    <use xlink:href="#index-icons--continous-q"></use>
                                </svg>
                                <span>Continuous Queries</span>
                            </a>
                        </div>
                    </div>


                    <div class="col-md-9">
                        <!-- Tabs content -->
                        <div class="tab-content" id="v-pills-tabContent" role="tablist">

                            <div class="tab-pane  active show card" id="feat-vtab-c-sql" role="tabpanel"
                                 aria-labelledby="feat-vtab-sql">
                                <div class="card-header" role="tab" id="feat-vtab-ch-sql">
                                    <h3><a class="collapse" data-toggle="collapse" href="#feat-vtab-cb-sql"
                                        onclick="gtag('event',  'homepage_click', {'event_category':'features_section_tabs', 'event_label': 'distributed_sql'});"
                                           aria-expanded="false" aria-controls="feat-vtab-cb-sql">
                                        <svg>
                                            <use xlink:href="#index-icons--Database"></use>
                                        </svg>
                                        <span class="d-block">Distributed SQL</span>
                                    </a></h3>
                                </div>

                                <div id="feat-vtab-cb-sql" class="collapse show" data-parent="#v-pills-tabContent"
                                     role="tabpanel" aria-labelledby="feat-vtab-ch-sql">
                                    <div class="card-body">

                                        <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="code-tabs">
                                            <ul class="nav nav-tabs">
                                                <li class="nav-item">
                                                    <a class="nav-link active" data-toggle="tab" href="#sql">SQL</a>
                                                </li>
                                            </ul>

                                            <!-- Tab panes -->
                                            <div class="tab-content">
                                                <div class="tab-pane active" id="sql">
                                                        <pre class="language-sql">
                                                            <code>
                                                                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>


                                        <a href="/docs/latest/SQL/sql-introduction"
                                           onclick="gtag('event',  'homepage_click', {'event_category':'apache_ignite_features', 'event_label': 'sql'});"
                                           title="Apache Ignite Distributed SQL" aria-label="Distributed SQL"
                                           class="btn btn-secondary">Start Using SQL</a>
                                    </div>
                                </div>
                            </div>

                            <div class="card tab-pane" id="feat-vtab-c-multitier" role="tabpanel"
                                 aria-labelledby="feat-vtab-multitier">
                                <div class="card-header" role="tab" id="feat-vtab-ch-multitier">
                                    <h3><a class="collapsed" data-toggle="collapse" href="#feat-vtab-cb-multitier" aria-expanded="true"
                                        onclick="gtag('event',  'homepage_click', {'event_category':'features_section_tabs', 'event_label': 'multi_tier_storage'});"
                                           aria-controls="feat-vtab-cb-multitier">
                                        <svg>
                                            <use xlink:href="#index-icons--Distributed-IMDataStore"></use>
                                        </svg>
                                        <span class="d-block">Multi-Tier Storage</span></a></h3>
                                </div>
                                <div id="feat-vtab-cb-multitier" class="collapse" data-parent="#v-pills-tabContent"
                                     role="tabpanel" aria-labelledby="feat-vtab-ch-multitier">
                                    <div class="card-body">

                                        <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="code-tabs">
                                            <ul class="nav nav-tabs">
                                                <li class="nav-item">
                                                    <a class="nav-link active" data-toggle="tab"
                                                       href="#storage-xml">XML</a>
                                                </li>
                                                <li class="nav-item">
                                                    <a class="nav-link" data-toggle="tab" href="#storage-java">Java</a>
                                                </li>
                                                <li class="nav-item">
                                                    <a class="nav-link" data-toggle="tab"
                                                       href="#storage-csharp">C#/.NET</a>
                                                </li>
                                            </ul>

                                            <!-- Tab panes -->
                                            <div class="tab-content">
                                                <div class="tab-pane active" id="storage-xml">
                                                        <pre class="language-xml">
                                                            <code>
                                                                &lt;bean class="org.apache.ignite.configuration.IgniteConfiguration"&gt;
                                                                    &lt;property name="dataStorageConfiguration"&gt;
                                                                        &lt;bean class="org.apache.ignite.configuration.DataStorageConfiguration"&gt;
                                                                            &lt;property name="defaultDataRegionConfiguration"&gt;
                                                                                &lt;bean class="org.apache.ignite.configuration.DataRegionConfiguration"&gt;
                                                                                    &lt;property name="persistenceEnabled" value="true"/&gt;
                                                                                &lt;/bean&gt;
                                                                            &lt;/property&gt;
                                                                        &lt;/bean&gt;
                                                                    &lt;/property&gt;
                                                                &lt;/bean&gt;
                                                            </code>
                                                        </pre>
                                                </div>
                                                <div class="tab-pane " id="storage-java">
                                                        <pre class="language-java">
                                                            <code>
                                                                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="tab-pane " id="storage-csharp">
                                                        <pre class="language-csharp">
                                                            <code>
                                                            var cfg = new IgniteConfiguration
                                                            {
                                                                DataStorageConfiguration = new DataStorageConfiguration
                                                                {
                                                                    DefaultDataRegionConfiguration = new DataRegionConfiguration
                                                                    {
                                                                        Name = "Default_Region",
                                                                        PersistenceEnabled = true
                                                                    }
                                                                }
                                                            };
                                                            </code>
                                                        </pre>
                                                </div>
                                            </div>
                                        </div>

                                        <a href="/docs/latest/memory-architecture"
                                           onclick="gtag('event',  'homepage_click', {'event_category':'apache_ignite_features', 'event_label': 'multi_tier_storage'});"
                                           title="Apache Ignite Multi-Tier Storage"
                                           aria-label="Apache Ignite Multi-Tier Storage"
                                           class="btn btn-secondary">Learn More About Storage Engine</a>
                                    </div>
                                </div>
                            </div>

                            

                            <div class="tab-pane card " id="feat-vtab-c-colocated" role="tabpanel"
                                 aria-labelledby="feat-vtab-colocated">
                                <div class="card-header" role="tab" id="feat-vtab-ch-colocated">
                                    <h3><a class="collapsed" data-toggle="collapse" href="#feat-vtab-cb-colocated"
                                            onclick="gtag('event',  'homepage_click', {'event_category':'features_section_tabs', 'event_label': 'colocated_compute'});"
                                           aria-expanded="false" aria-controls="feat-vtab-cb-colocated">
                                        <svg>
                                            <use xlink:href="#index-icons--Compute"></use>
                                        </svg>
                                        <span class="d-block d-md-none">Co-located Compute</span>
                                        <span class="d-none d-md-block">Co-located Compute in Java, Scala, Kotlin, C#, C++</span>
                                    </a></h3>
                                </div>

                                <div id="feat-vtab-cb-colocated" class="collapse" data-parent="#v-pills-tabContent"
                                     role="tabpanel" aria-labelledby="feat-vtab-ch-colocated">
                                    <div class="card-body">
                                        <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="code-tabs">
                                            <ul class="nav nav-tabs">
                                                <li class="nav-item">
                                                    <a class="nav-link active" data-toggle="tab" href="#compute-java">Java</a>
                                                </li>
                                                <li class="nav-item">
                                                    <a class="nav-link" data-toggle="tab"
                                                       href="#compute-csharp">C#/.NET</a>
                                                </li>
                                            </ul>

                                            <!-- Tab panes -->
                                            <div class="tab-content">
                                                <div class="tab-pane active" id="compute-java">
                                                        <pre class="language-java">
                                                            <code>
                                                            // 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(() -> System.out.println(
                                                                "Hello Node: " + ignite.cluster().localNode().id()));
                                                            </code>
                                                        </pre>
                                                </div>
                                                <div class="tab-pane" id="compute-csharp">
                                                        <pre class="language-csharp">
                                                            <code>
                                                            // 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>

                                        <a href="/docs/latest/distributed-computing/distributed-computing"
                                           onclick="gtag('event',  'homepage_click', {'event_category':'apache_ignite_features', 'event_label': 'co_located_processsing'});"
                                           title="Apache Ignite Co-located Processing"
                                           aria-label="Apache Ignite Co-located Processing"
                                           class="btn btn-secondary">Start Using Compute APIs</a>
                                    </div>
                                </div>
                            </div>

                            <div class="tab-pane card " id="feat-vtab-c-acid" role="tabpanel"
                                 aria-labelledby="feat-vtab-acid">
                                <div class="card-header" role="tab" id="feat-vtab-ch-acid">
                                    <h3><a class="collapsed" data-toggle="collapse" href="#feat-vtab-cb-acid"
                                            onclick="gtag('event',  'homepage_click', {'event_category':'features_section_tabs', 'event_label': 'acid_transactions'});"
                                           aria-expanded="false" aria-controls="feat-vtab-cb-acid">
                                        <svg>
                                            <use xlink:href="#index-icons--ACID"></use>
                                        </svg>
                                        <span class="d-block">ACID Transactions</span>
                                    </a></h3>
                                </div>

                                <div id="feat-vtab-cb-acid" class="collapse" data-parent="#v-pills-tabContent"
                                     role="tabpanel" aria-labelledby="feat-vtab-ch-acid">
                                    <div class="card-body">
                                        <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="code-tabs">
                                            <ul class="nav nav-tabs">
                                                <li class="nav-item">
                                                    <a class="nav-link active" data-toggle="tab"
                                                       href="#transactions-java">Java</a>
                                                </li>
                                                <li class="nav-item">
                                                    <a class="nav-link" data-toggle="tab"
                                                       href="#transactions-csharp">C#/.NET</a>
                                                </li>
                                            </ul>

                                            <!-- Tab panes -->
                                            <div class="tab-content">
                                                <div class="tab-pane active" id="transactions-java">
                                                        <pre class="language-java">
                                                            <code>
                                                                IgniteTransactions transactions = ignite.transactions();

                                                                try (Transaction tx = transactions.txStart()) {
                                                                    Integer hello = cache.get("Hello");

                                                                    if (hello == 1)
                                                                        cache.put("Hello", 11);

                                                                    cache.put("World", 22);

                                                                    tx.commit();
                                                                }
                                                            </code>
                                                        </pre>
                                                </div>
                                                <div class="tab-pane" id="transactions-csharp">
                                                        <pre class="language-csharp">
                                                            <code>
                                                                var transactions = ignite.GetTransactions();

                                                                using (var tx = transactions.TxStart()) {
                                                                    int hello = cache.Get("Hello");

                                                                    if (hello == 1) {
                                                                        cache.Put("Hello", 11);
                                                                    }

                                                                    cache.Put("World", 22);

                                                                    tx.Commit();
                                                                }
                                                            </code>
                                                        </pre>
                                                </div>

                                            </div>
                                        </div>

                                        <a href="/features/acid-transactions.html"
                                           onclick="gtag('event',  'homepage_click', {'event_category':'apache_ignite_features', 'event_label': 'transactions'});"
                                           title="Apache Ignite ACID Transactions"
                                           aria-label="Apache Ignite ACID Transactions"
                                           class="btn btn-secondary">Learn More About Transactions</a>
                                    </div>
                                </div>
                            </div>

                            <div class="tab-pane card " id="feat-vtab-c-ml" role="tabpanel"
                                 aria-labelledby="feat-vtab-ml">
                                <div class="card-header" role="tab" id="feat-vtab-ch-ml">
                                    <h3><a class="collapsed" data-toggle="collapse" href="#feat-vtab-cb-ml"
                                        onclick="gtag('event',  'homepage_click', {'event_category':'features_section_tabs', 'event_label': 'machine_learning'});"
                                           aria-expanded="false" aria-controls="feat-vtab-cb-ml">
                                        <svg>
                                            <use xlink:href="#index-icons--Machine-Learning"></use>
                                        </svg>
                                        <span class="d-block d-md-none">Machine Learning</span>
                                        <span class="d-none d-md-block">Built-In Machine Learning</span>
                                    </a></h3>
                                </div>
                                <div id="feat-vtab-cb-ml" class="collapse" data-parent="#v-pills-tabContent"
                                     role="tabpanel" aria-labelledby="feat-vtab-ch-ml">
                                    <div class="card-body">

                                        <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="code-tabs">
                                            <ul class="nav nav-tabs">
                                                <li class="nav-item">
                                                    <a class="nav-link active" data-toggle="tab"
                                                       href="#ml-java">Java</a>
                                                </li>
                                            </ul>

                                            <!-- Tab panes -->
                                            <div class="tab-content">
                                                <div class="tab-pane active" id="ml-java">
                                                        <pre class="language-java">
                                                            <code>
                                                            // 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>

                                        <a href="/docs/latest/machine-learning/machine-learning"
                                           onclick="gtag('event',  'homepage_click', {'event_category':'apache_ignite_features',
                                            'event_label': 'machine_learning'});"
                                           title="Apache Ignite Machine Learning"
                                           aria-label="Apache Ignite Machine Learning"
                                           class="btn btn-secondary">Start Using Ignite Machine Learning</a>
                                    </div>
                                </div>
                            </div>

                            <div class="tab-pane card " id="feat-vtab-c-conquery" role="tabpanel"
                                 aria-labelledby="feat-vtab-conquery">
                                <div class="card-header" role="tab" id="feat-vtab-ch-conquery">
                                    <h3><a class="collapsed" data-toggle="collapse" href="#feat-vtab-cb-conquery"
                                            onclick="gtag('event',  'homepage_click', {'event_category':'features_section_tabs', 'event_label': 'continuous_queries'});"
                                           aria-expanded="false" aria-controls="feat-vtab-cb-conquery">
                                        <svg style="padding: 6px;">
                                            <use xlink:href="#index-icons--continous-q"></use>
                                        </svg>
                                        <span class="d-block">Continuous Queries</span>
                                    </a></h3>
                                </div>
                                <div id="feat-vtab-cb-conquery" class="collapse" data-parent="#v-pills-tabContent"
                                     role="tabpanel" aria-labelledby="feat-vtab-ch-conquery">
                                    <div class="card-body">
                                        <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="code-tabs">
                                            <ul class="nav nav-tabs">
                                                <li class="nav-item">
                                                    <a class="nav-link active" data-toggle="tab" href="#conquery-java">Java</a>
                                                </li>
                                                <li class="nav-item">
                                                    <a class="nav-link" data-toggle="tab" href="#conquery-csharp">C#/.NET</a>
                                                </li>
                                            </ul>

                                            <!-- Tab panes -->
                                            <div class="tab-content">
                                                <div class="tab-pane active" id="conquery-java">
                                                        <pre class="language-java">
                                                            <code>
                                                            ContinuousQuery<Integer, String> qry = new ContinuousQuery<>();

                                                            // 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="tab-pane" id="conquery-csharp">
                                                        <pre class="language-csharp">
                                                            <code>
                                                            var cache = ignite.GetOrCreateCache<int, string>("myCache");

                                                            var query = new ContinuousQuery<int, string>(
                                                                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>

                                        <a href="/docs/latest/key-value-api/continuous-queries"
                                           onclick="gtag('event',  'homepage_click', {'event_category':'apache_ignite_features',
                                            'event_label': 'continuous_queries'});"
                                           title="Apache Ignite Continuous Queries"
                                           aria-label="Apache Ignite Continuous Queries"
                                           class="btn btn-secondary">Start Using Continuous Queries</a>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>


            </div>

        </div>
    </section>

    <section id="ignite-summit-banner" class="section-block">
    
        <div class="container">
            <div class="wrapper">
                <a href="https://ignite-summit.org/schedule" target="_blank" rel="noopener"
                onclick="gtag('event',  'homepage_click', { 'event_category': 'ignite_summit_promotion', 'event_label': 'home-section-afterevent-click'});"
                >
                <picture>
                    <source srcset="/images/promos/ignite-Summit-After-banner-375px.png"  media="(max-width: 767px)">
                    
                                        
                    <img src="/images/promos/ignite-Summit-After-banner.png" alt="Ignite Summit promo" width="1140" height="300" />
                    
                </picture>
                
                </a>
            </div>

    </section>
    

    <section id="home-use-cases" class="section-block">


        <div class="container">
            <h2>How to <strong>Use</strong></h2>

            <div class="row">
                <div class="txt-wrapper">
                    <h3>Applications Acceleration &amp; Data Caching</h3>
                    <p>
                        Accelerate your existing applications by 100x using Ignite as an in-memory cache or in-memory
                        data grid that is deployed over one or more external databases. Think of a cache that you can
                        query with SQL, transact, and compute on.
                    </p>

                    <a href="/use-cases/in-memory-data-grid.html"  role="button" class="btn btn-primary" title="In-Memory Data Grid"
                       onclick="gtag('event',  'homepage_click', {'event_category':'apache_ignite_use_cases', 'event_label': 'data_grid'});">
                        Learn More</a>

                </div>
                <div class="diagram-wrapper">

                    <img class="lazyload"
                        width="546" height="371"
                         data-src="/images/svg-diagrams/home--acc-and-data-caching--alt.svg"
                         alt="Applications Acceleration & Data Caching Diagram"/>
                </div>

            </div>

            <div class="row">
                <div class="txt-wrapper">
                    <h3>Database For Mixed Workloads</h3>
                    <p>
                        Build modern applications that support transactional and analytical workloads by using Ignite as
                        a database that scales beyond the available memory capacity. Ignite allocates memory for your hot
                        data and goes to disk whenever applications query cold records.
                    </p>

                    <a href="/use-cases/in-memory-database.html"  role="button" class="btn btn-primary"
                       aria-label="Learn More About In-Memory Database" title="In-Memory Database"
                       onclick="gtag('event',  'homepage_click', {'event_category':'apache_ignite_use_cases', 'event_label': 'database'});">
                        Learn More
                    </a>


                </div>
                <div class="diagram-wrapper">

                    <img class="lazyload" data-src="/images/svg-diagrams/home--unified-database--vertical.svg?20201221"
                    width="522" height="395"
                         alt="Distributed Database Diagram"/>
                </div>
            </div>

            <div class="row">


                <div class="txt-wrapper">
                    <h3>High-Performance Computing</h3>
                    <p>
                        Execute kilobyte-size custom code over petabytes of data. Turn your Ignite database into a
                        distributed supercomputer for low-latency calculations, complex analytics, and machine learning.
                    </p>

                    <a href="/use-cases/high-performance-computing.html"  role="button" class="btn btn-primary"
                       aria-label="Learn More About High-Performance Computing" title="High-Performance Computin"
                       onclick="gtag('event',  'homepage_click', {'event_category':'apache_ignite_use_cases', 'event_label': 'high_performance_compute_cluster'});">
                        Learn More
                    </a>

                </div>

                <div class="diagram-wrapper">

                    <img class="lazyload"
                        width="546" height="388"
                         data-src="/images/svg-diagrams/home--high-perf-compute-cluster.svg?20201228"
                         alt="High-Performance Compute Cluster Diagram"/>
                </div>

            </div>

        </div>


        
    </section>


   
</main>


<!--#include virtual="/includes/footer.html" -->

<!--#include virtual="/includes/scripts.html" -->
<script async src="/js/particles.min.js"></script>

<!-- Github stats-->
<script async defer src="https://buttons.github.io/buttons.js"></script>

<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

<script type="text/javascript">
    // this make the features tabs interactive by mouse over instead of click
    // jQuery('#home-features-vtab .nav-link').hover(function (e) {

    //     jQuery(this).tab('show');
    // });

    // disable the accordion behavior for higher resolutions
    jQuery('#v-pills-tabContent  .card-header a').click(function (e) {
        if (jQuery(window).width() >= 768) {
            e.preventDefault();
            e.stopPropagation();
        }

    });

    window.addEventListener('load', function (event) {


        particlesJS('particle-js',

            {
                "particles": {
                    "number": {
                        "value": 100,
                        "density": {
                            "enable": true,
                            "value_area": 1100
                        }
                    },
                    "color": {
                        "value": "#cccccc"
                    },
                    "shape": {
                        "type": "edge",
                        "stroke": {
                            "width": 0,
                            "color": "##e9e9e9"
                        },
                        "polygon": {
                            "nb_sides": 5
                        }

                    },
                    "opacity": {
                        "value": 0.5,
                        "random": false,
                        "anim": {
                            "enable": true,
                            "speed": 0.1,
                            "opacity_min": 0.1,
                            "sync": false
                        }
                    },
                    "size": {
                        "value": 5,
                        "random": true,
                        "anim": {
                            "enable": false,
                            "speed": 40,
                            "size_min": 0.1,
                            "sync": false
                        }
                    },
                    "line_linked": {
                        "enable": true,
                        "distance": 150,
                        "color": "#e0e0e0",
                        "opacity": 1,
                        "width": 2
                    },
                    "move": {
                        "enable": true,
                        "speed": 2,
                        "direction": "none",
                        "random": false,
                        "straight": false,
                        "out_mode": "out",
                        "attract": {
                            "enable": true,
                            "rotateX": 600,
                            "rotateY": 1200
                        }
                    }
                },
                "interactivity": {
                    "detect_on": "window",
                    "events": {
                        "onhover": {
                            "enable": true,
                            "mode": "repulse"
                        },
                        "onclick": {
                            "enable": true,
                            "mode": "push"
                        },
                        "resize": true
                    },
                    "modes": {
                        "grab": {
                            "distance": 400,
                            "line_linked": {
                                "opacity": 1
                            }
                        },
                        "bubble": {
                            "distance": 400,
                            "size": 40,
                            "duration": 2,
                            "opacity": 8,
                            "speed": 3
                        },
                        "repulse": {
                            "distance": 100
                        },
                        "push": {
                            "particles_nb": 4
                        },
                        "remove": {
                            "particles_nb": 2
                        }
                    }
                },
                "retina_detect": true
            }
        );
    });
</script>
</body>
</html>
