Author: dmagda
Date: Wed Mar 18 19:25:26 2020
New Revision: 1875388
URL: http://svn.apache.org/viewvc?rev=1875388&view=rev
Log:
committing edits
Removed:
ignite/site/branches/ignite-redisign/features/computegrid.html
Modified:
ignite/site/branches/ignite-redisign/.htaccess
ignite/site/branches/ignite-redisign/arch/multi-tier-storage.html
ignite/site/branches/ignite-redisign/features/collocatedprocessing.html
ignite/site/branches/ignite-redisign/includes/header.html
ignite/site/branches/ignite-redisign/index.html
ignite/site/branches/ignite-redisign/use-cases/datagrid.html
ignite/site/branches/ignite-redisign/use-cases/dih.html
ignite/site/branches/ignite-redisign/use-cases/hpc.html
ignite/site/branches/ignite-redisign/use-cases/in-memory-cache.html
ignite/site/branches/ignite-redisign/use-cases/in-memory-database.html
Modified: ignite/site/branches/ignite-redisign/.htaccess
URL:
http://svn.apache.org/viewvc/ignite/site/branches/ignite-redisign/.htaccess?rev=1875388&r1=1875387&r2=1875388&view=diff
==============================================================================
--- ignite/site/branches/ignite-redisign/.htaccess (original)
+++ ignite/site/branches/ignite-redisign/.htaccess Wed Mar 18 19:25:26 2020
@@ -37,6 +37,7 @@ Redirect 301 /arch/durablememory.html /a
Redirect 301 /features/runseverywhere.html /features/multilanguage.html
Redirect 301 /features/igniterdd.html /use-cases/spark-acceleration.html
Redirect 301 /blogs.html /
+Redirect 301 /features/computegrid.html /features/collocatedprocessing.html
RewriteEngine On
Modified: ignite/site/branches/ignite-redisign/arch/multi-tier-storage.html
URL:
http://svn.apache.org/viewvc/ignite/site/branches/ignite-redisign/arch/multi-tier-storage.html?rev=1875388&r1=1875387&r2=1875388&view=diff
==============================================================================
--- ignite/site/branches/ignite-redisign/arch/multi-tier-storage.html (original)
+++ ignite/site/branches/ignite-redisign/arch/multi-tier-storage.html Wed Mar
18 19:25:26 2020
@@ -43,7 +43,7 @@ under the License.
<title>Multi-Tier Storage - Apache Ignite</title>
<meta name="description"
- content="Apache Ignite multi-tier storage uses memory, disk, and
Intel® Optane⢠as active storage tiers to
+ content="Apache Ignite multi-tier storage uses memory, disk, and
Intel Optane as active storage tiers to
provide the speed of memory with the consistency of disk-based
databases without the need for memory
warm-ups on restarts."/>
@@ -61,11 +61,11 @@ under the License.
<p>
- Apache Ignite is designed to work with memory, disk, and Intel®
Optane⢠as active storage tiers.
+ Apache Ignite is designed to work with memory, disk, and Intel
Optane as active storage tiers.
The memory tier allows using DRAM and Intel® Optane⢠operating
in the Memory Mode for data storage
and processing needs. The disk tier is optional with the support
of two options -- you can
persist data in an external database or keep it in the Ignite
native persistence. SSD, Flash,
- HDD, or Intel® Optane⢠operating in the AppDirect Mode can be
used as a storage device.
+ HDD, or Intel Optane operating in the AppDirect Mode can be used
as a storage device.
</p>
<img class="img-responsive diagram-right"
src="/images/durable_memory.png" />
Modified:
ignite/site/branches/ignite-redisign/features/collocatedprocessing.html
URL:
http://svn.apache.org/viewvc/ignite/site/branches/ignite-redisign/features/collocatedprocessing.html?rev=1875388&r1=1875387&r2=1875388&view=diff
==============================================================================
--- ignite/site/branches/ignite-redisign/features/collocatedprocessing.html
(original)
+++ ignite/site/branches/ignite-redisign/features/collocatedprocessing.html Wed
Mar 18 19:25:26 2020
@@ -62,6 +62,11 @@ under the License.
<img class="diagram-right img-responsive"
src="/images/collocated_processing.png" />
<p>
+ Apache Ignite supports co-located processing technique for
compute-intensive and data-intensive calculations
+ as well as machine learning algorithms. This technique increases
performance by eliminating the impact of
+ network latency.
+ </p>
+ <p>
In traditional disk-based systems, such as relational or NoSQL
databases, client applications
usually bring data from servers, use the records for local
calculations, and discard the data as
soon as the business task is complete. This approach does not
scale well if a significant volume
Modified: ignite/site/branches/ignite-redisign/includes/header.html
URL:
http://svn.apache.org/viewvc/ignite/site/branches/ignite-redisign/includes/header.html?rev=1875388&r1=1875387&r2=1875388&view=diff
==============================================================================
--- ignite/site/branches/ignite-redisign/includes/header.html (original)
+++ ignite/site/branches/ignite-redisign/includes/header.html Wed Mar 18
19:25:26 2020
@@ -128,23 +128,18 @@
<a class="nav-link dropdown-toggle" role="button"
data-toggle="dropdown" aria-haspopup="true"
aira-expanded="false" aria-label="Resources"
id="navbarResources">Resources</a>
<ul class="dropdown-menu" role="menu">
- <li class="dropdown-subtitle"
role="presentation">Overview & FAQ</li>
+ <li class="dropdown-subtitle"
role="presentation">FAQ</li>
<li class="dropdown-item">
<a href="/whatisignite.html"
aria-label="Overview"
onclick="ga('send', 'event',
'whatisignite', 'menu_click', 'whatisignite_page');">
- What is Apache Ignite®?</a>
+ What is Apache Ignite?</a>
</li>
- <li class="dropdown-subtitle"
role="presentation">Docs & APIs</li>
- <li class="dropdown-item"><a
href="/docs-and-apis.html#docs">Technical Docs</a></li>
- <li class="dropdown-item"><a
href="/docs-and-apis.html#apis">APIs</a></li>
-
- <li class="dropdown-subtitle"
role="presentation">Learning Ignite</li>
+ <li class="dropdown-subtitle"
role="presentation">Learn Ignite</li>
+ <li class="dropdown-item"><a
href="/docs-and-apis.html">Documentation & APIs</a></li>
+ <li class="dropdown-item"><a
href="/screencasts.html">Videos</a></li>
<li class="dropdown-item"><a
href="https://github.com/apache/ignite/tree/master/examples"
target="_blank"
rel="noopener">
Examples <i class="fa fa-external-link"
style="padding-left:5px;"></i></a></li>
- <li class="dropdown-item"><a
href="/screencasts.html">Videos</a></li>
-
- <li class="dropdown-subtitle"
role="presentation">Books and Courses</li>
<li class="dropdown-item"><a
href="https://www.shamimbhuiyan.com/ignitebook" target="_blank"
rel="noopener">Ignite
Book<i
class="fa fa-external-link"
style="padding-left:5px;"></i></a></li>
Modified: ignite/site/branches/ignite-redisign/index.html
URL:
http://svn.apache.org/viewvc/ignite/site/branches/ignite-redisign/index.html?rev=1875388&r1=1875387&r2=1875388&view=diff
==============================================================================
--- ignite/site/branches/ignite-redisign/index.html (original)
+++ ignite/site/branches/ignite-redisign/index.html Wed Mar 18 19:25:26 2020
@@ -198,7 +198,7 @@ under the License.
<div id="intro-text" class="container">
<p>
- Apache Ignite is a horizontally scalable, fault-tolerant
distributed in-memory
+ Apache Ignite® is a horizontally scalable, fault-tolerant
distributed in-memory
computing platform used to build real-time applications
processing terabytes of data with in-memory
speed.
</p>
@@ -232,7 +232,7 @@ under the License.
<h3>In-Memory Data Grid</h3>
<p>
Gain 100x acceleration by using Ignite as an
- advance in-memory data grid on top of RDBMS,
Hadoop or another store.
+ advanced in-memory data grid on top of RDBMS,
Hadoop or another store.
</p>
</a>
</div>
@@ -245,8 +245,8 @@ under the License.
</svg>
<h3>In-Memory Database</span></h3>
<p>
- Scale out and up across RAM, NVRAM, Flash and
legacy storage with Ignite native
- transactional multi-tier persistence.
+ Scale out and up across RAM, NVRAM, Flash and
disk with Ignite distributed multi-tier
+ storage.
</p>
</a>
</div>
Modified: ignite/site/branches/ignite-redisign/use-cases/datagrid.html
URL:
http://svn.apache.org/viewvc/ignite/site/branches/ignite-redisign/use-cases/datagrid.html?rev=1875388&r1=1875387&r2=1875388&view=diff
==============================================================================
--- ignite/site/branches/ignite-redisign/use-cases/datagrid.html (original)
+++ ignite/site/branches/ignite-redisign/use-cases/datagrid.html Wed Mar 18
19:25:26 2020
@@ -54,9 +54,9 @@ under the License.
<h1>In-Memory Data Grid <strong>With SQL, <br
/>ACID Transactions and Compute APIs</strong></h1>
<p>
- Apache Ignite provides an extensive set of user-friendly
APIs to serve as an in-memory data grid
- that integrates into your existing architecture seamlessly
and accelerates databases, services, and
- custom APIs.
+ Apache Ignite as an in-memory data grid that accelerates
and scales your databases, services, and
+ APIs. It supports key-value and ANSI SQL APIs, ACID
transactions, co-located compute, and machine
+ learning libraries required for real-time applications.
</p>
<p>
An in-memory data grid type of deployment is also known as
a read-through/write-through caching
Modified: ignite/site/branches/ignite-redisign/use-cases/dih.html
URL:
http://svn.apache.org/viewvc/ignite/site/branches/ignite-redisign/use-cases/dih.html?rev=1875388&r1=1875387&r2=1875388&view=diff
==============================================================================
--- ignite/site/branches/ignite-redisign/use-cases/dih.html (original)
+++ ignite/site/branches/ignite-redisign/use-cases/dih.html Wed Mar 18 19:25:26
2020
@@ -54,10 +54,10 @@ under the License.
<h1>Building Digital Integration Hub
<stron>With Apache Ignite</stron></h1>
<img class="diagram-right img-fluid"
src="/images/digital-hub.png"/>
<p>
- A digital integration hub (DIH) is an advanced
platform architecture that aggregates multiple
- back-end systems and databases into a low-latency and
shared data store. Apache Ignite can
- function as this high-performance shared store by
caching and persisting data sets dispersed
- across many disjointed external databases and systems.
+ Apache Ignite is used as a low-latency and shared
store of your digital integration hub
+ architecture that caches and persists data sets
scattered across many disjointed back-end databases
+ and systems. A digital integration hub (DIH) is an
advanced platform architecture that aggregates multiple
+ back-end systems and databases into a low-latency and
shared data store.
</p>
<p>
Modified: ignite/site/branches/ignite-redisign/use-cases/hpc.html
URL:
http://svn.apache.org/viewvc/ignite/site/branches/ignite-redisign/use-cases/hpc.html?rev=1875388&r1=1875387&r2=1875388&view=diff
==============================================================================
--- ignite/site/branches/ignite-redisign/use-cases/hpc.html (original)
+++ ignite/site/branches/ignite-redisign/use-cases/hpc.html Wed Mar 18 19:25:26
2020
@@ -48,101 +48,102 @@ under the License.
<!--#include virtual="/includes/sh.html" -->
</head>
<body>
- <!--#include virtual="/includes/header.html" -->
- <article>
+<!--#include virtual="/includes/header.html" -->
+<article>
<div class="container">
- <h1>High-Performance Computing
<strong>With Apache Ignite</strong></h1>
-
- <p>
- High-performance computing (HPC) is the ability to process data
and perform complex
- calculations at high speeds. Apache Ignite enables HPC by
providing APIs for compute- and
- data-intensive calculations. The APIs implement the MapReduce
paradigm and let you run
- arbitrary tasks across the cluster of Ignite nodes.
- </p>
- <img class="diagram-right img-fluid"
src="/images/collocated_processing.png"/>
- <p>
- Having Ignite as a high-performance compute cluster, you can
turn a group of commodity
- machines or a cloud environment into a distributed supercomputer
of interconnected Ignite
- nodes.
- </p>
- <p>
- Ignite enables speed and scale for HPC scenarios by processing
records in memory and reducing
- data shuffling and network utilization.
- </p>
-
-
-
- <h2>Co-located Processing</h2>
- <p>
- Ignite uses the notion of co-located processing to guide HPC
workloads implementations in distributed
- in-memory environments. Co-located processing increases the
performance of your complex calculations by
- running them straight on the Ignite cluster nodes. These
calculations are done only on local data sets
- available on the nodes, thus avoiding data shuffling over the
network and resulting in orders of magnitude
- increase in performance.
- </p>
-
- <p>
- To exploit the co-located processing in practice, first, you
need to co-locate data by storing related
- records on the same cluster node. As an example of related or
co-located data, consider your bank account
- and transactions posted to it. Once you set
<code>accountID</code> as an affinity key for the
- <code>Transactions</code> table, you'll instruct Ignite to
store all transactions for your
- <code>accountId</code> on the same node that keeps the record
of your account in the
- <code>Accounts</code> table. Now let's say a payment
processing system sends a compute task that
- verifies previous transactions of your account. Since the data
is co-located, Ignite will execute this
- task directly on the node that stores your account record with
all completed transactions and finish the
- verification locally on that machine instead of pulling all
the transactions back to the application
- over the network. This method of executing a task on the node
where the data resides provides
- exceptionally high performance.The effect is even more
significant when the system needs to process
- millions of transactions per second, verifying billions of
previously completed payments.
- </p>
-
- <h2>Compute APIs</h2>
-
- <p>
- Ignite provides compute APIs (also known as compute grid) for
creating and scheduling custom
- tasks of arbitrary complexity. The APIs implement MapReduce
paradigm and are presently available for Java,
- C#, and C++.
- </p>
-
- <div class="jumbotron jumbotron-fluid">
- <div class="container">
- <div class="title display-6">Learn More</div>
- <hr class="my-4">
- <div class="row">
- <div class="col-6 col-xs-12">
- <ul>
- <li>
- <a
href="http://localhost/features/collocatedprocessing.html">
- Co-located processing <i class="fa
fa-angle-double-right"></i>
- </a>
- </li>
- <li>
- <a href="https://apacheignite.readme.io/docs/compute-grid"
target="docs">
- Compute APIs <i class="fa fa-angle-double-right"></i>
- </a>
- </li>
- </ul>
- </div>
- <div class="col-6 col-xs-12">
- <ul>
- <li>
- <a href="/features/machinelearning.html">
- Machine and Deep Learning <i class="fa
fa-angle-double-right"></i>
- </a>
- </li>
- <li>
- <a href="/arch/multi-tier-storage.html">
- Multi-Tier Storage <i class="fa fa-angle-double-right"></i>
- </a>
- </li>
- </ul>
+ <h1>High-Performance Computing <strong>With Apache Ignite</strong></h1>
+
+ <p>
+ Apache Ignite enables high-performance computing by providing APIs
for data and
+ compute-intensive calculations. The APIs implement the MapReduce
paradigm and let you run
+ arbitrary tasks across the cluster of Ignite nodes.
High-performance computing (HPC) is the ability to
+ process data and
+ perform complex calculations at high speeds and with Ignite you
can turn your commodity hardware or cloud
+ environment into a distributed supercomputer.
+ </p>
+ <img class="diagram-right img-fluid"
src="/images/collocated_processing.png"/>
+ <p>
+ Having Ignite as a high-performance compute cluster, you can turn
a group of commodity
+ machines or a cloud environment into a distributed supercomputer
of interconnected Ignite
+ nodes.
+ </p>
+ <p>
+ Ignite enables speed and scale for HPC scenarios by processing
records in memory and reducing
+ data shuffling and network utilization.
+ </p>
+
+
+ <h2>Co-located Processing</h2>
+ <p>
+ Ignite uses the notion of co-located processing to guide HPC
workloads implementations in distributed
+ in-memory environments. Co-located processing increases the
performance of your complex calculations by
+ running them straight on the Ignite cluster nodes. These
calculations are done only on local data sets
+ available on the nodes, thus avoiding data shuffling over the
network and resulting in orders of magnitude
+ increase in performance.
+ </p>
+
+ <p>
+ To exploit the co-located processing in practice, first, you need
to co-locate data by storing related
+ records on the same cluster node. As an example of related or
co-located data, consider your bank account
+ and transactions posted to it. Once you set <code>accountID</code>
as an affinity key for the
+ <code>Transactions</code> table, you'll instruct Ignite to store
all transactions for your
+ <code>accountId</code> on the same node that keeps the record of
your account in the
+ <code>Accounts</code> table. Now let's say a payment processing
system sends a compute task that
+ verifies previous transactions of your account. Since the data is
co-located, Ignite will execute this
+ task directly on the node that stores your account record with all
completed transactions and finish the
+ verification locally on that machine instead of pulling all the
transactions back to the application
+ over the network. This method of executing a task on the node
where the data resides provides
+ exceptionally high performance.The effect is even more significant
when the system needs to process
+ millions of transactions per second, verifying billions of
previously completed payments.
+ </p>
+
+ <h2>Compute APIs</h2>
+
+ <p>
+ Ignite provides compute APIs (also known as compute grid) for
creating and scheduling custom
+ tasks of arbitrary complexity. The APIs implement MapReduce
paradigm and are presently available for Java,
+ C#, and C++.
+ </p>
+
+ <div class="jumbotron jumbotron-fluid">
+ <div class="container">
+ <div class="title display-6">Learn More</div>
+ <hr class="my-4">
+ <div class="row">
+ <div class="col-6 col-xs-12">
+ <ul>
+ <li>
+ <a
href="http://localhost/features/collocatedprocessing.html">
+ Co-located processing <i class="fa
fa-angle-double-right"></i>
+ </a>
+ </li>
+ <li>
+ <a
href="https://apacheignite.readme.io/docs/compute-grid" target="docs">
+ Compute APIs <i class="fa
fa-angle-double-right"></i>
+ </a>
+ </li>
+ </ul>
+ </div>
+ <div class="col-6 col-xs-12">
+ <ul>
+ <li>
+ <a href="/features/machinelearning.html">
+ Machine and Deep Learning <i class="fa
fa-angle-double-right"></i>
+ </a>
+ </li>
+ <li>
+ <a href="/arch/multi-tier-storage.html">
+ Multi-Tier Storage <i class="fa
fa-angle-double-right"></i>
+ </a>
+ </li>
+ </ul>
+ </div>
+ </div>
</div>
- </div>
</div>
- </div>
-
-
-</div>
+
+
+ </div>
</article>
<!--#include virtual="/includes/footer.html" -->
<!--#include virtual="/includes/scripts.html" -->
Modified: ignite/site/branches/ignite-redisign/use-cases/in-memory-cache.html
URL:
http://svn.apache.org/viewvc/ignite/site/branches/ignite-redisign/use-cases/in-memory-cache.html?rev=1875388&r1=1875387&r2=1875388&view=diff
==============================================================================
--- ignite/site/branches/ignite-redisign/use-cases/in-memory-cache.html
(original)
+++ ignite/site/branches/ignite-redisign/use-cases/in-memory-cache.html Wed Mar
18 19:25:26 2020
@@ -33,7 +33,7 @@ under the License.
<!DOCTYPE html>
<html lang="en">
<head>
-<link rel="canonical"
href="https://ignite.apache.org/use-cases/in-memory-cache.html" />
+ <link rel="canonical"
href="https://ignite.apache.org/use-cases/in-memory-cache.html"/>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
@@ -51,130 +51,130 @@ under the License.
<!--#include virtual="/includes/header.html" -->
<article>
<div class="container">
- <h1 >In-Memory Cache <strong>With SQL,
<br />ACID Transactions and Compute APIs</strong></h1>
-
- <p>
- One of the usages of Apache Ignite is as a distributed
in-memory cache that supports ANSI SQL,
- ACID transactions, and co-located computations. From APIs
and sessions caching to databases and
- microservices acceleration, Ignite provides all essential
components required to speed up
- applications.
- </p>
-
- <img class="img-fluid diagram-right"
src="/images/in_memory_data.png"/>
-
- <p>
- As with classic distributed caches, you can span an Ignite
cluster across several interconnected
- physical or virtual machines letting it utilize all the
available memory and CPU resources. But the
- difference lies in the way you can use the cluster. In
addition to standard key-value APIs, you can
- run distributed SQL queries joining and grouping various data
sets. If strong consistency is required,
- you can execute multi-records and cross-cache ACID
transactions in both pessimistic and optimistic
- modes. Additionally, if an application runs compute or
data-intensive logic, you can minimize data
- shuffling and network utilization by running co-located
computations and distributed machine learning
- APIs right on the cluster nodes that store your data.
-
- </p>
-
- <p>
- There are two primary deployment strategies for Ignite as an
in-memory cache -- the cache-aside
- deployment and read-through/write-through caching. Let's
review both of them.
- </p>
-
-
- <h2>Cache-Aside Deployment</h2>
- <p>
- With the cache-aside deployment strategy, a cache is deployed
separately from the primary data store
- and might not even know that the latter exists. An application
or change-data-capture process (CDC)
- becomes responsible for data synchronization between these two
storage locations. For instance, if any
- record gets updated in the primary data store, then its new
value needs to be replicated to the cache.
- </p>
- <p>
- This strategy works well when the cached data is rather static
and not updated frequently, or temporary
- data lag/inconsistency is allowed between the two storage
locations. It's usually assumed that the
- cache and the primary store will become consistent eventually
when changes are replicated in full.
- </p>
- <p>
- If Apache Ignite is deployed in a cache-aside configuration,
then its native persistence can be used as
- a disk store for Ignite data sets. The native persistence
allows eliminating the time-consuming cache
- warm-up step. Furthermore, since the native persistence always
keeps a full copy of data on disk,
- you are free to cache a subset of records in memory. If a
required data record is missing in memory,
- then Ignite reads it from the disk automatically regardless of
the API you use -- be it SQL, key-value,
- or scan queries.
- </p>
-
- <h2>Read-Through/Write-Through Caching</h2>
- <p>
- The read-through/write-through caching strategy can also be
classified as an in-memory data grid type
- of deployment. When Apache Ignite is deployed as a data grid,
the application layer starts treating
- Ignite as the primary store. While the applications write to
and read from Ignite, the latter ensures
- that any underlying external databases stay updated and
consistent with the in-memory data.
- </p>
-
- <p>
- This strategy is favorable for architectures that need to
accelerate existing disk-based databases or
- create a shared caching layer across many disconnected data
sources. Ignite integrates with many
- databases out-of-the-box and can write-through or write-behind
all the changes to them. This also
- includes ACID transactions - Ignite will coordinate and commit
a transaction across its in-memory
- cluster as well as to a relational database.
- </p>
- <p>
- The read-through capability implies that a cache can read data
from an external database if a record is
- missing in memory. Ignite fully supports this capability for
key-value APIs. However, when using Ignite
- SQL, you have to preload the entire data set in memory first
(Ignite SQL can query data on
- disk only if it is located in its native persistence).
- </p>
-
-
- <div class="jumbotron jumbotron-fluid">
- <div class="container">
- <div class="display-6 title">Learn More</div>
- <hr class="my-4">
- <div class="row">
- <div class="col-6 col-xs-12">
- <ul>
- <li>
- <p> <a href="/features/sql.html">
- Distributed SQL <i class="fa fa-angle-double-right"></i>
- </a></p>
- </li>
- <li>
- <p><a href="/features/collocatedprocessing.html">
- Co-located Processing <i class="fa
fa-angle-double-right"></i>
- </a></p>
- </li>
- <li><p><a href="/features/transactions.html">
- ACID Transactions <i class="fa fa-angle-double-right"></i>
- </a></p></li>
- <li><p><a href="/arch/persistence.html">
- Native Persistence <i class="fa fa-angle-double-right"></i>
- </a></p></li>
- </ul>
- </div>
- <div class="col-6 col-xs-12">
- <ul>
- <li>
- <p><a href="/features/machinelearning.html">
- Machine and Deep Learning <i class="fa
fa-angle-double-right"></i>
- </a></p>
- </li>
- <li>
- <p><a href="/features/datagrid.html">
- Ignite as an In-Memory Data Grid <i class="fa
fa-angle-double-right"></i>
- </a></p>
- </li>
- <li><p><a
href="/use-cases/in-memory-database.html">
- Ignite as an In-Memory Database <i class="fa
fa-angle-double-right"></i>
- </a></p></li>
- <li><p><a href="/use-cases/dih.html">
- Ignite as a Digital Integration Hub <i class="fa
fa-angle-double-right"></i>
- </a></p></li>
- </ul>
+ <h1>In-Memory Cache <strong>With SQL, <br/>ACID Transactions and
Compute APIs</strong></h1>
+
+ <p>
+ Apache Ignite is used as a distributed in-memory cache that
supports ANSI SQL,
+ ACID transactions, co-located computations and machine learning
libraries. From APIs and sessions caching
+ to databases and microservices acceleration, Ignite provides all
essential components required to speed up
+ applications.
+ </p>
+
+ <img class="img-fluid diagram-right" src="/images/in_memory_data.png"/>
+
+ <p>
+ As with classic distributed caches, you can span an Ignite cluster
across several interconnected
+ physical or virtual machines letting it utilize all the available
memory and CPU resources. But the
+ difference lies in the way you can use the cluster. In addition to
standard key-value APIs, you can
+ run distributed SQL queries joining and grouping various data
sets. If strong consistency is required,
+ you can execute multi-records and cross-cache ACID transactions in
both pessimistic and optimistic
+ modes. Additionally, if an application runs compute or
data-intensive logic, you can minimize data
+ shuffling and network utilization by running co-located
computations and distributed machine learning
+ APIs right on the cluster nodes that store your data.
+
+ </p>
+
+ <p>
+ There are two primary deployment strategies for Ignite as an
in-memory cache -- the cache-aside
+ deployment and read-through/write-through caching. Let's review
both of them.
+ </p>
+
+
+ <h2>Cache-Aside Deployment</h2>
+ <p>
+ With the cache-aside deployment strategy, a cache is deployed
separately from the primary data store
+ and might not even know that the latter exists. An application or
change-data-capture process (CDC)
+ becomes responsible for data synchronization between these two
storage locations. For instance, if any
+ record gets updated in the primary data store, then its new value
needs to be replicated to the cache.
+ </p>
+ <p>
+ This strategy works well when the cached data is rather static and
not updated frequently, or temporary
+ data lag/inconsistency is allowed between the two storage
locations. It's usually assumed that the
+ cache and the primary store will become consistent eventually when
changes are replicated in full.
+ </p>
+ <p>
+ If Apache Ignite is deployed in a cache-aside configuration, then
its native persistence can be used as
+ a disk store for Ignite data sets. The native persistence allows
eliminating the time-consuming cache
+ warm-up step. Furthermore, since the native persistence always
keeps a full copy of data on disk,
+ you are free to cache a subset of records in memory. If a required
data record is missing in memory,
+ then Ignite reads it from the disk automatically regardless of the
API you use -- be it SQL, key-value,
+ or scan queries.
+ </p>
+
+ <h2>Read-Through/Write-Through Caching</h2>
+ <p>
+ The read-through/write-through caching strategy can also be
classified as an in-memory data grid type
+ of deployment. When Apache Ignite is deployed as a data grid, the
application layer starts treating
+ Ignite as the primary store. While the applications write to and
read from Ignite, the latter ensures
+ that any underlying external databases stay updated and consistent
with the in-memory data.
+ </p>
+
+ <p>
+ This strategy is favorable for architectures that need to
accelerate existing disk-based databases or
+ create a shared caching layer across many disconnected data
sources. Ignite integrates with many
+ databases out-of-the-box and can write-through or write-behind all
the changes to them. This also
+ includes ACID transactions - Ignite will coordinate and commit a
transaction across its in-memory
+ cluster as well as to a relational database.
+ </p>
+ <p>
+ The read-through capability implies that a cache can read data
from an external database if a record is
+ missing in memory. Ignite fully supports this capability for
key-value APIs. However, when using Ignite
+ SQL, you have to preload the entire data set in memory first
(Ignite SQL can query data on
+ disk only if it is located in its native persistence).
+ </p>
+
+
+ <div class="jumbotron jumbotron-fluid">
+ <div class="container">
+ <div class="display-6 title">Learn More</div>
+ <hr class="my-4">
+ <div class="row">
+ <div class="col-6 col-xs-12">
+ <ul>
+ <li>
+ <p><a href="/features/sql.html">
+ Distributed SQL <i class="fa
fa-angle-double-right"></i>
+ </a></p>
+ </li>
+ <li>
+ <p><a
href="/features/collocatedprocessing.html">
+ Co-located Processing <i class="fa
fa-angle-double-right"></i>
+ </a></p>
+ </li>
+ <li><p><a href="/features/transactions.html">
+ ACID Transactions <i class="fa
fa-angle-double-right"></i>
+ </a></p></li>
+ <li><p><a href="/arch/persistence.html">
+ Native Persistence <i class="fa
fa-angle-double-right"></i>
+ </a></p></li>
+ </ul>
+ </div>
+ <div class="col-6 col-xs-12">
+ <ul>
+ <li>
+ <p><a href="/features/machinelearning.html">
+ Machine and Deep Learning <i class="fa
fa-angle-double-right"></i>
+ </a></p>
+ </li>
+ <li>
+ <p><a href="/features/datagrid.html">
+ Ignite as an In-Memory Data Grid <i
class="fa fa-angle-double-right"></i>
+ </a></p>
+ </li>
+ <li><p><a
href="/use-cases/in-memory-database.html">
+ Ignite as an In-Memory Database <i class="fa
fa-angle-double-right"></i>
+ </a></p></li>
+ <li><p><a href="/use-cases/dih.html">
+ Ignite as a Digital Integration Hub <i
class="fa fa-angle-double-right"></i>
+ </a></p></li>
+ </ul>
+ </div>
+ </div>
</div>
- </div>
</div>
- </div>
-
-
- </div>
+
+
+ </div>
</article>
<!--#include virtual="/includes/footer.html" -->
Modified: ignite/site/branches/ignite-redisign/use-cases/in-memory-database.html
URL:
http://svn.apache.org/viewvc/ignite/site/branches/ignite-redisign/use-cases/in-memory-database.html?rev=1875388&r1=1875387&r2=1875388&view=diff
==============================================================================
--- ignite/site/branches/ignite-redisign/use-cases/in-memory-database.html
(original)
+++ ignite/site/branches/ignite-redisign/use-cases/in-memory-database.html Wed
Mar 18 19:25:26 2020
@@ -50,43 +50,41 @@ under the License.
</head>
<body>
- <!--#include virtual="/includes/header.html" -->
+<!--#include virtual="/includes/header.html" -->
<article>
<div class="container">
- <h1 >In-Memory Database <strong>With Multi-Tier Storage</strong></h1>
+ <h1>In-Memory Database <strong>With Multi-Tier Storage</strong></h1>
<img class="diagram-right img-responsive"
src="/images/sql_database.png" width="400px" style="float:right;"/>
<p>
- Apache Ignite, as an in-memory database, is a high-performant
system-of-records that is capable
- of storing and querying large data sets from memory as well as
disk without requiring to warm up
- the memory tier on cluster restarts.
- </p>
- <p>
- Ignite serves as a distributed database that scales horizontally
across memory and disk tiers
- and supports ACID transactions, ANSI SQL, key-value, compute,
machine learning, and other data
- processing APIs.
- </p>
-
-
-
- <h2>Multi-Tier Storage</h2>
- <p>
- Apache Ignite is designed to work with memory, disk, and
Intel® Optane⢠as active storage tiers.
- Such architecture lets you combine the advantages of in-memory
computing with disk durability and
- strong consistency in one system.
- </p>
- <p>
- When the native persistence is enabled, Ignite allows you to
control the amount of memory it should
- consume. Depending on the memory space available, Ignite
either caches the full data set in memory or
- keeps only the most frequently used data there and retrieves
missing records from disk when needed.
- For instance, if there are 100 records and the memory of your
system can accommodate only 20 of them,
- then all 100 records will be stored on disk and only 20
records will be cached in memory for better
- performance.
- </p>
-
- <p>
- The following are the primary advantages of Ignite memory
management architecture:
- </p>
- <ul class="page-list" >
+ Apache Ignite is used as a distributed in-memory database that
scales horizontally across memory and disk
+ tiers and supports ACID transactions, ANSI SQL, key-value,
compute, machine learning, and other data
+ processing APIs. As a database, Ignite uses memory, disk or Intel
Optane as active storage tiers with
+ no need for caching of all the data and memory warm-ups.
+ </p>
+
+ <p>
+
+ </p>
+
+ <h2>Multi-Tier Storage</h2>
+ <p>
+ Apache Ignite is designed to work with memory, disk, and Intel®
Optane⢠as active storage tiers.
+ Such architecture lets you combine the advantages of in-memory
computing with disk durability and
+ strong consistency in one system.
+ </p>
+ <p>
+ When the native persistence is enabled, Ignite allows you to
control the amount of memory it should
+ consume. Depending on the memory space available, Ignite either
caches the full data set in memory or
+ keeps only the most frequently used data there and retrieves
missing records from disk when needed.
+ For instance, if there are 100 records and the memory of your
system can accommodate only 20 of them,
+ then all 100 records will be stored on disk and only 20 records
will be cached in memory for better
+ performance.
+ </p>
+
+ <p>
+ The following are the primary advantages of Ignite memory
management architecture:
+ </p>
+ <ul class="page-list">
<li>
Multi-tiered storage - Ignite treats disk as an active storage
layer allowing to
cache a subset of the data in memory and query both in-memory
and disk-only records with SQL and
@@ -125,32 +123,41 @@ under the License.
<div class="jumbotron jumbotron-fluid">
<div class="container">
- <div class="title display-6">Learn More</div>
- <hr class="my-4">
- <div class="row">
- <div class="col-6 col-xs-12">
- <ul>
- <li><a
href="/arch/multi-tier-storage.html"><b>Multi-Tier Storage <i class="fa
fa-angle-double-right"></i></b></a></li>
- <li><a href="/arch/persistence.html"><b>Native
Persistence <i class="fa fa-angle-double-right"></i></b></a></li>
- <li><a
href="/features/collocatedprocessing.html"><b>Co-located Processing <i
class="fa fa-angle-double-right"></i></b></a></li>
- <li><a href="/features/sql.html"><b>Distributed SQL <i
class="fa fa-angle-double-right"></i></b></a></li>
- <li><a href="/features/transactions.html"><b>ACID
Transactions <i class="fa fa-angle-double-right"></i></b></a></li>
- </ul>
- </div>
- <div class="col-6 col-xs-12">
- <ul>
- <li><a
href="/features/machinelearning.html"><b>Machine and Deep Learning <i class="fa
fa-angle-double-right"></i></b></a></li>
- <li><a href="/features/datagrid.html"><b>Ignite as an
In-Memory Data Grid <i class="fa fa-angle-double-right"></i></b></a></li>
- <li><a
href="/use-cases/in-memory-cache.html"><b>Ignite as an In-Memory Cache <i
class="fa fa-angle-double-right"></i></b></a></li>
- <li><a href="/use-cases/dih.html"><b>Ignite as a
Digital Integration Hub <i class="fa fa-angle-double-right"></i></b></a></li>
- </ul>
+ <div class="title display-6">Learn More</div>
+ <hr class="my-4">
+ <div class="row">
+ <div class="col-6 col-xs-12">
+ <ul>
+ <li><a
href="/arch/multi-tier-storage.html"><b>Multi-Tier Storage <i
+ class="fa
fa-angle-double-right"></i></b></a></li>
+ <li><a href="/arch/persistence.html"><b>Native
Persistence <i
+ class="fa
fa-angle-double-right"></i></b></a></li>
+ <li><a
href="/features/collocatedprocessing.html"><b>Co-located Processing <i
+ class="fa
fa-angle-double-right"></i></b></a></li>
+ <li><a href="/features/sql.html"><b>Distributed
SQL <i class="fa fa-angle-double-right"></i></b></a>
+ </li>
+ <li><a href="/features/transactions.html"><b>ACID
Transactions <i
+ class="fa
fa-angle-double-right"></i></b></a></li>
+ </ul>
+ </div>
+ <div class="col-6 col-xs-12">
+ <ul>
+ <li><a
href="/features/machinelearning.html"><b>Machine and Deep Learning <i
+ class="fa
fa-angle-double-right"></i></b></a></li>
+ <li><a href="/features/datagrid.html"><b>Ignite as
an In-Memory Data Grid <i
+ class="fa
fa-angle-double-right"></i></b></a></li>
+ <li><a
href="/use-cases/in-memory-cache.html"><b>Ignite as an In-Memory Cache <i
+ class="fa
fa-angle-double-right"></i></b></a></li>
+ <li><a href="/use-cases/dih.html"><b>Ignite as a
Digital Integration Hub <i
+ class="fa
fa-angle-double-right"></i></b></a></li>
+ </ul>
+ </div>
</div>
</div>
- </div>
- </div>
</div>
- </article>
- <!--#include virtual="/includes/footer.html" -->
+ </div>
+</article>
+<!--#include virtual="/includes/footer.html" -->
<!--#include virtual="/includes/scripts.html" -->
</body>