Text updates.
git-svn-id: https://svn.apache.org/repos/asf/ignite/site/branches/ignite-7061@1825264 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/download.html b/download.html
index ccf86d0..c9a7ede 100644
--- a/download.html
+++ b/download.html
@@ -232,7 +232,7 @@
<li class="divider">
<!--Database-->
- <li role="presentation" class="submenu-header">Database</li>
+ <li role="presentation" class="submenu-header">Data Store</li>
<li><a href="/use-cases/database/distributed-database.html"
onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'distributed-database');">
Distributed Database</a>
@@ -252,20 +252,8 @@
</li>
<li class="divider">
- <!-- Comparison -->
- <li role="presentation" class="submenu-header">Comparison</li>
- <li><a href="/use-cases/comparison/ignite-for-nosql.html"
- onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'ignite-for-nosql');">
- Ignite for NoSQL Users</a>
- </li>
- <li><a href="/use-cases/comparison/ignite-for-rdbms.html"
- onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'ignite-for-rdbms');">
- Ignite for RDBMS Users</a>
- </li>
- <li class="divider">
-
- <!--In-Memory Caching-->
- <li role="presentation" class="submenu-header">In-Memory Caching</li>
+ <!--In-Memory Caching-->
+ <li role="presentation" class="submenu-header">In-Memory Cache</li>
<li><a href="/use-cases/caching/database-caching.html"
onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'database-caching');">
Database Caching</a>
@@ -284,7 +272,19 @@
</li>
<li class="divider">
- <!--Ignite with Spark & Hadoop-->
+ <!-- Comparison -->
+ <li role="presentation" class="submenu-header">Comparison</li>
+ <li><a href="/use-cases/comparison/ignite-for-nosql.html"
+ onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'ignite-for-nosql');">
+ Ignite for NoSQL Users</a>
+ </li>
+ <li><a href="/use-cases/comparison/ignite-for-rdbms.html"
+ onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'ignite-for-rdbms');">
+ Ignite for RDBMS Users</a>
+ </li>
+ <li class="divider">
+
+ <!--Ignite with Spark & Hadoop-->
<li role="presentation" class="submenu-header">Ignite with Spark & Hadoop</li>
<li><a href="/use-cases/spark/shared-memory-layer.html"
onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'shared-memory-layer');">
diff --git a/features/datagrid.html b/features/datagrid.html
index f6cc59a..b223599 100644
--- a/features/datagrid.html
+++ b/features/datagrid.html
@@ -58,11 +58,11 @@
<div class="col-sm-12 col-md-12 col-xs-12" style="padding:0 0 20px 0;">
<div class="col-sm-6 col-md-6 col-xs-12" style="padding-left:0; padding-right:0">
<p>
- Ignite can be accessed with simple key-value APIs and, thus, act as a in-memory data grid.
- In this scenario, you can think of Ignite as of a distributed partitioned hash map with every
+ Ignite provides extensive and rich key-value APIs and can act as an in-memory data grid.
+ You can think of Ignite as of a distributed partitioned hash map with every
cluster node owning a portion of the overall data set. Unlike other in-memory data grids (IMDG),
Ignite enables storing data both, in memory and on disk, and
- therefore is able to store more data than can fit in physical memory.
+ therefore is able to store more data than can fit in the physical memory.
</p>
<p>
Ignite data grid is one of the fastest implementations of ACID transactions or
@@ -74,11 +74,19 @@
</div>
</div>
+ <div class="page-heading">3rd Party Databases</div>
<p>
- The in-memory data grid can also improve performance and scalability by integrating with existing 3rd party
- databases, like RDBMS, NoSQL, or Hadoop-based storages. This approach does not require
- rip-and-replace of the existing data, but has its limitations. For example, SQL or scan queries will only include the
- results stored in memory, and not in the external database, since Ignite does not have any knowledge of the external data.
+ Inite in-memory data grid can improve performance and scalability of existing 3rd party databases, like RDBMS,
+ NoSQL, or Hadoop-based storages, by sliding in as a distribute cache between the application and database layers. This approach does not require
+ rip-and-replace of the existing data, and will automatically write-through or read-through all the updates
+ or reads to or from the underlying database. Ignite will automatically merge with the underlying database
+ transactions, providing transparent transactional behavior to the users.
+ </p>
+ <p>
+ However, this approach also has its limitations. For example, SQL or scan queries will only include the
+ results stored in memory, and not in the external database, since Ignite cannot index the external data.
+ If you require that data on disk should be indexed and accessible via SQL queries, we recommend that you look at
+ <a href="/arch/persistence.html">Ignite native persistence</a>.
</p>
<div class="page-heading">JCache APIs</div>
diff --git a/includes/header.html b/includes/header.html
index 1bdb6ef..93088e4 100644
--- a/includes/header.html
+++ b/includes/header.html
@@ -160,7 +160,7 @@
<li class="divider">
<!--Database-->
- <li role="presentation" class="submenu-header">Database</li>
+ <li role="presentation" class="submenu-header">Data Store</li>
<li><a href="/use-cases/database/distributed-database.html"
onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'distributed-database');">
Distributed Database</a>
@@ -180,20 +180,8 @@
</li>
<li class="divider">
- <!-- Comparison -->
- <li role="presentation" class="submenu-header">Comparison</li>
- <li><a href="/use-cases/comparison/ignite-for-nosql.html"
- onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'ignite-for-nosql');">
- Ignite for NoSQL Users</a>
- </li>
- <li><a href="/use-cases/comparison/ignite-for-rdbms.html"
- onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'ignite-for-rdbms');">
- Ignite for RDBMS Users</a>
- </li>
- <li class="divider">
-
- <!--In-Memory Caching-->
- <li role="presentation" class="submenu-header">In-Memory Caching</li>
+ <!--In-Memory Caching-->
+ <li role="presentation" class="submenu-header">In-Memory Cache</li>
<li><a href="/use-cases/caching/database-caching.html"
onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'database-caching');">
Database Caching</a>
@@ -212,6 +200,18 @@
</li>
<li class="divider">
+ <!-- Comparison -->
+ <li role="presentation" class="submenu-header">Comparison</li>
+ <li><a href="/use-cases/comparison/ignite-for-nosql.html"
+ onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'ignite-for-nosql');">
+ Ignite for NoSQL Users</a>
+ </li>
+ <li><a href="/use-cases/comparison/ignite-for-rdbms.html"
+ onclick="ga('send', 'event', 'apache_ignite_usecases', 'menu_click', 'ignite-for-rdbms');">
+ Ignite for RDBMS Users</a>
+ </li>
+ <li class="divider">
+
<!--Ignite with Spark & Hadoop-->
<li role="presentation" class="submenu-header">Ignite with Spark & Hadoop</li>
<li><a href="/use-cases/spark/shared-memory-layer.html"
diff --git a/use-cases/database/distributed-database.html b/use-cases/database/distributed-database.html
index 5d72490..9a5ef11 100644
--- a/use-cases/database/distributed-database.html
+++ b/use-cases/database/distributed-database.html
@@ -58,8 +58,8 @@
compute, machine learning and other data processing APIs.
</p>
<p>
- Regardless of the API you decide to use, the data is always stored in a form of key-value pairs
- across the cluster. The underlying key-value store distributes the data evenly guaranteeing that
+ Regardless of the API you decide to use, the data is always stored off-heap in the cluster-aware
+ page-based storage which tries to evenly distribute the data, guaranteeing that
every cluster node will own a portion of the overall data set.
</p>
<p>
@@ -67,9 +67,11 @@
<a href="/arch/persistence.html">Ignite Native Persistence</a> is enabled.
</p>
<p>
- Ignite Persistent Store is a distributed ACID and SQL-compliant disk store that transparently
- integrates with Ignite's durable memory as an optional disk layer storing data and indexes on
- SSD, Flash, 3D XPoint, and other types of non-volatile storages.
+ Ignite native persistent store utilizes disk to allow Ignite users store and process
+ more data than can fit in memory. It also adds extra resiliency and crash recovery capabilities
+ and supports full cluster restarts without loosing data. Moreover, when persistence is turned on,
+ the cluster restarts are almost instantaneous, as Ignite becomes immediately operational from
+ disk without having to preload all the data in memory.
</p>
</div>
@@ -80,41 +82,42 @@
<div class="page-heading">SQL</div>
<p>
- Ignite complies with SQL ANSI-99 standard supporting all <b>SQL</b> and <b>DML</b> commands,
+ Ignite is ANSI-99 compliant, supporting most <b>SQL</b> and <b>DML</b> commands,
including SELECT, UPDATE, INSERT, MERGE, DELETE statements and distributed joins. It also provides
- support for a subset of <b>DDL</b> commands relevant for distributed SQL databases.
+ support for a subset of <b>DDL</b> commands, including CREATE and ALTER commands for tables and indexes.
</p>
<div class="page-heading">Key-value</div>
<p>
- Apache Ignite key-value APIs are compliant with <a href="/use-cases/caching/jcache-provider.html">
- JCache (JSR 107)</a> specification and provide extended features built on top such as
- distributed ACID transactions, scan and continuous queries, collocated processing.
+ Ignite can be used ad a distributed key-value store, supporting all map-like key-value operations, including
+ concurrent CAS operations. It also provides rich support for distributed ACID transactions, continuous
+ queries, collocated processing and more. Ignite key-value store is fully compliant with
+ <a href="/use-cases/caching/jcache-provider.html">JCache (JSR 107)</a> specification.
</p>
<div class="page-heading">Collocated Processing</div>
<p>
- The disk-centric systems, like RDBMS or NoSQL, generally utilize the classic client-server
- approach, where the data is brought from the server to the client side where it gets processed
- and then is usually discarded. This approach does not scale well as moving the data over the
+ Most disk-centric databases, like RDBMS or NoSQL, generally utilize the classic client-server
+ approach, where the data is brought from the server to the client where it gets processed
+ and then discarded. This approach does not scale well as moving the data over the
network is the most expensive operation in a distributed system.
</p>
<p>
A much more scalable approach is <a href="/features/collocatedprocessing.html">
collocated processing</a> that reverses the flow by bringing the computations to the servers where
the data actually resides. This approach allows you to execute advanced logic or distributed SQL
- with JOINs exactly where the data is stored avoiding expensive serialization and network trips.
+ with JOINs exactly where the data is stored, avoiding expensive serialization and network trips.
</p>
<div class="page-heading">Partitioning & Replication</div>
<p>
Depending on the configuration, Ignite can either partition or replicate data.
Unlike <code>REPLICATED</code> mode, where data is fully replicated across all nodes
in the cluster, in <code>PARTITIONED</code> mode Ignite will equally split the data across
- multiple cluster nodes, allowing for staring TBs of data both in memory and on disk.
+ multiple cluster nodes, allowing for storing Terabytes of data in memory and on disk.
</p>
<div class="page-heading">Redundancy</div>
<p>
- Ignite also allows to configure multiple <b>backup copies</b> to guarantee data resiliency
- in case of failures.
+ Ignite also allows to configure multiple <b>backup copies</b> guaranteeing data resiliency
+ in case of individual node or server failures.
</p>
<div class="page-heading">Consistency</div>
<p>
diff --git a/use-cases/database/in-memory-database.html b/use-cases/database/in-memory-database.html
index a39e1c5..f3c0415 100644
--- a/use-cases/database/in-memory-database.html
+++ b/use-cases/database/in-memory-database.html
@@ -54,20 +54,20 @@
<div class="col-sm-12 col-md-12 col-xs-12" style="padding:0 0 10px 0;">
<div class="col-sm-6 col-md-6 col-xs-12" style="padding-left:0; padding-right:0">
<p>
- Apache Ignite can be used as a distributed and horizontally scalable
+ Ignite can be used as a distributed and horizontally scalable
<code>in-memory database</code> (IMDB) that supports ACID transactions and
can be used with SQL, key-value, compute, machine learning and other data processing APIs.
</p>
<p>
- With Ignite <a href="/arch/durablememory.html">durable memory</a>
- architecture, data and indexes can be stored both, in memory and on disk. The disk persistence
- is optional. When persistence is turned on, Ignite can store more data than fits in the available memory, and
+ Ignite <a href="/arch/durablememory.html">durable memory</a>
+ architecture allows to store data and indexes both, in memory and on disk. The disk persistence
+ is optional. When persistence is turned on, Ignite can store more data than can fit in the available memory, and
will act as a complete <a href="/use-cases/database/distributed-database.html">distributed SQL database</a>.
</p>
<p>
In scenarios when the whole data set and indexes fit in memory, and the persistence is disabled,
- Ignite will function as a pure <code>in-memory database</code> supporting SQL, together with
- all the existing APIs for pure in-memory use cases.
+ Ignite will function as an <code>in-memory database</code> supporting SQL, together with
+ all the existing APIs for memory-only use cases.
</p>
</div>
<div class="col-sm-6 col-md-5 col-xs-12" style="padding-right:0">