<!--
▄▄▄       ██▓███   ▄▄▄       ▄████▄   ██░ ██ ▓█████     ██▓  ▄████  ███▄    █  ██▓▄▄▄█████▓▓█████
▒████▄    ▓██░  ██▒▒████▄    ▒██▀ ▀█  ▓██░ ██▒▓█   ▀    ▓██▒ ██▒ ▀█▒ ██ ▀█   █ ▓██▒▓  ██▒ ▓▒▓█   ▀
▒██  ▀█▄  ▓██░ ██▓▒▒██  ▀█▄  ▒▓█    ▄ ▒██▀▀██░▒███      ▒██▒▒██░▄▄▄░▓██  ▀█ ██▒▒██▒▒ ▓██░ ▒░▒███
░██▄▄▄▄██ ▒██▄█▓▒ ▒░██▄▄▄▄██ ▒▓▓▄ ▄██▒░▓█ ░██ ▒▓█  ▄    ░██░░▓█  ██▓▓██▒  ▐▌██▒░██░░ ▓██▓ ░ ▒▓█  ▄
▓█   ▓██▒▒██▒ ░  ░ ▓█   ▓██▒▒ ▓███▀ ░░▓█▒░██▓░▒████▒   ░██░░▒▓███▀▒▒██░   ▓██░░██░  ▒██▒ ░ ░▒████▒
▒▒   ▓▒█░▒▓▒░ ░  ░ ▒▒   ▓▒█░░ ░▒ ▒  ░ ▒ ░░▒░▒░░ ▒░ ░   ░▓   ░▒   ▒ ░ ▒░   ▒ ▒ ░▓    ▒ ░░   ░░ ▒░ ░
 ▒   ▒▒ ░░▒ ░       ▒   ▒▒ ░  ░  ▒    ▒ ░▒░ ░ ░ ░  ░    ▒ ░  ░   ░ ░ ░░   ░ ▒░ ▒ ░    ░     ░ ░  ░
 ░   ▒   ░░         ░   ▒   ░         ░  ░░ ░   ░       ▒ ░░ ░   ░    ░   ░ ░  ▒ ░  ░         ░
     ░  ░               ░  ░░ ░       ░  ░  ░   ░  ░    ░        ░          ░  ░              ░  ░
-->

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<!DOCTYPE html>
<html lang="en">
<head>

    <link rel="canonical" href="https://ignite.apache.org/arch/multi-tier-storage.html"/>
    <!--#include virtual="/includes/scriptshead.html" -->
<meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate"/>
    <meta http-equiv="Pragma" content="no-cache"/>
    <meta http-equiv="Expires" content="0"/>

    <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
          provide the speed of memory with the consistency of disk-based databases without the need for memory
          warm-ups on restarts."/>

    <!--#include virtual="/includes/styles.html" -->

    
</head>
<body>

    <!--#include virtual="/includes/header.html" -->
<article>
    <header>
        <div class="container">
            <h1>Apache Ignite <strong>Multi-Tier Storage</strong></h1>
        </div>
    </header>
    <div class="container">

        <p>
            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.
        </p>
       
        <img class="img-responsive diagram-right" src="/images/svg-diagrams/ignite_cluster.svg" alt="Apache Ignite Multi-Tier Storage diagram" />
        <p>
            Ignite takes full control of its memory tier by allocating and managing off-heap regions. Each Ignite
            server node allocates memory regions during bootstrap, splits the regions into pages, and keeps data
            records with indexes in those pages. Java heap is used to keep temporary objects such as query result
            sets, metrics samples, and objects generated by your application code. All these objects are garbage
            collected eventually.
        </p>
        <p>
            If you select native persistence as the disk tier, then most of the processing will still take place
            in memory on cached data, but with a full copy stored on disk. If any record is missing in memory,
            Ignite will read it from disk, allowing you to persist much larger data sets than you can cache in memory.
            This also eliminates the need for time-consuming memory warm-ups on restarts. As soon as your cluster
            reconnects after a restart, Ignite will serve most of the data from disk warming up the memory tier in
            the background.
        </p>

        <h2>Multi-Tier Storage Usage Modes</h2>
            
        <table class="table table-bordered table-striped" name="Deployment Options Features">
                <thead>
                <tr>
                    <th width="35%" class="left">Mode</th>
                    <th>Description</th>
                </tr>
                </thead>
                <tbody>
                <tr>
                    <td class="left">In-Memory</td>
                    <td>
                        <p>
                            The whole data set is available in memory only. In order to survive node failures, we
                            recommend keeping at least one backup copy of the data in the cluster. DRAM or
                            Intel® Optane™ operating in the Memory Mode can be used as a storage device.
                        </p>

                        <p>
                            <strong>Use cases</strong>: General in-memory caching, high-performance
                            computing, web-session caching, real-time processing of continuous data streams.
                        </p>
                    </td>
                </tr>
                <tr>
                    <td class="left">In-Memory + External Database</td>
                    <td>
                        <p>
                            Ignite is deployed as a distributed caching layer on top of an existing external database.
                            This mode is for accelerating disk-based databases and your services with APIs that
                            interact with them.
                        </p>

                        <p>
                            <strong>Use cases</strong>: Acceleration of services and APIs with write-through and
                            write-behind capability, to an external database.
                        </p>
                    </td>
                </tr>
                <tr>
                    <td class="left">In-Memory Cache + Native Persistence</td>
                    <td>
                        <p>
                            100% of data is persisted to disk, and the same or smaller amount is cached in memory. The
                            more data is cached, the faster is the performance. The disk serves as the primary storage
                            that survives any cluster failures and restarts. There is no need for memory warm-ups on
                            restarts since Ignite can serve data from disk. SSD, Flash, HDD or Intel® Optane™ operating
                            in the AppDirect Mode can be used as a storage device.
                        </p>

                        <p>
                            <strong>Use cases</strong>: Ignite as an in-memory database or digital integration hub
                            with the active persistence layer.
                        </p>
                    </td>
                </tr>
                </tbody>
            </table>

            <h2 id="partitioning">
                Partitioning &amp; Replication
            </h2>
            <p>
                Depending on the configuration, Ignite can both partition or replicate data across the cluster. In the
                replicated mode, each cluster node keeps a full copy of the data, but the size of a replicated cache is
                limited by the amount of memory available on the node. In the partitioned mode, Ignite spreads the data
                across all the cluster nodes evenly, allowing you to store much more than what can fit in a single machine.
            </p>

            <h2 id="durability">
                Durability and Consistency
                
            </h2>
            <p>
                Ignite provides the following ACID guarantees across the cluster:
            </p>

            <ul >
                <li>Committed transactions always survive failures.</li>
                <li>
                    The cluster can always be recovered to the latest successfully committed transaction.
                </li>
            </ul>


            <h2 id="write-ahead-log">
                Write-Ahead Logging and Checkpointing
                
            </h2>
            <p>
                If Ignite native persistence is selected as a disk tier, then every time a record is updated in memory,
                the change is added to the write-ahead log (WAL). The purpose of the WAL is to propagate updates to disk
                in the fastest way possible and provide a consistent recovery mechanism that supports full cluster failures.
            </p>

            <p>
                As the WAL grows, it periodically gets checkpointed to the main storage. Checkpointing is the process of
                copying dirty pages from the memory tier to the partition files on disk. A dirty page is a page that was
                updated in memory, was appended to WAL, but was not written to the respective partition file on disk yet.
            </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-sm-6">
                      <ul>
                        <li>
                          <p><a href="https://cwiki.apache.org/confluence/display/IGNITE/Ignite+Durable+Memory+-+under+the+hood" target="docs">Multi-Tier Storage Implementation Details <i class="fas fa-angle-double-right"></i></a></p>
                        </li>
                        <li>
                          <p><a href="/arch/native-persistence.html"> Native Persistence <i class="fas fa-angle-double-right"></i></a></p>
                        </li>
                        <li>
                          <p><a href="/use-cases/in-memory-data-grid.html"> Ignite as an In-Memory Data Grid <i class="fas fa-angle-double-right"></i></a></p>
                        </li>
                      </ul>
                    </div>
                    <div class="col-sm-6">
                      <ul>
                        <li>
                          <p><a href="/use-cases/in-memory-database.html"> Ignite as an In-Memory Database <i class="fas fa-angle-double-right"></i></a></p>
                        </li>
                        <li>
                          <p><a href="/use-cases/digital-integration-hub.html"> Ignite as a Digital Integration Hub <i class="fas fa-angle-double-right"></i></a></p>
                        </li>
                        <li>
                          <p><a href="/use-cases/high-performance-computing.html"> Ignite for High Performance Computing <i class="fas fa-angle-double-right"></i></a></p>
                        </li>
                      </ul>
                    </div>
                  </div>
                </div>
              </div>
            </div>
            </article>

    <!--#include virtual="/includes/footer.html" -->

<!--#include virtual="/includes/scripts.html" -->
</body>
</html>
