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

<!--
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>
    <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" -->
    <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"/>
    <title>Distributed Database - Apache Ignite&reg;</title>
    <meta name="description"
          content="Apache Ignite&reg; is a distributed database for in-memory speed and high-performance computing.">
    <!--#include virtual="/includes/styles.html" -->

</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">In-Memory</span> Speed
                    And <span class="nobr">High-Performance</span> Computing</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/homeaway.jpg" width="120" height="60" 
                sizes="(max-width: 767px) 76px, (min-width: 768px) 120px"
                srcset="/images/users-logos/resized/120x60/homeaway.jpg 120w, /images/users-logos/resized/76x38/homeaway.jpg 76w" alt="HomeAway logo" style="opacity: 0.9;"/>

                <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);
                                                            </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="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>
