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

<!--
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
"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 xmlns="http://www.w3.org/1999/html">
<head>
    <meta charset="utf-8">
<link rel="canonical" href="https://ignite.apache.org/features.html" />
    <!--#include virtual="/includes/scriptshead.html" -->

    <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>Product Features - Apache Ignite</title>
    <!--#include virtual="/includes/styles.html" -->

    
</head>
<body>
<div  class="page-links" id="wrapper">
    <!--#include virtual="/includes/header.html" -->
<article>
    <header>    <div class="container">
        
				<h1>Product <strong>Features</strong></h1>
</div>
</header>
<div class="container">
				<p>Apache Ignite in-memory computing platform comprises the following set of components:</p>
			
		
		<div class="row">
			                <div class="col-sm-4 col-md-4 col-xs-12">
                    <h3>Main Features</h3>
                    <ul>
                        <li><a href="/arch/multi-tier-storage.html" aria-label="Memory Centric"
                               onclick="gtag('event', 'features_page_click', {'event_category':'apache_ignite_features', 'event_label':'memory_centric'});">
                            Multi-Tier Storage</a>
                        </li>
                        <li><a href="/features/sql.html" aria-label="SQL"
                               onclick="gtag('event', 'features_page_click', {'event_category':'apache_ignite_features', 'event_label':'distributed_sql'});">
                            Distributed SQL</a>
                        </li>
                        <li><a href="/use-cases/key-value-store.html" aria-label="Key-Value Store"
                               onclick="gtag('event', 'features_page_click', {'event_category':'apache_ignite_features', 'event_label':'distributed_key_value'});">
                            Distributed Key-Value</a>
                        </li>
                        <li><a href="/arch/native-persistence.html" aria-label="Persistence"
                               onclick="gtag('event', 'features_page_click', {'event_category':'apache_ignite_features', 'event_label':'persistence'});">
                            Native Persistence</a>
                        </li>
                        <li><a href="/features/acid-transactions.html" aria-label="Transactions"
                               onclick="gtag('event', 'features_page_click', {'event_category':'apache_ignite_features', 'event_label':'acid_transactions'});">
                            ACID Transactions</a>
                        </li>
                        <li><a href="/features/collocated-processing.html" aria-label="Collocated Processing"
                               onclick="gtag('event', 'features_page_click', {'event_category':'apache_ignite_features', 'event_label':'collocated_processing'});">
                            Co-located Processing</a>
                        </li>
                        <li><a href="/features/machinelearning.html" aria-label="Machine Learning"
                               onclick="gtag('event', 'features_page_click', {'event_category':'apache_ignite_features', 'event_label':'machine_learning'});">
                            Machine Learning</a>
                        </li>
                        <li><a href="/features/multilanguage.html" aria-label="Multi Language"
                               onclick="gtag('event', 'features_page_click', {'event_category':'apache_ignite_features', 'event_label':'multi_language'});">
                            Multi-Language Support</a>
                        </li>
                        <li><a href="/arch/clustering.html" aria-label="Clusterig"
                               onclick="gtag('event', 'features_page_click', {'event_category':'apache_ignite_features', 'event_label':'clustering'});">
                            Deploy Anywhere</a>
                        </li>
                    </ul>
                </div>
                <div class="col-sm-4 col-md-4 col-xs-12">
                    <h3>Extended Features</h3>
                    <ul>
                        <li><a href="/features/servicegrid.html" aria-label="Service Grid"
                               onclick="gtag('event', 'features_page_click', {'event_category':'apache_ignite_features', 'event_label':'service_grid'});">
                            Service Grid</a>
                        </li>
                        <li><a href="/features/streaming.html" aria-label="Streaming"
                               onclick="gtag('event', 'features_page_click', {'event_category':'apache_ignite_features', 'event_label':'streaming'});">
                            Streaming</a>
                        </li>
                        <li><a href="/features/datastructures.html" aria-label="Data Structures"
                               onclick="gtag('event', 'features_page_click', {'event_category':'apache_ignite_features', 'event_label':'data_structures'});">
                            Data Structures</a>
                        </li>
                        <li><a href="/features/messaging.html" aria-label="Messaging"
                               onclick="gtag('event', 'features_page_click', {'event_category':'apache_ignite_features', 'event_label':'messaging'});">
                            Messaging & Events</a>
                        </li>
                        <li><a href="/docs/latest/messaging" aria-label="Messaging"
                               onclick="gtag('event', 'features_page_click', {'event_category':'apache_ignite_features', 'event_label':'other_integrations'});">
                            Other Integrations</a>
                        </li>
                    </ul>
                </div>
                <div class="col-sm-4 col-md-4 col-xs-12">
                    <h3 class="last">Hadoop & Spark</h3>
                    <ul class="last">
                        <li><a href="/use-cases/spark-acceleration.html"
                               aria-label="Apache Spark Acceleration"
                               onclick="gtag('event', 'menu_click', {'event_category':'apache_ignite_usecases', 'event_label':'apache_spark_acceleration'});">
                            Apache Spark Acceleration</a>
                        </li>
                        <li><a href="/use-cases/hadoop-acceleration.html"
                               aria-label="Hadoop Acceleration"
                               onclick="gtag('event', 'menu_click', {'event_category':'apache_ignite_usecases', 'event_label':'hadoop_acceleration'});">
                            Apache Hadoop Acceleration</a>
                        </li>
                    </ul>
                </div>
		</div>
</div>
</article>
<!--#include virtual="/includes/footer.html" -->
<!--#include virtual="/includes/scripts.html" -->
</body>
</html>
