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 & 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<Long,
Person> cache = ignite.cache("Person");
-
- SqlFieldsQuery sql =
new SqlFieldsQuery(
- "select
concat(firstName, ' ', lastName) from Person");
-
- // Iterate over the
result set.
- try
(QueryCursor<List<?>> cursor = cache.query(sql)) {
- for (List<?>
row : cursor)
-
System.out.println("personName=" + 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>
+ <bean
class="org.apache.ignite.configuration.IgniteConfiguration">
+ <property
name="dataStorageConfiguration">
+ <bean
class="org.apache.ignite.configuration.DataStorageConfiguration">
+
<property name="defaultDataRegionConfiguration">
+
<bean class="org.apache.ignite.configuration.DataRegionConfiguration">
+
<property name="persistenceEnabled" value="true"/>
+
</bean>
+
</property>
+ </bean>
+ </property>
+ </bean>
+ </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<long, Person>("Person");
+ IgniteConfiguration cfg =
new IgniteConfiguration();
- var sql = new
SqlFieldsQuery("select concat(FirstName, ' ', LastName) from Person");
+ 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("personName=" + 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<int64_t,
Person> cache = ignite.GetOrCreateCache<int64_t,
Person>("Person");
+ </div>
+ </div>
+ </div>
- // Iterate over the result
set.
- // SQL Fields Query can
only be performed using fields that have been listed in "QueryEntity"
been of the config!
- QueryFieldsCursor cursor =
cache.Query(SqlFieldsQuery("select concat(firstName, ' ', lastName) from
Person"));
- while (cursor.HasNext())
- {
- std::cout <<
"personName=" << cursor.GetNext().GetNext<std::string>()
<< 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>