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

<!--
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 -->
</head>

<body data-headroom>
<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="community-awards" class="section-block ">
        <div class="container">

            <div class="row no-gutters">
                <div class="col-md-4 award">
                    <a href="https://blogs.apache.org/ignite/entry/apache-ignite-momentum-highlights-from" target="_blank" rel="noopener">
                        <div class="star"><span>2</span></div>
                        <p><strong>on the Top-5</strong>
                        BIG DATA USER LISTS</p>
                    </a>
                </div>
                <div class="col-md-4 award">
                    <a href="https://blogs.apache.org/ignite/entry/apache-ignite-momentum-highlights-from" target="_blank" rel="noopener">
                        <div class="star"><span>2</span></div>
                        <p><strong>on the Top-5</strong>
                        USER LISTS</p>
                    </a>
                </div>
                <div class="col-md-4 award">
                    <a href="https://blogs.apache.org/ignite/entry/apache-ignite-momentum-highlights-from" target="_blank" rel="noopener">
                        <div class="star"><span>3</span></div>
                        <p><strong>on the Top-5</strong>
                        BIG DATA DEV LISTS</p>
                    </a>
                </div>
            </div>

            <div class="row desc no-gutters">
                <div class="col-md-10 col-12 col-lg-6">
                    <p>Your favorite streaming, gaming, banking, travel or shopping application probably uses Apache Ignite. Learn why the elite developers and architects selected Ignite to create applications used by millions of people daily!</p>
                </div>
            </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-cloud-edition-schedule-announcement'});"
                >
                <picture>
                    <source srcset="/images/promos/ignite-Summit-Schedule-banner-vertical.jpg"  media="(max-width: 767px)">
                    
                                        
                    <img class="lazyload" data-src="/images/promos/ignite-Summit-Schedule-banner-horizontal.jpg" alt="Ignite Summit: Cloud Edition 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 async src="/js/headroom.min.js"></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>
