You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by dm...@apache.org on 2020/03/27 17:08:37 UTC

svn commit: r1875787 [7/12] - in /ignite/site/trunk: ./ arch/ community/ css/ features/ images/ images/benchmarks/ images/png-diagrams/ images/svg-diagrams/ images/svg-sprites/ images/svg/ includes/ js/ releases/2.6.0/dotnetdoc/ releases/2.7.0/dotnetdo...

Modified: ignite/site/trunk/features.html
URL: http://svn.apache.org/viewvc/ignite/site/trunk/features.html?rev=1875787&r1=1875786&r2=1875787&view=diff
==============================================================================
--- ignite/site/trunk/features.html (original)
+++ ignite/site/trunk/features.html Fri Mar 27 17:08:35 2020
@@ -47,30 +47,35 @@ under the License.
 <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 memory-centric database and caching 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-4 col-md-4 col-xs-12">
+<article>
+    <header>    <div class="container">
+        
+				<h1>Product <strong>Features</strong></h1>
+</div>
+</header>
+<div class="container">
+				<p>Apache Ignite in-memory computing platform comprises the following set of components:</p>
+			
+		
+		<div class="row">
+			                <div class="col-sm-4 col-md-4 col-xs-12">
                     <h3>Main Features</h3>
                     <ul>
-                        <li><a href="/arch/memorycentric.html" aria-label="Memory Centric"
+                        <li><a href="/arch/multi-tier-storage.html" aria-label="Memory Centric"
                                onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'memory_centric');">
-                            Memory-Centric Storage</a>
+                            Multi-Tier Storage</a>
                         </li>
                         <li><a href="/features/sql.html" aria-label="SQL"
                                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" aria-label="Key-Value Store"
+                        <li><a href="/use-cases/key-value-store.html" aria-label="Key-Value Store"
                                onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'distributed_key_value');">
                             Distributed Key-Value</a>
                         </li>
                         <li><a href="/arch/persistence.html" aria-label="Persistence"
                                onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'persistence');">
-                            Distributed Persistence</a>
+                            Native Persistence</a>
                         </li>
                         <li><a href="/features/transactions.html" aria-label="Transactions"
                                onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'acid_transactions');">
@@ -78,19 +83,15 @@ under the License.
                         </li>
                         <li><a href="/features/collocatedprocessing.html" aria-label="Collocated Processing"
                                onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'collocated_processing');">
-                            Collocated Processing</a>
+                            Co-located Processing</a>
                         </li>
                         <li><a href="/features/machinelearning.html" aria-label="Machine Learning"
                                onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'machine_learning');">
                             Machine Learning</a>
                         </li>
-                        <li><a href="/features/tensorflow.html" aria-label="Tensor Flow"
-                               onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'tensorflow');">
-                            TensorFlow Integration</a>
-                        </li>
                         <li><a href="/features/multilanguage.html" aria-label="Multi Language"
                                onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'multi_language');">
-                            Multi-Language</a>
+                            Multi-Language Support</a>
                         </li>
                         <li><a href="/arch/clustering.html" aria-label="Clusterig"
                                onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'clustering');">
@@ -121,1415 +122,31 @@ under the License.
                                onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'messaging');">
                             Messaging & Events</a>
                         </li>
-                        <li><a href="/features/machinelearning.html#ga-grid" aria-label="Machine Learning"
-                               onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'machine_learning_GA_Grid');">
-                            GA Grid</a>
+                        <li><a href="https://apacheignite-mix.readme.io/docs" aria-label="Messaging"
+                               onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'other_integrations');" target="docs">
+                            Other Integrations</a>
                         </li>
                     </ul>
                 </div>
-
                 <div class="col-sm-4 col-md-4 col-xs-12">
                     <h3 class="last">Hadoop & Spark</h3>
                     <ul class="last">
-                        <li><a href="/features/igniterdd.html" aria-label="Ignite"
-                               onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'ignite_rdd');">
-                            In-Memory Store for Spark</a>
-                        </li>
-                        <li><a href="/features/igfs.html" aria-label="Ignite GFS"
-                               onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'igfs');">
-                            In-Memory File System</a>
-                        </li>
-                        <li><a href="/features/mapreduce.html" aria-label="Map Reduce"
-                               onclick="ga('send', 'event', 'apache_ignite_features', 'features_page_click', 'mapreduce');">
-                            In-Memory MapReduce</a>
+                        <li><a href="/use-cases/spark-acceleration.html"
+                               aria-label="Apache Spark Acceleration"
+                               onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'apache_spark_acceleration');">
+                            Apache Spark Acceleration</a>
+                        </li>
+                        <li><a href="/use-cases/hadoop-acceleration.html"
+                               aria-label="Hadoop Acceleration"
+                               onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'hadoop_acceleration');">
+                            Apache Hadoop Acceleration</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" aria-label="What is Ignite" target="_blank" rel="noopener">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" aria-label="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 memory-centric storage 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" aria-label="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" aria-label="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" aria-label="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" aria-label="Back To Top">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" rel="noopener" aria-label="Distributed SQL">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" aria-label="Select">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" aria-label="DDL">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" aria-label="DML">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" aria-label="Collocated Joins">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" aria-label="Non Collocated Joins">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" aria-label="Create Index">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" aria-label="Geospatial Support">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" aria-label="JDBC Driver">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" aria-label="ODBC Driver">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" aria-label="SQL Tooling">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" aria-label="Apache Zeppelin">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" aria-label="Tableau">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" aria-label="PHP PDO">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" rel="noopener" aria-label="Data Grid">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" aria-label="Data Grid">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" aria-label="Apache Ignite SQL">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" aria-label="Cache Modes">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" aria-label="Near Caches">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" aria-label="Affinity Collocation">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" aria-label="Continuous Queries">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" aria-label="Persistent Store">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" aria-label="Persistent Store">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" aria-label="Persistent Store Write Behind Caching">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" aria-label="Automatic Persistence">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" aria-label="JCache">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" aria-label="Integration with JTA">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" aria-label="OSGI Starting Inside a Container">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/3rd-party-store" target="docs" aria-label="3rd Party Store">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" aria-label="Hiberate L2 Cache">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" aria-label="Web Session Clustering">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" aria-label="Spring Caching">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" aria-label="Spring Data">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
-                </tbody>
-            </table>
-            <a href="#components" aria-label="Back To Top">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" rel="noopener" aria-label="Compute Grid">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" aria-label="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" aria-label="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" aria-label="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" aria-label="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" aria-label="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" aria-label="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" aria-label="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" aria-label="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" aria-label="Back to Top">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" rel="noopener" aria-label="Streaming Features">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" aria-label="Streaming CEP">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" aria-label="Data Loading">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" aria-label="Streaming Receiver">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" aria-label="Continuous Queries">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" aria-label="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" aria-label="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" aria-label="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" aria-label="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" aria-label="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" aria-label="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" aria-label="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" aria-label="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" aria-label="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" aria-label="ZeroMQ Streamer">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
-                </tbody>
-            </table>
-            <a href="#components" aria-label="Back To Top">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" rel="noopener" aria-label="Data Structures Features">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" aria-label="Queue and Set">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" aria-label="Collocated vs Non Collocated Mode">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" aria-label="Bounded Queues">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" aria-label="Atomic Types">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" aria-label="Countdown Latch">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" aria-label="ID Generator">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" aria-label="Distributed Semaphore">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
-                </tbody>
-            </table>
-            <a href="#components" aria-label="Back To Top">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" rel="noopener" aria-label="Messaging & Events">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" aria-label="Messaging">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" aria-label="Point-to-Point Messaging">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" aria-label="Messaging Ordered vs Unordered">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" aria-label="Event Notifications">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" aria-label="Local vs Remote Events">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" aria-label="Automatic Batching">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
-                </tbody>
-            </table>
-            <a href="#components" aria-label="Back to Top">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" rel="noopener" aria-label="Service Grid Features">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" aria-label="Service Grid">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" aria-label="Cluster Singletons">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" aria-label="Fault Tolerance">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" aria-label="Load Balancing">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
-                </tbody>
-            </table>
-            <a href="#components" aria-label="Back to Top">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="/use-cases/spark/shared-memory-layer.html" target="_blank" rel="noopener" aria-label="Shared Memory Layer">Ignite for Spark<i class="fa fa-external-link" style="padding-left:5px;"></i></a></h2>
-            <table class="formatted features" name="spark">
-                <thead>
-                    <tr>
-                        <th colspan="2" class="left">IGNITE FOR SPARK</th>
-                    </tr>
-                </thead>
-                <tbody>
-                    <tr>
-                        <td class="features-left">Ignite RDD and DataFrames</td>
-                        <td>
-                            <p>
-                                Apache Ignite provides an implementation of Spark RDD abstraction and DataFrames
-                                which allows to easily share state in memory across multiple Spark jobs and boost Spark's
-                                applications performance.
-                            </p>
-                            <div  class="page-links">
-                                <a href="https://apacheignite-fs.readme.io/docs/ignite-for-spark" target="docs" aria-label="Ignite for Spark">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" aria-label="Section Running SQL Queries agains Ignite Cache">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
-                </tbody>
-            </table>
-            <a href="#components" aria-label="Back To Top">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" rel="noopener" aria-label="In-Memory File System">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" aria-label="In-Memory File System">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" aria-label="Secondary File System">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" aria-label="Installing on Apache Hadoop">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" aria-label="Installing on Hortonworks">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" aria-label="Installing on Cloudera">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
-                </tbody>
-            </table>
-            <a href="#components" aria-label="Back to Top">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" rel="noopener" aria-label="In-Memory MapReduce">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" aria-label="Map Reduce">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" aria-label="Hadoop Accelerator">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
-                </tbody>
-            </table>
-            <a href="#components" aria-label="Back To Top">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" rel="noopener" aria-label="Java Features">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" aria-label="Java Getting Started">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" aria-label=".NET Platform Interoperability">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" aria-label="C++ Platform Interoperability">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
-                        </div>
-                    </td>
-                </tr>
-                </tbody>
-            </table>
-            <a href="#components" aria-label="Back to Top">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" rel="noopener" aria-label="Client Protocols">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" aria-label="Clients vs Servers">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" aria-label="Memcached Support">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" aria-label="Rest API">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" aria-label="SSL TLS">Docs for this Feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>
-                    </tr>
-                </tbody>
-            </table>
-            <a href="#components" aria-label="Back To Top">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" rel="noopener" aria-label="Deployment">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" aria-label="Zero Deployment">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" aria-label="Binary Marshaller">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" aria-label="Cluster Config">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" aria-label="Public Cloud Support">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" aria-label="Docker Container">Docs for this feature <i class="fa fa-angle-double-right"></i></a>
-                            </div>
-                        </td>

[... 47 lines stripped ...]