blob: 83d32f33b55fd17cf5c738ce77a0399492df41df [file] [log] [blame]
<!--
▄▄▄ ██▓███ ▄▄▄ ▄████▄ ██░ ██ ▓█████ ██▓ ▄████ ███▄ █ ██▓▄▄▄█████▓▓█████
▒████▄ ▓██░ ██▒▒████▄ ▒██▀ ▀█ ▓██░ ██▒▓█ ▀ ▓██▒ ██▒ ▀█▒ ██ ▀█ █ ▓██▒▓ ██▒ ▓▒▓█ ▀
▒██ ▀█▄ ▓██░ ██▓▒▒██ ▀█▄ ▒▓█ ▄ ▒██▀▀██░▒███ ▒██▒▒██░▄▄▄░▓██ ▀█ ██▒▒██▒▒ ▓██░ ▒░▒███
░██▄▄▄▄██ ▒██▄█▓▒ ▒░██▄▄▄▄██ ▒▓▓▄ ▄██▒░▓█ ░██ ▒▓█ ▄ ░██░░▓█ ██▓▓██▒ ▐▌██▒░██░░ ▓██▓ ░ ▒▓█ ▄
▓█ ▓██▒▒██▒ ░ ░ ▓█ ▓██▒▒ ▓███▀ ░░▓█▒░██▓░▒████▒ ░██░░▒▓███▀▒▒██░ ▓██░░██░ ▒██▒ ░ ░▒████▒
▒▒ ▓▒█░▒▓▒░ ░ ░ ▒▒ ▓▒█░░ ░▒ ▒ ░ ▒ ░░▒░▒░░ ▒░ ░ ░▓ ░▒ ▒ ░ ▒░ ▒ ▒ ░▓ ▒ ░░ ░░ ▒░ ░
▒ ▒▒ ░░▒ ░ ▒ ▒▒ ░ ░ ▒ ▒ ░▒░ ░ ░ ░ ░ ▒ ░ ░ ░ ░ ░░ ░ ▒░ ▒ ░ ░ ░ ░ ░
░ ▒ ░░ ░ ▒ ░ ░ ░░ ░ ░ ▒ ░░ ░ ░ ░ ░ ░ ▒ ░ ░ ░
░ ░ ░ ░░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░
-->
<!--
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>
<link rel="canonical" href="https://ignite.apache.org/features.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>Product Features - Apache Ignite</title>
<link media="all" rel="stylesheet" href="css/all.css?v=1514336028">
<link href="//netdna.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.css" rel="stylesheet">
<link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
<!--#include virtual="/includes/sh.html" -->
</head>
<body>
<div class="page-links" id="wrapper">
<!--#include virtual="/includes/header.html" -->
<main id="main" role="main" class="container">
<section id="components" class="page-section">
<h1 class="first">Product Features</h1>
<p>Apache Ignite in-memory computing platform comprises the following set of components:</p>
<div class="col-sm-12 col-md-12 col-xs-12 page-menu">
<div class="col-sm-3 col-md-3 col-xs-12">
<h3>Main Features</h3>
<ul>
<li><a href="/features/sql.html"
onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'distributed_sql');">
Distributed SQL</a>
</li>
<li><a href="/use-cases/database/key-value-store.html"
onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'distributed_key_value');">
Distributed Key-Value</a>
</li>
<li><a href="/features/transactions.html"
onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'acid_transactions');">
ACID Transactions</a>
</li>
<li><a href="/features/collocatedprocessing.html"
onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'collocated_processing');">
Collocated Processing</a>
</li>
<li><a href="/features/machinelearning.html"
onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'machine_learning');">
Machine Learning</a>
</li>
<li><a href="/features/multilanguage.html"
onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'multi_language');">
Multi-Language</a>
</li>
</ul>
</div>
<div class="col-sm-3 col-md-3 col-xs-12">
<h3>Extended Features</h3>
<ul>
<li><a href="/features/servicegrid.html"
onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'service_grid');">
Service Grid</a>
</li>
<li><a href="/features/streaming.html"
onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'streaming');">
Streaming</a>
</li>
<li><a href="/features/rdbmsintegration.html"
onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'rdbms_integration');">
RDBMS Integration</a>
</li>
<li><a href="/features/datastructures.html"
onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'data_structures');">
Data Structures</a>
</li>
<li><a href="/features/messaging.html"
onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'messaging');">
Messaging & Events</a>
</li>
<li><a href="/addons.html#ga-grid"
onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'addons');">
GA Grid<sup>&beta;eta</sup></a>
</li>
</ul>
</div>
<div class="col-sm-3 col-md-3 col-xs-12">
<h3>Architecture</h3>
<ul>
<li><a href="/arch/clustering.html"
onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'clustering');">
Clustering and Deployment</a>
</li>
<li><a href="/arch/memorycentric.html"
onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'memory_centric');">
Memory-Centric Storage</a>
</li>
<li><a href="/arch/durablememory.html"
onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'durable_meory');">
Durable Memory</a>
</li>
<li><a href="/arch/persistence.html"
onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'persistence');">
Persistence</a>
</li>
<li class="empty"></li>
<li class="empty"></li>
</ul>
</div>
<div class="col-sm-3 col-md-3 col-xs-12">
<h3 class="last">Hadoop & Spark</h3>
<ul class="last">
<li><a href="/features/igniterdd.html"
onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'ignite_rdd');">
Spark Shared RDD</a>
</li>
<li><a href="/features/igfs.html"
onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'igfs');">
In-Memory File System</a>
</li>
<li><a href="/features/mapreduce.html"
onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'mapreduce');">
In-Memory MapReduce</a>
</li>
<li class="empty"></li>
<li class="empty"></li>
<li class="empty"></li>
</ul>
</div>
</div>
<p>&nbsp;</p>
</section>
<section id="ignite-features" class="page-section" style="border: none;">
<h2>Ignite Feature Summary</h2>
<p>The following is a summary of list of features currently available in Apache Ignite.</p>
<section id="architecture" class="page-section" style="border: none;">
<h2><a class="feature-header" href="whatisignite.html" target="_blank">Architecture <i class="fa fa-external-link" style="padding-left:5px;"></i></a></h2>
<table class="formatted features" name="deploy">
<thead>
<tr>
<th colspan="2" class="left">Durable Memory</th>
</tr>
</thead>
<tbody>
<tr>
<td class="features-left">Memory Architecture</td>
<td>
<p>
Apache Ignite is based on the Durable Memory architecture that allows storing and processing data and indexes both in memory and on disk.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/clients-vs-servers" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Persistence</td>
<td>
<p>
Ignite Persistent Store is a distributed ACID and SQL-compliant disk store that transparently integrates with Ignite's durable memory as an optional disk layer
storing data and indexes on SSD, Flash, 3D XPoint, and other types of non-volatile storages.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/distributed-persistent-store" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr class="sub-heading">
<th colspan="2" class="left">MARSHALLING</th>
</tr>
<tr></tr> <!-- this empty row is required to change the background color-->
<tr>
<td class="features-left">Binary Protocol</td>
<td>
<p>
Starting from v1.5 Ignite introduced a new concept of storing data in caches, called BinaryObjects. It allows you to:
</p>
<ul class="page-list">
<li>Read a serialized object's field without full object deserialization.</li>
<li>Dynamically change an object's structure.</li>
<li>Dynamically create an object.</li>
</ul>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/binary-marshaller" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr class="sub-heading">
<th colspan="2" class="left">HIGH AVAILABILITY</th>
</tr>
<tr></tr> <!-- this empty row is required to change the background color-->
<tr>
<td class="features-left">Self-Healing Cluster</td>
<td>
<p>
Ignite cluster can self-heal, where clients automatically reconnect in case of failures.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/clients-vs-servers" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
</tbody>
</table>
<a href="#components">Top <i class="fa fa-angle-double-up"></i></a>
</section>
<section id="sqldatabase" class="page-section" style="border: none;">
<h2><a class="feature-header" href="/features/sql.html" target="_blank">Distributed SQL <i class="fa fa-external-link" style="padding-left:5px;"></i></a></h2>
<table class="formatted features" name="sql database">
<thead>
<tr>
<th colspan="2" class="left">DISTRIBUTED QUERIES</th>
</tr>
</thead>
<tbody>
<tr>
<td class="features-left">SQL Queries</td>
<td>
<p>
Ignite supports the standard SQL syntax (ANSI 99) to query the cache. You can use any SQL function, aggregation, or grouping.
</p>
<div class="page-links">
<a href="https://apacheignite-sql.readme.io/docs/select" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Distributed DDL </td>
<td>
<p>
Apache Ignite supports using Data Definition Language (DDL) statements for creating and removing SQL indexes at runtime.
</p>
<div class="page-links">
<a href="https://apacheignite-sql.readme.io/docs/ddl" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Distributed DML </td>
<td>
<p>
Ignite supports DML statements like INSERT, MERGE, UPDATE, and DELETE to modify cached data.
</p>
<div class="page-links">
<a href="https://apacheignite-sql.readme.io/docs/dml" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Collocated Joins</td>
<td>
<p>
Ignite supports SQL joins on collocated data stored across multiple caches.
</p>
<div class="page-links">
<a href="https://apacheignite-sql.readme.io/docs/distributed-joins#collocated-joins" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Non-Collocated Joins</td>
<td>
<p>
Ignite offers non-collocated SQL joins for cases where it is extremely difficult to collocate all the data.
</p>
<div class="page-links">
<a href="https://apacheignite-sql.readme.io/docs/distributed-joins#non-collocated-joins" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Query Indexing</td>
<td>
<p>
For SQL queries, ignites supports in-memory indexing, so all the data lookups are extremely fast.
</p>
<div class="page-links">
<a href="https://apacheignite-sql.readme.io/docs/create-index" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Query Consistency</td>
<td>
<p>
Ignite provides full query consistency. Updates that happened after the query execution started do not affect the query result.
</p>
</td>
</tr>
<tr>
<td class="features-left">Query Fault-Tolerance</td>
<td>
<p>
Ignite queries are fault-tolerant, i.e. query result is always consistent and is not affected by cluster topology changes.
</p>
</td>
</tr>
<tr>
<td class="features-left">Geospacial Support</td>
<td>
<p>
Ignite supports querying and indexing geometry data types such as points, lines, and polygons.
</p>
<div class="page-links">
<a href="https://apacheignite-sql.readme.io/docs/geospatial-support" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr class="sub-heading">
<th colspan="2" class="left">SQL DRIVERS</th>
</tr>
<tr></tr> <!-- this empty row is required to change the background color-->
<tr>
<td class="features-left">JDBC Driver</td>
<td>
<p>
Ignite JDBC driver allows users to retrieve and modify data, stored in Ignite caches, using standard SQL/DML commands and JDBC API.
</p>
<div class="page-links">
<a href="https://apacheignite-sql.readme.io/docs/jdbc-driver" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">ODBC Driver</td>
<td>
<p>
Ignite ODBC driver allows users to retrieve and modify data, stored in Ignite caches, using standard SQL/DML comands and ODBC API.
</p>
<div class="page-links">
<a href="https://apacheignite-sql.readme.io/docs/odbc-driver" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr class="sub-heading">
<th colspan="2" class="left">Tooling</th>
</tr>
<tr></tr> <!-- this empty row is required to change the background color-->
<tr>
<td class="features-left">SQL Tooling</td>
<td>
<p>
You can process data stored in the Ignite cluster using a SQL tool of your choice -
<b>DBeaver</b>, <b>Pentaho</b>, <b>Tableau</b>, <b>Web Console</b>, <b>Apache Zeppelin</b>.
</p>
<div class="page-links">
<a href="https://apacheignite-sql.readme.io/docs/sql-tooling" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr class="sub-heading">
<th colspan="2" class="left">STANDARDS</th>
</tr>
<tr></tr> <!-- this empty row is required to change the background color-->
<tr>
<td class="features-left">SQL, JDBC, ODBC</td>
<td>
<p>
Ignite supports retrieving distributed data from cache using standard SQL queries, JDBC and ODBC API.
</p>
</td>
</tr>
<tr class="sub-heading">
<th colspan="2" class="left">INTEGRATIONS</th>
</tr>
<tr></tr> <!-- this empty row is required to change the background color-->
<tr>
<td class="features-left">Apache Zeppelin</td>
<td>
<p>
Apache Ignite SQL Grid defines a set of APIs that allows integrating with Apache Zeppelin.
</p>
<div class="page-links">
<a href="https://apacheignite-sql.readme.io/docs/apache-zeppelin" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Tableau</td>
<td>
<p>
Using Ignite ODBC driver, you can connect to the Ignite cluster from Tableau to analyze cached data.
</p>
<div class="page-links">
<a href="https://apacheignite-sql.readme.io/docs/tableau" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">PHP Data Objects</td>
<td>
<p>
Using Ignite ODBC driver and PHP Data Objects, you can connect to the Ignite cluster from PHP side.
</p>
<div class="page-links">
<a href="https://apacheignite-mix.readme.io/docs/php-pdo" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
</tbody>
</table>
</section>
<h2><a class="feature-header" href="/features/datagrid.html" target="_blank">Data Grid <i class="fa fa-external-link" style="padding-left:5px;"></i></a></h2>
<table class="formatted features" name="distributed caching">
<thead>
<tr>
<th colspan="2" class="left">DISTRIBUTED CACHING</th>
</tr>
</thead>
<tbody>
<tr>
<td class="features-left">Key-Value Store</td>
<td>
<p>
Ignite data grid is an <b>in-memory key-value store</b> which can be viewed as a distributed partitioned hash map.
</p>
<div class="page-links">
<a href="http://apacheignite.readme.io/docs/data-grid" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">SQL Support</td>
<td>
<p>
In addition to key-value API, Ignite data grid has complete SQL support, including primary
and secondary indexes and distributed JOINs.
</p>
<div class="page-links">
<a href="https://apacheignite-sql.readme.io/docs" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Partitioning & Replication</td>
<td>
<p>
Ignite can be configured to store the data in memory in either <b>partitioned</b> or <b>replicated</b> manner.
</p>
<div class="page-links">
<a href="http://apacheignite.readme.io/docs/cache-modes" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Client-Side (Near) Cache</td>
<td>
<p>
Near cache is local client-side cache that stores the most recently and most frequently accessed data.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/near-caches" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Collocated Processing</td>
<td>
<p>
Ignite allows executing any native Java, C++, and .NET/C# code directly on the server-side, close to the data, in collocated fashion.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/affinity-collocation" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr class="sub-heading">
<th colspan="2" class="left">DISTRIBUTED QUERIES</th>
</tr>
<tr>
<td class="features-left">Continuous Queries</td>
<td>
<p>
Ignite allows you to execute a query and continue to get notified about the data changes that fall into your query filter.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/continuous-queries" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Query Consistency</td>
<td>
<p>
Ignite provides full query consistency. Updates that happened after the query execution started do not affect the query result.
</p>
</td>
</tr>
<tr>
<td class="features-left">Query Fault-Tolerance</td>
<td>
<p>
Ignite queries are fault-tolerant, i.e. query result is always consistent and is not affected by cluster topology changes.
</p>
</td>
</tr>
<tr class="sub-heading">
<th colspan="2" class="left">PERSISTENCE</th>
</tr>
<tr></tr> <!-- this empty row is required to change the background color-->
<tr>
<td class="features-left">Write-Through</td>
<td>
<p>
Write-Through mode allows updating the data in the database.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/persistent-store" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Read-Through</td>
<td>
<p>
Read-Through mode allows reading the data from the database.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/persistent-store" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Write-Behind Caching</td>
<td>
<p>
Ignite provides an option to asynchronously perform updates to the database via Write-Behind Caching.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/persistent-store#write-behind-caching" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Automatic Persistence</td>
<td>
<p>
Automatically connect to the underlying database and generate XML OR-mapping configuration and Java domain model POJOs.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/automatic-persistence" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr class="sub-heading">
<th colspan="2" class="left">STANDARDS</th>
</tr>
<tr></tr> <!-- this empty row is required to change the background color-->
<tr>
<td class="features-left">JCache</td>
<td>
<p>
Ignite is a 100% compliant implementation of JCache (JSR 107) specification.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/jcache" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">XA/JTA</td>
<td>
<p>
Ignite can be configured with a Java Transaction API (JTA) transaction manager lookup class.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/transactions#integration-with-jta" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">OSGI Support</td>
<td>
<p></p> &nbsp;
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/osgi-starting-inside-a-container" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr class="sub-heading">
<th colspan="2" class="left">INTEGRATIONS</th>
</tr>
<tr></tr> <!-- this empty row is required to change the background color-->
<tr>
<td class="features-left">Database Integration</td>
<td>
<p>
Ignite can automatically integrate with external databases - RDBMS, NoSQL, and HDFS.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/persistent-store" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Hibernate L2 Cache</td>
<td>
<p>
Ignite In-Memory Data Grid can be easily plugged in as a second level(L2) cache which is visible to all sessions.
</p>
<div class="page-links">
<a href="https://apacheignite-mix.readme.io/docs/hibernate-l2-cache" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Web Session Clustering</td>
<td>
<p>
Ignite is capable of caching web sessions of all Java Servlet containers that follow Java Servlet 3.0 Specification.
</p>
<div class="page-links">
<a href="https://apacheignite-mix.readme.io/docs/web-session-clustering" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Spring Caching</td>
<td>
<p>
Ignite provides an implementation of SpringCacheAbstraction - an annotation-based way to enable caching for Java methods.
</p>
<div class="page-links">
<a href="http://apacheignite-mix.readme.io/docs/spring-caching" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="left">Spring Data</td>
<td>
<p>
Ignite implements Spring Data <code>CrudRepository</code> that supports basic CRUD operations as well as provides access to Ignite SQL Grid.
</p>
<div class="page-links">
<a href="https://apacheignite-mix.readme.io/docs/spring-data" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
</tbody>
</table>
<a href="#components">Top <i class="fa fa-angle-double-up"></i></a>
</section>
<section id="computegrid" class="page-section" style="border: none;">
<h2><a class="feature-header" href="/features/computegrid.html" target="_blank">Compute Grid <i class="fa fa-external-link" style="padding-left:5px;"></i></a></h2>
<table class="formatted features" name="compute grid">
<thead>
<tr>
<th colspan="2" class="left">DISTRIBUTED COMPUTE</th>
</tr>
</thead>
<tbody>
<tr>
<td class="features-left">Distributed Closure Execution</td>
<td>
<p>
Ignite compute grid allows to broadcast and load-balance any closure within the cluster or a cluster group.
</p>
<div class="page-links">
<a href=http://apacheignite.readme.io/docs/distributed-closures" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Clustered Executor Service</td>
<td>
<p>
Ignite provides a cluster-enabled implementation of ExecutorService.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/executor-service" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">MapReduce and ForkJoin</td>
<td>
<p>
Ignite provides a ComputeTask API, which is a light-weight MapReduce (or ForkJoin) implementation.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/compute-tasks" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Collocation of Compute & Data</td>
<td>
<p>
Collocation of computations with data allow for minimizing data serialization within the network.
</p>
<div class="page-links">
<a href="http://apacheignite.readme.io/docs/collocate-compute-and-data" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Checkpointing</td>
<td>
<p>
Checkpointing can be useful when long running jobs need to store some intermediate state to protect from node failures.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/checkpointing" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Fault-Tolerance</td>
<td>
<p>
In case of a node crash, Ignite jobs are automatically transferred to other available nodes for re-execution.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/fault-tolerance" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Load Balancing</td>
<td>
<p>
Ignite balances job distribution among cluster nodes, making sure that every node in the cluster is equally loaded.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/load-balancing" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Job Scheduling</td>
<td>
<p>
Ignite provides a fine-grained control over jobs ordering once they arrive to a specific cluster node for execution.
</p>
<div class="page-links">
<a href="http://apacheignite.readme.io/docs/job-scheduling" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
</tbody>
</table>
<a href="#components">Top <i class="fa fa-angle-double-up"></i></a>
</section>
<section id="streaming" class="page-section" style="border: none;">
<h2><a class="feature-header" href="/features/streaming.html" target="_blank">Streaming Features <i class="fa fa-external-link" style="padding-left:5px;"></i></a></h2>
<table class="formatted features" name="streaming">
<thead>
<tr>
<th colspan="2" class="left">STREAMING AND CEP</th>
</tr>
</thead>
<tbody>
<tr>
<td class="features-left">Data Streamers</td>
<td>
<p>
Ignite allows you to process continuous never-ending streams of data into Ignite caches, in scalable and fault-tolerant fashion.
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/streaming--cep" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Data Loading</td>
<td>
<p>
Data streamers can be used to load large amounts of data into Ignite cahes.
They can be used for initial data loading from a 3rd party database or another source.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/data-loading" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Collocated Processing</td>
<td>
<p>
Ignite stream receivers allow you to react to the streamed data in collocated fashion,
directly on the nodes where it will be cached.
</p>
<div class="page-links">
<a href="http://apacheignite.readme.io/docs/data-streamers#streamreceiver" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Continuous Queries</td>
<td>
<p>
Ignite allows you to execute a query and continue to get notified about the data changes that fall into your query filter.
</p>
<div class="page-links">
<a href="http://apacheignite.readme.io/docs/continuous-queries" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">JMS Data Streamer</td>
<td>
<p>
Ignite JMS Data Streamer consumes messages from JMS brokers and inserts them into Ignite caches.
</p>
<div class="page-links">
<a href="https://apacheignite-mix.readme.io/docs/jms-data-streamer" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Apache Flume Sink</td>
<td>
<p>
IgniteSink is a Flume sink that extracts events from an associated Flume channel and injects into an Ignite cache.
</p>
<div class="page-links">
<a href="https://apacheignite-mix.readme.io/docs/flume-data-streamer" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">MQTT Streamer</td>
<td>
<p>
Ignite MQTT Streamer consumes messages from a MQTT topic and feeds transformed key-value pairs into an Ignite cache.
</p>
<div class="page-links">
<a href="https://apacheignite-mix.readme.io/docs/mqtt-streamer" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Twitter Streamer</td>
<td>
<p>
Ignite Twitter Streamer consumes messages from a Twitter Streaming API and inserts them into an Ignite cache.
</p>
<div class="page-links">
<a href="https://apacheignite-mix.readme.io/docs/twitter-streamer" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Apache Kafka Streamer</td>
<td>
<p>
Ignite Kafka Data Streamer consumes messages for a given Kafka Topic from Kafka Broker and inserts them into an Ignite cache.
</p>
<div class="page-links">
<a href="https://apacheignite-mix.readme.io/docs/kafka-streamer" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Apache Camel streamer</td>
<td>
<p>
Ignite Camel streamer consumes messages from an Apache Camel consumer endpoint and feeds them into an Ignite cache.
</p>
<div class="page-links">
<a href="https://apacheignite-mix.readme.io/docs/camel-streamer" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Apache Storm Streamer</td>
<td>
<p>
Ignite Storm Streamer consumes messages from an Apache Storm consumer endpoint and feeds them into an Ignite cache.
</p>
<div class="page-links">
<a href="https://apacheignite-mix.readme.io/docs/storm-streamer" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Apache Flink Streamer</td>
<td>
<p>
Ignite Flink Streamer consumes messages from an Apache Flink consumer endpoint and feeds them into an Ignite cache.
</p>
<div class="page-links">
<a href="https://apacheignite-mix.readme.io/docs/flink-streamer" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Apache RocketMQ Streamer</td>
<td>
<p>
Ignite RocketMQ Streamer consumes messages from an Apache RocketMQ consumer endpoint and feeds them into an Ignite cache.
</p>
<div class="page-links">
<a href="https://apacheignite-mix.readme.io/docs/rocketmq-streamer" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">ZeroMQ Streamer</td>
<td>
<p>
Ignite ZeroMQ Streamer consumes messages from a ZeroMQ consumer endpoint and feeds them into an Ignite cache.
</p>
<div class="page-links">
<a href="https://apacheignite-mix.readme.io/docs/zeromq-streamer" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
</tbody>
</table>
<a href="#components">Top <i class="fa fa-angle-double-up"></i></a>
</section>
<section id="datastructures" class="page-section" style="border: none;">
<h2><a class="feature-header" href="/features/datastructures.html" target="_blank">Data Structures Features<i class="fa fa-external-link" style="padding-left:5px;"></i></a></h2>
<table class="formatted features" name="Data Structures">
<thead>
<tr>
<th colspan="2" class="left">DISTRIBUTED DATA STRUCTURES</th>
</tr>
</thead>
<tbody>
<tr>
<td class="features-left">Queue and Set</td>
<td>
<p>
Ignite provides an implementation of a fast <b>Distributed Blocking Queue</b> and <b>Distributed Set</b>.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/queue-and-set" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Collocated vs. Non-Collocated</td>
<td>
<p>
Queues and Sets in Ignite can be deployed in a <b>collocated</b> or
<span style="white-space: nowrap"><b>non-collocated</b></span> mode.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/queue-and-set#collocated-vs-non-collocated-mode" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Bounded Queues</td>
<td>
<p>
Bounded queues allow users to have queues with predefined maximum size which gives a better
control over the overall cache capacity.
</p>
<div class="page-links">
<a href="http://apacheignite.readme.io/docs/queue-and-set#bounded-queues" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Atomic Types</td>
<td>
<p>
Ignite supports distributed <b>AtomicLong</b> and <b>AtomicReference</b>.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/atomic-types" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">CountDownLatch</td>
<td>
<p>
Ignite CountDownLatch allows you to synchronize jobs on all Ignite nodes.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/countdownlatch" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">IdGenerator</td>
<td>
<p>
Ignite distributed atomic sequence helps you to sequentially generate unique Ids across the cluster.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/id-generator" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Semaphore</td>
<td>
<p>
Ignite's distributed semaphore implementation and behavior is similar to <b>java.util.concurrent.Semaphore</b>.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/distributed-semaphore" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
</tbody>
</table>
<a href="#components">Top <i class="fa fa-angle-double-up"></i></a>
</section>
<section id="messaging" class="page-section" style="border: none;">
<h2><a class="feature-header" href="/features/messaging.html" target="_blank">Messaging & Events <i class="fa fa-external-link" style="padding-left:5px;"></i></a></h2>
<table class="formatted features" name="messaging and events">
<thead>
<tr>
<th colspan="2" class="left">MESSAGING AND EVENTS</th>
</tr>
</thead>
<tbody>
<tr>
<td class="features-left">Topic Based Messaging</td>
<td>
<p>
Ignite distributed messaging allows for topic based cluster-wide communication between all nodes.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/messaging" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Point-to-Point Messaging</td>
<td>
<p>
Ignite messages can be sent to either a group of nodes or to an individual node.
</p>
<div class="page-links">
<a href="http://apacheignite.readme.io/docs/messaging" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Ordered vs. Unordered</td>
<td>
<p>
Ignite supports receiving messages in an ordered as well as unordered manner.
</p>
<div class="page-links">
<a href="http://apacheignite.readme.io/docs/messaging" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Event Notifications</td>
<td>
<p>
Ignite distributed events functionality allows applications to receive notifications when a variety of events occur within the cluster.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/events" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Local vs. Remote Events</td>
<td>
<p>
Applications can get notified for task executions, read, write or query operations occurring on local or remote nodes within the cluster.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/events" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Automatic Batching</td>
<td>
<p>
In Ignite, event notifications can be grouped together and sent in batches or timely intervals.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/automatic-batching" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
</tbody>
</table>
<a href="#components">Top <i class="fa fa-angle-double-up"></i></a>
</section>
<section id="servicegrid" class="page-section" style="border: none;">
<h2><a class="feature-header" href="/features/servicegrid.html" target="_blank">Service Grid Features<i class="fa fa-external-link" style="padding-left:5px;"></i></a></h2>
<table class="formatted features" name="service grid">
<thead>
<tr>
<th colspan="2" class="left">SERVICE GRID</th>
</tr>
</thead>
<tbody>
<tr>
<td class="features-left">User Defined Services</td>
<td>
<p>
Ignite Service Grid allows for deployments of arbitrary user-defined services on the cluster.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/service-grid" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Cluster Singletons</td>
<td>
<p>
Ignite allows to deploy any number of services on any of the grid nodes, including singleton services.
</p>
<div class="page-links">
<a href="http://apacheignite.readme.io/docs/cluster-singletons" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Fault Tolerance</td>
<td>
<p>
Ignite always guarantees that services are continuously available regardless of any topology changes.
</p>
<div class="page-links">
<a href="http://apacheignite.readme.io/docs/service-grid#load-balancing" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Load Balancing</td>
<td>
<p>
In all cases, other than singleton service deployment, Ignite deploys an equal number of services on each node within the cluster.
</p>
<div class="page-links">
<a href="http://apacheignite.readme.io/docs/service-grid#load-balancing" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
</tbody>
</table>
<a href="#components">Top <i class="fa fa-angle-double-up"></i></a>
</section>
<section id="igniterdd" class="page-section" style="border: none;">
<h2><a class="feature-header" href="/features/igniterdd.html" target="_blank">Spark Shared RDD<i class="fa fa-external-link" style="padding-left:5px;"></i></a></h2>
<table class="formatted features" name="service grid">
<thead>
<tr>
<th colspan="2" class="left">IGNITE FOR SPARK</th>
</tr>
</thead>
<tbody>
<tr>
<td class="features-left">Ignite RDD</td>
<td>
<p>
Apache Ignite provides an implementation of Spark RDD abstraction which allows to easily share state in memory across multiple Spark jobs.
</p>
<div class="page-links">
<a href="https://apacheignite-fs.readme.io/docs/ignite-for-spark" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">SQL Queries</td>
<td>
<p>
Running SQL queries using IgniteRDD is orders of magnitude faster than running SQL queries using Spark native RDDs or Data Frame APIs.
</p>
<div class="page-links">
<a href="http://apacheignite-fs.readme.io/docs/ignitecontext-igniterdd#section-running-sql-queries-against-ignite-cache" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
</tbody>
</table>
<a href="#components">Top <i class="fa fa-angle-double-up"></i></a>
</section>
<section id="igfs" class="page-section" style="border: none;">
<h2><a class="feature-header" href="/features/igfs.html" target="_blank">In-Memory File System<i class="fa fa-external-link" style="padding-left:5px;"></i></a></h2>
<table class="formatted features" name="service grid">
<thead>
<tr>
<th colspan="2" class="left">IN-MEMORY FILE SYSTEM</th>
</tr>
</thead>
<tbody>
<tr>
<td class="features-left">IGFS as Hadoop FileSystem</td>
<td>
<p>
Ignite File System (IGFS) delivers similar functionality to Hadoop HDFS, but only in memory.
</p>
<div class="page-links">
<a href="https://apacheignite-fs.readme.io/docs/in-memory-file-system" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Hadoop FileSystem Cache</td>
<td>
<p>
IGFS can also be deployed as a caching layer over another Hadoop File System.
</p>
<div class="page-links">
<a href="https://apacheignite-fs.readme.io/docs/secondary-file-system" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">On-Heap and Off-Heap</td>
<td>
<p>
IGFS allows to store files either on-heap or off-heap.
</p>
</td>
</tr>
<tr class="sub-heading">
<th colspan="2" class="left">INTEGRATION</th>
</tr>
<tr>
<td class="features-left">Stand-Alone</td>
<td>
<p>
Ignite comes with Hadoop Accelerator distribution which can be easily plugged into existing Hadoop installations.
</p>
<div class="page-links">
<a href="https://apacheignite-fs.readme.io/docs/installing-on-apache-hadoop" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Hortonworks HDP</td>
<td>
<p>
Ignite comes with Hadoop Accelerator distribution which can be easily plugged into existing Hortonworks installations
</p>
<div class="page-links">
<a href=" https://apacheignite-fs.readme.io/docs/installing-on-hortonworks-hdp" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Cloudera CDH</td>
<td>
<p>
Ignite comes with Hadoop Accelerator distribution which can be easily plugged into existing Cloudera installations.
</p>
<div class="page-links">
<a href="https://apacheignite-fs.readme.io/docs/installing-on-cloudera-cdh" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
</tbody>
</table>
<a href="#components">Top <i class="fa fa-angle-double-up"></i></a>
</section>
<section id="mapreduce" class="page-section" style="border: none;">
<h2><a class="feature-header" href="/features/mapreduce.html" target="_blank">In-Memory MapReduce<i class="fa fa-external-link" style="padding-left:5px;"></i></a></h2>
<table class="formatted features" name="service grid">
<thead>
<tr>
<th colspan="2" class="left">IN-MEMORY MAPREDUCE</th>
</tr>
</thead>
<tbody>
<tr>
<td class="features-left">Native Hadoop MapReduce</td>
<td>
<p>
Apache Ignite comes with in-memory implementation of Hadoop MapReduce APIs.
</p>
<div class="page-links">
<a href="http://apacheignite-fs.readme.io/docs/map-reduce" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Hadoop Accelerator</td>
<td>
<p>
Accelerate existing Hadoop-based systems and products using a dual-mode, high performance in-memory file system.
</p>
<div class="page-links">
<a href="http://apacheignite-fs.readme.io/docs/hadoop-accelerator" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
</tbody>
</table>
<a href="#components">Top <i class="fa fa-angle-double-up"></i></a>
</section>
<section id="crossplatform" class="page-section" style="border: none;">
<h2><a class="feature-header" href="/features/java.html" target="_blank">Platform Independence <i class="fa fa-external-link" style="padding-left:5px;"></i></a></h2>
<table class="formatted features" name="deploy">
<thead>
<tr>
<th colspan="2" class="left">CROSS-PLATFORM INTEROPERABILITY</th>
</tr>
</thead>
<tbody>
<tr>
<td class="features-left">Java</td>
<td>
<p>
Ignite In-Memory Data Fabric is developed predominantly in Java, and provides native support for other languages - .NET and C++.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/getting-started" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">.NET</td>
<td>
<p>
Ignite.NET is built on top of Ignite. This allows you to perform almost all the in-memory data grid operations supported in Ignite.
</p>
<div class="page-links">
<a href="https://apacheignite-net.readme.io/docs/platform-interoperability" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">C++</td>
<td>
<p>
Ignite C++ is built on top of Ignite. This allows you to perform almost all the in-memory data grid operations supported in Ignite.
</p>
<div class="page-links">
<a href="https://apacheignite-cpp.readme.io/docs/cross-platform-interoperability" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
</tbody>
</table>
<a href="#components">Top <i class="fa fa-angle-double-up"></i></a>
</section>
<section id="clientprotocols" class="page-section" style="border: none;">
<h2><a class="feature-header" href="/features/clientprotos.html" target="_blank">Supported Clients <i class="fa fa-external-link" style="padding-left:5px;"></i></a></h2>
<table class="formatted features" name="deploy">
<thead>
<tr>
<th colspan="2" class="left">CLIENT-SERVER PROTOCOLS</th>
</tr>
</thead>
<tbody>
<tr>
<td class="features-left">Ignite Native Client</td>
<td>
<p>
Ignite Native Clients provide full functionality of Ignite In-Memory Data Fabric to the remote clients connecting to the data fabric.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/clients-vs-servers" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Memcached Support</td>
<td>
<p>
Ignite allows users to store and retrieve data from Ignite caches using any Memcached compatible clients.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/memcached-support" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">REST/HTTP</td>
<td>
<p>
Ignite HTTP REST client gives you the ability to communicate with the grid over HTTP and HTTPS protocols using REST approach.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/rest-api" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">SSL/TLS</td>
<td>
<p>
Ignite allows you to use SSL socket communication among all Ignite client and server nodes.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/ssltls" target="docs">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
</tbody>
</table>
<a href="#components">Top <i class="fa fa-angle-double-up"></i></a>
</section>
<section id="deployment" class="page-section" style="border: none;">
<h2><a class="feature-header" href="/features/deploy.html" target="_blank">Deployment <i class="fa fa-external-link" style="padding-left:5px;"></i></a></h2>
<table class="formatted features" name="deploy">
<thead>
<tr>
<th colspan="2" class="left">DEPLOYMENT OPTIONS</th>
</tr>
</thead>
<tbody>
<tr>
<td class="features-left">Zero Deployment</td>
<td>
<p>
Ignite nodes automatically become aware of custom classes, eliminating the need to explicitly deploy them.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/zero-deployment" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Dynamic Schema Changes</td>
<td>
<p>
Ignite stores objects in binary format eliminating the need to deploy classes on server nodes.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/binary-marshaller" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Stand-Alone Clusters</td>
<td>
<p>
Ignite nodes can automatically discover each other by using DiscoverySpi.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/cluster-config" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Public Clouds Support</td>
<td>
<p>
Ignite integrates with <b>Amazon Web Services</b>, <b>Google Compute Engine</b>, <b>Apache Mesos</b>, and <b>Kubernetes</b>.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/deployment" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Docker Container</td>
<td>
<p>
Docker automates downloading the Ignite release, deploying users' library into Ignite, and configuring nodes.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/docker-deployment" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Apache Mesos</td>
<td>
<p>
Apache Ignite Framework supports scheduling and running Apache Ignite nodes in a Mesos cluster.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/mesos-deployment" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Hadoop Yarn</td>
<td>
<p>
Integration with YARN supports scheduling and running Apache Ignite nodes in a YARN cluster.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/yarn-deployment" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">OSGI Support</td>
<td>
<p></p>&nbsp;
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/osgi-starting-inside-a-container" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
</tbody>
</table>
<a href="#components">Top <i class="fa fa-angle-double-up"></i></a>
</section>
</main>
<!--#include virtual="/includes/footer.html" -->
</div>
<!--#include virtual="/includes/scripts.html" -->
</body>
</html>