blob: b7056f07dd02e698c779054bb3eda50e6b7023d0 [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>
<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>Apache Ignite - Features</title>
<link media="all" rel="stylesheet" href="css/all.css">
<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">
<h2 class="first">Ignite Components</h2>
<p>Apache Ignite In-Memory Data Fabric comprises the following set of components shared across the Ignite platform.</p>
<div class="col-sm-12 col-md-12 col-xs-12 page-menu">
<div class="col-sm-4 col-md-4 col-xs-12">
<h3>Transactions & Analytics</h3>
<ul>
<li><a href="/features/datagrid.html">Data Grid</a></li>
<li><a href="/features/computegrid.html">Compute Grid</a></li>
<li><a href="/features/streaming.html">Streaming & CEP</a></li>
<li><a href="/features/datastructures.html">Data Structures</a></li>
<li><a href="/features/messaging.html">Messaging & Events</a></li>
<li><a href="/features/servicegrid.html">Service Grid</a></li>
</ul>
</div>
<div class="col-sm-4 col-md-4 col-xs-12">
<h3>Hadoop & Spark</h3>
<ul>
<li><a href="/features/igniterdd.html">Spark Shared RDD</a></li>
<li><a href="/features/igfs.html">In-Memory File System</a></li>
<li><a href="/features/mapreduce.html">In-Memory MapReduce</a></li>
<li class="empty"></li>
<li class="empty"></li>
<li class="empty"></li>
</ul>
</div>
<div class="col-sm-4 col-md-4 col-xs-12">
<h3 class="last">Runs Everywhere</h3>
<ul class="last">
<li><a href="/features/clientprotos.html">Client Protocols</a></li>
<li><a href="/features/deploy.html">Deployment Options</a></li>
<li class="empty"></li>
<li class="empty"></li>
<li class="empty"></li>
<li class="empty"></li>
</ul>
</div>
</div>
<p>&nbsp;</p>
</section>
<section id="datagrid-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><br/>
<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">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/off-heap-memory" 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">CLUSTER RESILIENCY</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>
<tr class="sub-heading">
<th colspan="2" class="left">MEMORY FORMATS</th>
</tr>
<tr>
<td class="features-left">On-Heap Memory</td>
<td>
<p>
Ignite stores all cache entries on-heap to provide fast data access.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/off-heap-memory#onheap_tiered" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Off-Heap Memory</td>
<td>
<p>
Storing data in off-heap memory allows your cache to overcome lengthy JVM Garbage Collection (GC) pauses.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/off-heap-memory" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Off-Heap Indexes</td>
<td>
<p>
Whenever configured with off-heap memory, Ignite will store query indexes off-heap as well.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/off-heap-memory" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Tiered Storage</td>
<td>
<p>
Ignite provides tiered storage model, where data can be stored and moved between <b>on-heap</b>, <b>off-heap</b>, and <b>swap space</b>.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/off-heap-memory#tiered-off-heap-storage" 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/jcache" 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 TRANSACTIONS AND LOCKS</th>
</tr>
<tr>
<td class="features-left">ACID Transactions</td>
<td>
<p>
Ignite provides fully ACID compliant distributed transactions that ensure guaranteed consistency.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/transactions" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Deadlock-Free Transactions</td>
<td>
<p>
Ignite supports deadlock-free, optimistic transactions, which do not acquire any locks.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/transactions" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Transactional Entry Processor</td>
<td>
<p>
Ignite transactional entry processor allows executing collocated user logic on the server side within a transaction.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/affinity-collocation#ignitecompute-vs-entryprocessor" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Cross-Partition Transactions</td>
<td>
<p>
In Ignite, transactions can be performed on all partitions of a cache across the whole cluster.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/transactions#ignitetransactions" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Locks</td>
<td>
<p>
Ignite allows developers to define explicit locks enforcing mutual exclusion on cached objects.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/locks" 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">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.readme.io/docs/sql-queries" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Distributed Joins</td>
<td>
<p>
Ignite supports <b>distributed SQL joins</b> as well as <b>cross-cache joins</b>.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/sql-queries#sql-joins" 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="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 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.readme.io/docs/sql-queries#configuring-sql-indexes-using-annotations" 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>
In 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">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 data from cache using standard SQL queries and JDBC API.
</p>
<div class="page-links">
<a href="https://apacheignite.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 data from cache using standard SQL queries and ODBC API.
</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">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>
<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.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.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="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>
<section id="computegrid-features" 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-features" 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">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">Sliding Windows</td>
<td>
<p>
Streaming allows querying into sliding windows of data. Sliding windows can be time-based, size-based, or batch-based.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/sliding-windows" target="docs">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
</div>
</td>
</tr>
<tr>
<td class="features-left">Querying Sliding Windows</td>
<td>
<p>
Ignite supports SQL, TEXT, and Predicate based cache queries to query into the streaming data.
</p>
<div class="page-links">
<a href="http://apacheignite.readme.io/docs/cache-queries" 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.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.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.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>
</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.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.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>
</td>
</tr>
</tbody>
</table>
<a href="#components">Top <i class="fa fa-angle-double-up"></i></a>
</section>
<section id="datastructures-features" 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-features" 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-features" 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-features" 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="http://apacheignite.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>
<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="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">Memached 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>, and <b>Apache JClouds</b>.
</p>
<div class="page-links">
<a href="https://apacheignite.readme.io/docs/aws-config" 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>