This is an automated email from the ASF dual-hosted git repository.

dmagda pushed a commit to branch ignite-13779
in repository https://gitbox.apache.org/repos/asf/ignite-website.git


The following commit(s) were added to refs/heads/ignite-13779 by this push:
     new 5b0b22a  Filled in the features section.
5b0b22a is described below

commit 5b0b22a9e01b2491221f0f2365a93e27d4ef5817
Author: Denis Magda <[email protected]>
AuthorDate: Thu Dec 3 16:14:58 2020 -0800

    Filled in the features section.
---
 index.html | 641 ++++++++++++++++++++++++++++++++++++++++++-------------------
 1 file changed, 443 insertions(+), 198 deletions(-)

diff --git a/index.html b/index.html
index e4ae49e..e1d93dd 100644
--- a/index.html
+++ b/index.html
@@ -171,7 +171,11 @@ under the License.
     <div id="main-banner" class="wrapper-main-banner bg-gray-shadow">
         <div class="wrapper">
             <div class="container">
-                <h1>Apache Ignite <strong>distributed database for in-memory 
speed at a petabyte scale</strong></h1>
+                <h1><strong>Apache Ignite</strong>
+                    distributed database for building data-intensive and 
high-performance
+                    applications delivering in-memory speed at a petabyte scale
+
+                </h1>
 
 
                 <div class="buttons">
@@ -214,17 +218,17 @@ under the License.
         </div>
     </section>
 
-    
-    <section id="intro-text" class="section-block">
-        <div class="container">
-        <p>
-            Apache Ignite is designed for data-intensive and high-performance 
applications.
-            The database that scales unlimitedly across given memory and disk 
resources.
-            The database that supports SQL, transactional, compute and machine 
learning APIs natively.
-        </p>
-        </div>
-    </section>
-    
+
+<!--    <section id="intro-text" class="section-block">-->
+<!--        <div class="container">-->
+<!--            <p>-->
+<!--                Apache Ignite® is designed for data-intensive and 
high-performance applications.-->
+<!--                The database that scales unlimitedly across given memory 
and disk resources.-->
+<!--                The database that supports SQL, transactional, compute and 
machine learning APIs natively.-->
+<!--            </p>-->
+<!--        </div>-->
+<!--    </section>-->
+
 
     <section id="home-use-cases" class="section-block">
 
@@ -241,23 +245,23 @@ under the License.
                         <h3>Applications Acceleration &amp; Data Caching</h3>
                         <p>
                             Gain up to 100x acceleration for existing 
applications using Ignite as an in-memory
-                            cache or in-memory data grid over a single or 
multiple back-end systems.
+                            cache or in-memory data grid over a single 
external database or multiple back-end systems.
                             The cache that you can query with SQL, transact 
and compute on.
                         </p>
 
                         <a href="/use-cases/in-memory-data-grid.html" 
role="button" class="btn btn-primary"
-                            title="In-Memory Data Grid"
-                            onclick="gtag('event',  'homepage_click', 
{'event_category':'apache_ignite_use_cases', 'event_label': 'data_grid'});">
+                           title="In-Memory Data Grid"
+                           onclick="gtag('event',  'homepage_click', 
{'event_category':'apache_ignite_use_cases', 'event_label': 'data_grid'});">
                             Learn More</a>
                     </div>
                 </div>
                 <div class="col-md-6">
                     <a class="simplified-img-a" 
data-diagram="apps_acceleration" data-target="#diagramModal"
-                        data-toggle="modal"
-                        href="#">
+                       data-toggle="modal"
+                       href="#">
                         <img style="height: 30rem;" class="lazyload"
-                                data-src="/images/svg-diagrams/data_grid.svg"
-                                alt="Applications Acceleration & Data Caching 
Diagram"/></a>
+                             data-src="/images/svg-diagrams/data_grid.svg"
+                             alt="Applications Acceleration & Data Caching 
Diagram"/></a>
                 </div>
 
             </div>
@@ -265,10 +269,10 @@ under the License.
             <div class="row">
                 <div class="col-md-6 order-last order-md-first">
                     <a class="simplified-img-a" data-diagram="digital_hub" 
data-target="#diagramModal"
-                        data-toggle="modal"
-                        href="#">
+                       data-toggle="modal"
+                       href="#">
                         <img style="height: 30rem;" class="lazyload" 
data-src="/images/svg-diagrams/database.svg"
-                                alt="Distributed Database Diagram"/></a>
+                             alt="Distributed Database Diagram"/></a>
                 </div>
                 <div class="col-md-6 order-first order-md-last">
 
@@ -282,8 +286,8 @@ under the License.
                         </p>
 
                         <a href="/use-cases/digital-integration-hub.html" 
role="button" class="btn btn-primary"
-                            aria-label="Learn More About Digital Integration 
Hub" title="Digital Integration Hub"
-                            onclick="gtag('event',  'homepage_click', 
{'event_category':'apache_ignite_use_cases', 'event_label': 
'database_for_mixed_workloads'});">
+                           aria-label="Learn More About Digital Integration 
Hub" title="Digital Integration Hub"
+                           onclick="gtag('event',  'homepage_click', 
{'event_category':'apache_ignite_use_cases', 'event_label': 
'database_for_mixed_workloads'});">
                             Learn More</a>
                     </div>
                 </div>
@@ -304,18 +308,18 @@ under the License.
                         </p>
 
                         <a href="/use-cases/high-performance-computing.html" 
role="button" class="btn btn-primary"
-                            title="High-Performance Compute Cluster"
-                            onclick="gtag('event',  'homepage_click', 
{'event_category':'apache_ignite_use_cases', 'event_label': 
'high_performance_compute_cluster'});">
+                           title="High-Performance Compute Cluster"
+                           onclick="gtag('event',  'homepage_click', 
{'event_category':'apache_ignite_use_cases', 'event_label': 
'high_performance_compute_cluster'});">
                             Learn More</a>
                     </div>
                 </div>
                 <div class="col-md-6">
                     <a class="simplified-img-a" 
data-diagram="high_performance_compute" data-target="#diagramModal"
-                        data-toggle="modal"
-                        href="#">
+                       data-toggle="modal"
+                       href="#">
                         <img style="height: 30rem;" class="lazyload"
-                                
data-src="/images/svg-diagrams/high_performance_compute.svg"
-                                alt="High-Performance Compute Cluster 
Diagram"/></a>
+                             
data-src="/images/svg-diagrams/high_performance_compute.svg"
+                             alt="High-Performance Compute Cluster 
Diagram"/></a>
                 </div>
 
             </div>
@@ -324,7 +328,7 @@ under the License.
 
 
         <div aria-hidden="true" aria-labelledby="diagramModal" class="modal 
fade" id="diagramModal" role="dialog"
-                tabindex="-1">
+             tabindex="-1">
             <div class="modal-dialog" role="document">
                 <div class="modal-content">
 
@@ -340,214 +344,455 @@ under the License.
 
     </section>
 
-        <section id="home-features" class="section-block bg-gray-shadow">
-            <div class="wrapper">
-                <div class="container">
-                    <h2>What Features <strong>Developers</strong> Love Apache 
Ignite For</h2>
-
-
-
-
-
-
-                    <div class="row" id="vertical-tabs">
-                        <div class="col-md-3">
-                            <!-- Tabs nav -->
-                            <div class="nav nav-pills nav-pills-custom" 
id="home-features-vtab" role="tablist" aria-orientation="vertical">
-                                
-            
-                                <a class="nav-link active" id="feat-vtab-sql" 
data-toggle="pill" href="#feat-vtab-c-sql" role="tab" 
aria-controls="feat-vtab-c-sql" aria-selected="false">
-                                    <svg>
-                                        <use 
xlink:href="#index-icons--Database"></use>
-                                    </svg>
-                                    <span>Distributed SQL</span>
-                                    </a>
-            
-                                <a class="nav-link " id="feat-vtab-multitier" 
data-toggle="pill" href="#feat-vtab-c-multitier" role="tab" 
aria-controls="feat-vtab-c-multitier" aria-selected="true">
-                                    <svg>
-                                        <use 
xlink:href="#index-icons--Distributed-IMDataStore"></use>
-                                    </svg>
-                                    <span>Multi-Tier Storage</span></a>
-
-                                <a class="nav-link" id="feat-vtab-acid" 
data-toggle="pill" href="#feat-vtab-c-acid" role="tab" 
aria-controls="feat-vtab-c-acid" aria-selected="false">
-                                
-                                    <svg>
-                                        <use 
xlink:href="#index-icons--ACID"></use>
-                                    </svg>
-                                    <span>ACID Transactions</span>
-                                    </a>
-            
-                                <a class="nav-link" id="feat-vtab-colocated" 
data-toggle="pill" href="#feat-vtab-c-colocated" role="tab" 
aria-controls="feat-vtab-c-colocated" aria-selected="false">
-                                    <svg>
-                                        <use 
xlink:href="#index-icons--Compute"></use>
-                                    </svg>
-                                    <span>Co-located Processing</span>
-                                    </a>
-
-                                <a class="nav-link" id="feat-vtab-ml" 
data-toggle="pill" href="#feat-vtab-c-ml" role="tab" 
aria-controls="feat-vtab-c-ml" aria-selected="false">
-                                    <svg>
-                                        <use 
xlink:href="#index-icons--Machine-Learning"></use>
-                                    </svg>
-                                    <span>Machine Learning</span>
-                                    </a>
-                            </div>
+    <section id="home-features" class="section-block bg-gray-shadow">
+        <div class="wrapper">
+            <div class="container">
+                <h2>What Features <strong>Developers</strong> Love Apache 
Ignite For</h2>
+
+
+                <div class="row" id="vertical-tabs">
+                    <div class="col-md-3">
+                        <!-- Tabs nav -->
+                        <div class="nav nav-pills nav-pills-custom" 
id="home-features-vtab" role="tablist"
+                             aria-orientation="vertical">
+
+                            <a class="nav-link active" 
id="feat-vtab-multitier" data-toggle="pill"
+                               href="#feat-vtab-c-multitier" role="tab" 
aria-controls="feat-vtab-c-multitier"
+                               aria-selected="true">
+                                <svg>
+                                    <use 
xlink:href="#index-icons--Distributed-IMDataStore"></use>
+                                </svg>
+                                <span>Multi-Tier Storage</span></a>
+
+                            <a class="nav-link" id="feat-vtab-sql" 
data-toggle="pill" href="#feat-vtab-c-sql"
+                               role="tab" aria-controls="feat-vtab-c-sql" 
aria-selected="false">
+                                <svg>
+                                    <use 
xlink:href="#index-icons--Database"></use>
+                                </svg>
+                                <span>Distributed SQL</span>
+                            </a>
+
+                            <a class="nav-link" id="feat-vtab-acid" 
data-toggle="pill" href="#feat-vtab-c-acid"
+                               role="tab" aria-controls="feat-vtab-c-acid" 
aria-selected="false">
+
+                                <svg>
+                                    <use xlink:href="#index-icons--ACID"></use>
+                                </svg>
+                                <span>ACID Transactions</span>
+                            </a>
+
+                            <a class="nav-link" id="feat-vtab-colocated" 
data-toggle="pill"
+                               href="#feat-vtab-c-colocated" role="tab" 
aria-controls="feat-vtab-c-colocated"
+                               aria-selected="false">
+                                <svg>
+                                    <use 
xlink:href="#index-icons--Compute"></use>
+                                </svg>
+                                <span>Co-located Compute</span>
+                            </a>
+
+                            <a class="nav-link" id="feat-vtab-ml" 
data-toggle="pill" href="#feat-vtab-c-ml" role="tab"
+                               aria-controls="feat-vtab-c-ml" 
aria-selected="false">
+                                <svg>
+                                    <use 
xlink:href="#index-icons--Machine-Learning"></use>
+                                </svg>
+                                <span>Machine Learning</span>
+                            </a>
+
+                            <a class="nav-link" id="feat-vtab-conquery" 
data-toggle="pill" href="#feat-vtab-c-conquery" role="tab"
+                               aria-controls="feat-vtab-c-conquery" 
aria-selected="false">
+                                <svg>
+                                    <use 
xlink:href="#index-icons--Machine-Learning"></use>
+                                </svg>
+                                <span>Continuous Queries</span>
+                            </a>
                         </div>
-            
-            
-                        <div class="col-md-9">
-                            <!-- Tabs content -->
-                            <div class="tab-content" id="v-pills-tabContent">
-                                
-                                
-                                <div class="tab-pane fade show active" 
id="feat-vtab-c-sql" role="tabpanel" aria-labelledby="feat-vtab-sql">
-                                    <h3>Distributed SQL</h3>
-                                    <p class="text-muted">Query both in-memory 
and disk-only data sets with ANSI SQL that supports distributed
-                                        joins, DML, and DDL.</p>
-
-                                    <div class="code-tabs">
-                                        <ul class="nav nav-tabs">
-                                            <li class="nav-item">
-                                              <a class="nav-link active" 
data-toggle="tab" href="#sql-java">Java</a>
-                                            </li>
-                                            <li class="nav-item">
-                                              <a class="nav-link" 
data-toggle="tab" href="#sql-csharp">C#/.NET</a>
-                                            </li>
-                                            <li class="nav-item">
-                                              <a class="nav-link" 
data-toggle="tab" href="#sql-cpp">C++</a>
-                                            </li>
-                                          </ul>
-                                          
-                                          <!-- Tab panes -->
-                                          <div class="tab-content">
-                                            <div class="tab-pane active" 
id="sql-java">
-                                                <pre class="language-java">
-                                                    <code>IgniteCache&lt;Long, 
Person&gt; cache = ignite.cache(&quot;Person&quot;);
-
-                                                        SqlFieldsQuery sql = 
new SqlFieldsQuery(
-                                                                &quot;select 
concat(firstName, ' ', lastName) from Person&quot;);
-                                                        
-                                                        // Iterate over the 
result set.
-                                                        try 
(QueryCursor&lt;List&lt;?&gt;&gt; cursor = cache.query(sql)) {
-                                                            for (List&lt;?&gt; 
row : cursor)
-                                                                
System.out.println(&quot;personName=&quot; + row.get(0));
-                                                        }</code>
+                    </div>
+
+
+                    <div class="col-md-9">
+                        <!-- Tabs content -->
+                        <div class="tab-content" id="v-pills-tabContent">
+
+                            <div class="tab-pane fade active" 
id="feat-vtab-c-multitier" role="tabpanel"
+                                 aria-labelledby="feat-vtab-multitier">
+                                <h3>Multi-Tier Storage</h3>
+
+                                <p class="text-muted">
+                                    By default, Ignite operates in a pure 
in-memory mode. But, with its multi-tier
+                                    storage engine, you can request to utilize 
available disk resources. With just a
+                                    single switch of a configuration setting, 
turn an in-memory cluster into
+                                    a distributed database that operates 
across memory and disk tiers:
+                                </p>
+
+                                <div class="code-tabs">
+                                    <ul class="nav nav-tabs">
+                                        <li class="nav-item">
+                                            <a class="nav-link active" 
data-toggle="tab" href="#storage-xml">XML</a>
+                                        </li>
+                                        <li class="nav-item">
+                                            <a class="nav-link" 
data-toggle="tab" href="#storage-java">Java</a>
+                                        </li>
+                                        <li class="nav-item">
+                                            <a class="nav-link" 
data-toggle="tab" href="#storage-csharp">C#/.NET</a>
+                                        </li>
+                                    </ul>
+
+                                    <!-- Tab panes -->
+                                    <div class="tab-content">
+                                        <div class="tab-pane active" 
id="storage-xml">
+                                                <pre class="language-xml">
+                                                    <code>
+                                                        &lt;bean 
class="org.apache.ignite.configuration.IgniteConfiguration"&gt;
+                                                            &lt;property 
name="dataStorageConfiguration"&gt;
+                                                                &lt;bean 
class="org.apache.ignite.configuration.DataStorageConfiguration"&gt;
+                                                                    
&lt;property name="defaultDataRegionConfiguration"&gt;
+                                                                        
&lt;bean class="org.apache.ignite.configuration.DataRegionConfiguration"&gt;
+                                                                            
&lt;property name="persistenceEnabled" value="true"/&gt;
+                                                                        
&lt;/bean&gt;
+                                                                    
&lt;/property&gt;
+                                                                &lt;/bean&gt;
+                                                            &lt;/property&gt;
+                                                        &lt;/bean&gt;
+                                                    </code>
                                                 </pre>
-                                            </div>
-                                            <div class="tab-pane fade" 
id="sql-csharp">
-                                                <pre class="language-csharp">
+                                        </div>
+                                        <div class="tab-pane fade" 
id="storage-java">
+                                                <pre class="language-java">
                                                     <code>
-                                                    var cache = 
ignite.GetCache&lt;long, Person&gt;(&quot;Person&quot;);
+                                                    IgniteConfiguration cfg = 
new IgniteConfiguration();
 
-                                                    var sql = new 
SqlFieldsQuery(&quot;select concat(FirstName, ' ', LastName) from Person&quot;);
+                                                    DataStorageConfiguration 
storageCfg = new DataStorageConfiguration();
 
-                                                    using (var cursor = 
cache.Query(sql))
+                                                    // Enable Ignite 
Persistence
+                                                    
storageCfg.getDefaultDataRegionConfiguration().setPersistenceEnabled(true);
+                                                    </code>
+                                                </pre>
+                                        </div>
+                                        <div class="tab-pane fade" 
id="storage-csharp">
+                                                <pre class="language-csharp">
+                                                    <code>
+                                                    var cfg = new 
IgniteConfiguration
                                                     {
-                                                        foreach (var row in 
cursor)
+                                                        
DataStorageConfiguration = new DataStorageConfiguration
                                                         {
-                                                            
Console.WriteLine(&quot;personName=&quot; + row[0]);
+                                                            
DefaultDataRegionConfiguration = new DataRegionConfiguration
+                                                            {
+                                                                Name = 
"Default_Region",
+                                                                
PersistenceEnabled = true
+                                                            }
                                                         }
-                                                    }
+                                                    };
                                                     </code>
                                                 </pre>
-                                            </div>
-                                            <div class="tab-pane fade" 
id="sql-cpp">
-                                                <pre class="language-cpp">
-                                                    <code>
-                                                    Cache&lt;int64_t, 
Person&gt; cache = ignite.GetOrCreateCache&lt;int64_t, 
Person&gt;(&quot;Person&quot;);
+                                        </div>
+                                    </div>
+                                </div>
 
-                                                    // Iterate over the result 
set.
-                                                    // SQL Fields Query can 
only be performed using fields that have been listed in &quot;QueryEntity&quot; 
been of the config!
-                                                    QueryFieldsCursor cursor = 
cache.Query(SqlFieldsQuery(&quot;select concat(firstName, ' ', lastName) from 
Person&quot;));
-                                                    while (cursor.HasNext())
-                                                    {
-                                                        std::cout &lt;&lt; 
&quot;personName=&quot; &lt;&lt; cursor.GetNext().GetNext&lt;std::string&gt;() 
&lt;&lt; std::endl;
-                                                    }
+                                <a href="/docs/latest/memory-architecture"
+                                   onclick="gtag('event',  'homepage_click', 
{'event_category':'apache_ignite_features', 'event_label': 
'multi-tier-storage'});"
+                                   title="Apache Ignite Multi-Tier Storage"
+                                   aria-label="Apache Ignite Multi-Tier 
Storage"
+                                   class="btn btn-secondary">Learn More</a>
+                            </div>
+
+                            <div class="tab-pane fade show" 
id="feat-vtab-c-sql" role="tabpanel"
+                                 aria-labelledby="feat-vtab-sql">
+                                <h3>Distributed SQL</h3>
+                                <p class="text-muted">
+                                    Work with Ignite as with a traditional SQL 
database
+                                    using JDBC, ODBC drivers, or native SQL 
APIs available for Java, C#, C++, Python,
+                                    and other programming languages. Join, 
group, aggregate, and order your distributed
+                                    in-memory and on-disk data:
+                                </p>
+
+                                <div class="code-tabs">
+                                    <ul class="nav nav-tabs">
+                                        <li class="nav-item">
+                                            <a class="nav-link active" 
data-toggle="tab" href="#sql">SQL</a>
+                                        </li>
+                                    </ul>
+
+                                    <!-- Tab panes -->
+                                    <div class="tab-content">
+                                        <div class="tab-pane active" id="sql">
+                                                <pre class="language-sql">
+                                                    <code>
+                                                        SELECT country.name, 
city.name, MAX(city.population) as max_pop
+                                                        FROM country JOIN city 
ON city.countrycode = country.code
+                                                        WHERE country.code IN 
('USA','BRA','ESP','JPN')
+                                                        GROUP BY country.name, 
city.name
+                                                        ORDER BY max_pop DESC 
LIMIT 3;
                                                     </code>
                                                 </pre>
-                                          </div>
                                         </div>
                                     </div>
+                                </div>
 
 
-                                    <a href="/features/sql.html"
-                                        onclick="gtag('event',  
'homepage_click', {'event_category':'apache_ignite_features', 'event_label': 
'sql'});"
-                                        title="Apache Ignite Distributed SQL" 
aria-label="Distributed SQL"
-                                        class="btn btn-secondary">Learn 
More</a>
-                                </div>
+                                <a href="/docs/latest/SQL/sql-introduction"
+                                   onclick="gtag('event',  'homepage_click', 
{'event_category':'apache_ignite_features', 'event_label': 'sql'});"
+                                   title="Apache Ignite Distributed SQL" 
aria-label="Distributed SQL"
+                                   class="btn btn-secondary">Learn More</a>
+                            </div>
 
-                                <div class="tab-pane fade  " 
id="feat-vtab-c-multitier" role="tabpanel" 
aria-labelledby="feat-vtab-multitier">
-                                    <h3>Multi-Tier Storage</h3>
-                                    <p class="text-muted">
-                                        Use memory, disk or Intel® Optane™ as 
active storage tiers with no need for
-                                        caching of all the data and memory 
warm-ups.
-                                    </p>
-                                    <a href="/arch/multi-tier-storage.html"
-                                        onclick="gtag('event',  
'homepage_click', {'event_category':'apache_ignite_features', 'event_label': 
'multi-tier-storage'});"
-                                        title="Apache Ignite Multi-Tier 
Storage"
-                                        aria-label="Apache Ignite Multi-Tier 
Storage"
-                                        class="btn btn-secondary">Learn 
More</a>
-                                </div>
-                                
-                                <div class="tab-pane fade " 
id="feat-vtab-c-acid" role="tabpanel" aria-labelledby="feat-vtab-acid">
-                                    <h3>ACID Transactions</h3>
-                                    <p class="text-muted">Execute distributed 
ACID transactions across memory and disk tiers, including relational
-                                        databases.</p>
-                                    <a href="/features/acid-transactions.html"
-                                        onclick="gtag('event',  
'homepage_click', {'event_category':'apache_ignite_features', 'event_label': 
'transactions'});"
-                                        title="Apache Ignite ACID 
Transactions" aria-label="Apache Ignite ACID Transactions"
-                                        class="btn btn-secondary">Learn 
More</a>
+                            <div class="tab-pane fade " id="feat-vtab-c-acid" 
role="tabpanel"
+                                 aria-labelledby="feat-vtab-acid">
+                                <h3>ACID Transactions</h3>
+                                <p class="text-muted">
+                                    Ignite can operate in a strongly 
consistent mode with full support for
+                                    distributed ACID transactions. Transact 
across multiple cluster nodes,
+                                    caches/tables,
+                                    and partitions.
+                                </p>
+
+                                <div class="code-tabs">
+                                    <ul class="nav nav-tabs">
+                                        <li class="nav-item">
+                                            <a class="nav-link active" 
data-toggle="tab" href="#transactions-java">Java</a>
+                                        </li>
+                                        <li class="nav-item">
+                                            <a class="nav-link" 
data-toggle="tab" href="#transactions-csharp">C#/.NET</a>
+                                        </li>
+                                    </ul>
+
+                                    <!-- Tab panes -->
+                                    <div class="tab-content">
+                                        <div class="tab-pane active" 
id="transactions-java">
+                                                <pre class="language-java">
+                                                    <code>
+                                                        IgniteTransactions 
transactions = ignite.transactions();
+
+                                                        try (Transaction tx = 
transactions.txStart()) {
+                                                            Integer hello = 
cache.get("Hello");
+
+                                                            if (hello == 1)
+                                                                
cache.put("Hello", 11);
+
+                                                            cache.put("World", 
22);
+
+                                                            tx.commit();
+                                                        }
+                                                    </code>
+                                                </pre>
+                                        </div>
+                                        <div class="tab-pane" 
id="transactions-csharp">
+                                                <pre class="language-csharp">
+                                                    <code>
+                                                        var transactions = 
ignite.GetTransactions();
+
+                                                        using (var tx = 
transactions.TxStart())
+                                                        {
+                                                            int hello = 
cache.Get("Hello");
+
+                                                            if (hello == 1)
+                                                            {
+                                                                
cache.Put("Hello", 11);
+                                                            }
+
+                                                            cache.Put("World", 
22);
+
+                                                            tx.Commit();
+                                                        }
+                                                    </code>
+                                                </pre>
+                                        </div>
+
+                                    </div>
                                 </div>
-                                
-                                <div class="tab-pane fade " 
id="feat-vtab-c-colocated" role="tabpanel" 
aria-labelledby="feat-vtab-colocated">
-                                    <h3>Co-located Processing</h3>
-                                    <p class="text-muted">
-                                        Eliminate data shuffling by running 
data-intensive and compute-intensive calculations on
-                                        cluster nodes.
-                                    </p>
-                                    <a 
href="/features/collocated-processing.html"
-                                        onclick="gtag('event',  
'homepage_click', {'event_category':'apache_ignite_features', 'event_label': 
'co-located-processsing'});"
-                                        title="Apache Ignite Co-located 
Processing" aria-label="Apache Ignite Co-located Processing"
-                                        class="btn btn-secondary">Learn 
More</a>
+
+                                <a href="/features/acid-transactions.html"
+                                   onclick="gtag('event',  'homepage_click', 
{'event_category':'apache_ignite_features', 'event_label': 'transactions'});"
+                                   title="Apache Ignite ACID Transactions" 
aria-label="Apache Ignite ACID Transactions"
+                                   class="btn btn-secondary">Learn More</a>
+                            </div>
+
+                            <div class="tab-pane fade " 
id="feat-vtab-c-colocated" role="tabpanel"
+                                 aria-labelledby="feat-vtab-colocated">
+                                <h3>Co-located Compute</h3>
+                                <p class="text-muted">
+                                    With traditional databases, you use stored 
procedures written in PL/SQL for in-place calculations.
+                                    <br/>
+                                    With Ignite, you use modern programming 
languages like Java or C# to develop
+                                    custom tasks and get them executed across 
the distributed database:
+                                </p>
+
+                                <div class="code-tabs">
+                                    <ul class="nav nav-tabs">
+                                        <li class="nav-item">
+                                            <a class="nav-link active" 
data-toggle="tab" href="#compute-java">Java</a>
+                                        </li>
+                                        <li class="nav-item">
+                                            <a class="nav-link" 
data-toggle="tab" href="#compute-csharp">C#/.NET</a>
+                                        </li>
+                                    </ul>
+
+                                    <!-- Tab panes -->
+                                    <div class="tab-content">
+                                        <div class="tab-pane active" 
id="compute-java">
+                                                <pre class="language-java">
+                                                    <code>
+                                                    // Broadcast the task to 
server nodes only.
+                                                    IgniteCompute compute = 
ignite.compute(ignite.cluster().forServers());
+
+                                                    // Each remote server node 
will execute the logic of the task/lambda below.
+                                                    compute.broadcast(() -> 
System.out.println(
+                                                        "Hello Node: " + 
ignite.cluster().localNode().id()));
+                                                    </code>
+                                                </pre>
+                                        </div>
+                                        <div class="tab-pane" 
id="compute-csharp">
+                                                <pre class="language-csharp">
+                                                    <code>
+                                                    // Broadcast the task to 
server nodes only.
+                                                    var compute = 
ignite.GetCluster().ForServers().GetCompute();
+
+                                                    // Each remote server node 
will execute the custom PrintNodeIdAction task.
+                                                    compute.Broadcast(new 
PrintNodeIdAction());
+                                                    </code>
+                                                </pre>
+                                        </div>
+
+                                    </div>
                                 </div>
 
-                                <div class="tab-pane fade " 
id="feat-vtab-c-ml" role="tabpanel" aria-labelledby="feat-vtab-ml">
-                                    <h3>Machine Learning</h3>
-                                    <p class="text-muted">
-                                        Train and deploy distributed machine 
learning models continuously over a horizontally scalable in-memory cluster.
-                                    </p>
-                                    <a href="/features/machinelearning.html"
-                                        onclick="gtag('event',  
'homepage_click', {'event_category':'apache_ignite_features', 'event_label': 
'machine-learning'});"
-                                        title="Apache Ignite >Machine 
Learning" aria-label="Apache Ignite >Machine Learning"
-                                        class="btn btn-secondary">Learn 
More</a>
+                                <a 
href="/docs/latest/distributed-computing/distributed-computing"
+                                   onclick="gtag('event',  'homepage_click', 
{'event_category':'apache_ignite_features', 'event_label': 
'co-located-processsing'});"
+                                   title="Apache Ignite Co-located Processing"
+                                   aria-label="Apache Ignite Co-located 
Processing"
+                                   class="btn btn-secondary">Learn More</a>
+                            </div>
+
+                            <div class="tab-pane fade " id="feat-vtab-c-ml" 
role="tabpanel"
+                                 aria-labelledby="feat-vtab-ml">
+                                <h3>Machine Learning</h3>
+                                <p class="text-muted">
+                                    Ignite Machine Learning is a set of 
built-in algorithms and tools that
+                                    allow building scalable machine learning 
models avoiding costly data transfers between
+                                    Ignite and an external system.
+                                    Train, deploy, evaluate and update your 
machine learning models continuously and at scale:
+                                </p>
+
+                                <div class="code-tabs">
+                                    <ul class="nav nav-tabs">
+                                        <li class="nav-item">
+                                            <a class="nav-link active" 
data-toggle="tab" href="#ml-java">Java</a>
+                                        </li>
+                                    </ul>
+
+                                    <!-- Tab panes -->
+                                    <div class="tab-content">
+                                        <div class="tab-pane active" 
id="ml-java">
+                                                <pre class="language-java">
+                                                    <code>
+                                                    // Create the trainer
+                                                    KNNClassificationTrainer 
trainer = new KNNClassificationTrainer()
+                                                      
.withK(3).withIdxType(SpatialIndexType.BALL_TREE)
+                                                      .withDistanceMeasure(new 
EuclideanDistance())
+                                                      .withWeighted(true);
+
+                                                    // Train the model
+                                                    KNNClassificationModel 
knnMdl = trainer.fit(ignite, dataCache, vectorizer);
+
+                                                    // Make a prediction
+                                                    double prediction = 
knnMdl.predict(observation);
+                                                    </code>
+                                                </pre>
+                                        </div>
+                                    </div>
                                 </div>
+
+                                <a 
href="/docs/latest/machine-learning/machine-learning"
+                                   onclick="gtag('event',  'homepage_click', 
{'event_category':'apache_ignite_features',
+                                    'event_label': 'machine-learning'});"
+                                   title="Apache Ignite Machine Learning" 
aria-label="Apache Ignite Machine Learning"
+                                   class="btn btn-secondary">Learn More</a>
                             </div>
-                        </div>
-                    </div>
 
+                            <div class="tab-pane fade " 
id="feat-vtab-c-conquery" role="tabpanel"
+                                 aria-labelledby="feat-vtab-conquery">
+                                <h3>Continuous Queries</h3>
+                                <p class="text-muted">
+                                    With relational databases, you use 
triggers to react to certain events.
+                                    <br/>
+                                    With Ignite, you deploy continuous queries 
written in modern programming languages
+                                    like Java or C#, and process streams of 
changes on the database and application side:
+                                </p>
+
+                                <div class="code-tabs">
+                                    <ul class="nav nav-tabs">
+                                        <li class="nav-item">
+                                            <a class="nav-link active" 
data-toggle="tab" href="#conquery-java">Java</a>
+                                        </li>
+                                        <li class="nav-item">
+                                            <a class="nav-link" 
data-toggle="tab" href="#conquery-csharp">C#/.NET</a>
+                                        </li>
+                                    </ul>
+
+                                    <!-- Tab panes -->
+                                    <div class="tab-content">
+                                        <div class="tab-pane active" 
id="conquery-java">
+                                                <pre class="language-java">
+                                                    <code>
+                                                    ContinuousQuery<Integer, 
String> qry = new ContinuousQuery<>();
 
+                                                    // The callback that will 
be triggered on the application side.
+                                                    qry.setLocalListener(new 
MyLocalListener());
 
+                                                    // The callback that will 
be executed on the server side.
+                                                    
qry.setRemoteFilterFactory(new MyRemoteFilterFactory());
 
+                                                    // Deploy the query in the 
cluster.
+                                                    cache.query(query);
+                                                    </code>
+                                                </pre>
+                                        </div>
+                                        <div class="tab-pane" 
id="conquery-csharp">
+                                                <pre class="language-csharp">
+                                                    <code>
+                                                     var cache = 
ignite.GetOrCreateCache<int, string>("myCache");
 
+                                                     var query = new 
ContinuousQuery<int, string>(
+                                                        new MyLocalListener(), 
// Will be triggered on the application side.
+                                                        new MyRemoteFilter()); 
// Will be executed on the server side.
 
+                                                     // Deploy the query in 
the cluster.
+                                                     var handle = 
cache.QueryContinuous(query);
+                                                    </code>
+                                                </pre>
+                                        </div>
+                                    </div>
+                                </div>
 
-                    
+                                <a 
href="/docs/latest/key-value-api/continuous-queries"
+                                   onclick="gtag('event',  'homepage_click', 
{'event_category':'apache_ignite_features',
+                                    'event_label': 'continuous-queries'});"
+                                   title="Apache Ignite Continuous Queries" 
aria-label="Apache Ignite Continuous Queries"
+                                   class="btn btn-secondary">Learn More</a>
+                            </div>
+                        </div>
+                    </div>
                 </div>
 
+
             </div>
-        </section>
+
+        </div>
+    </section>
 
     <section id="home-deployment-options" class="section-block">
         <div class="container">
-            <h2>How <strong>Technical Leaders</strong> Frequently Perceive 
Apache Ignite</h2>
+            <h2>How <strong>Technical Leaders</strong> Frequently Refer to 
Apache Ignite</h2>
             <div class="row">
                 <div class="col-md-4 option">
                     <a aria-label="Apache Ignite In-Memory Cache"
                        href="/use-cases/in-memory-cache.html"
                        onclick="gtag('event',  'homepage_click', 
{'event_category':'apache_ignite_dep_options', 'event_label': 
'in-memory-cache'});"
                        title="Apache Ignite In-Memory Cache">
-                        <div class="icon-wrapper" style="padding-top: 
1rem;"><svg>
-                            <use xlink:href="#index-icons--Tachometer"></use>
-                        </svg></div>
+                        <div class="icon-wrapper" style="padding-top: 1rem;">
+                            <svg>
+                                <use 
xlink:href="#index-icons--Tachometer"></use>
+                            </svg>
+                        </div>
                         <h3>In-Memory Cache</h3>
                         <p>
                             Use Ignite as a low-latency and high-performance 
in-memory cache with Key-Value and ANSI SQL
@@ -613,7 +858,7 @@ under the License.
     });
 
 
-    jQuery('#home-features-vtab .nav-link').hover(function(){
+    jQuery('#home-features-vtab .nav-link').hover(function () {
         jQuery(this).click();
     });
 </script>

Reply via email to