| <!-- |
| ▄▄▄ ██▓███ ▄▄▄ ▄████▄ ██░ ██ ▓█████ ██▓ ▄████ ███▄ █ ██▓▄▄▄█████▓▓█████ |
| ▒████▄ ▓██░ ██▒▒████▄ ▒██▀ ▀█ ▓██░ ██▒▓█ ▀ ▓██▒ ██▒ ▀█▒ ██ ▀█ █ ▓██▒▓ ██▒ ▓▒▓█ ▀ |
| ▒██ ▀█▄ ▓██░ ██▓▒▒██ ▀█▄ ▒▓█ ▄ ▒██▀▀██░▒███ ▒██▒▒██░▄▄▄░▓██ ▀█ ██▒▒██▒▒ ▓██░ ▒░▒███ |
| ░██▄▄▄▄██ ▒██▄█▓▒ ▒░██▄▄▄▄██ ▒▓▓▄ ▄██▒░▓█ ░██ ▒▓█ ▄ ░██░░▓█ ██▓▓██▒ ▐▌██▒░██░░ ▓██▓ ░ ▒▓█ ▄ |
| ▓█ ▓██▒▒██▒ ░ ░ ▓█ ▓██▒▒ ▓███▀ ░░▓█▒░██▓░▒████▒ ░██░░▒▓███▀▒▒██░ ▓██░░██░ ▒██▒ ░ ░▒████▒ |
| ▒▒ ▓▒█░▒▓▒░ ░ ░ ▒▒ ▓▒█░░ ░▒ ▒ ░ ▒ ░░▒░▒░░ ▒░ ░ ░▓ ░▒ ▒ ░ ▒░ ▒ ▒ ░▓ ▒ ░░ ░░ ▒░ ░ |
| ▒ ▒▒ ░░▒ ░ ▒ ▒▒ ░ ░ ▒ ▒ ░▒░ ░ ░ ░ ░ ▒ ░ ░ ░ ░ ░░ ░ ▒░ ▒ ░ ░ ░ ░ ░ |
| ░ ▒ ░░ ░ ▒ ░ ░ ░░ ░ ░ ▒ ░░ ░ ░ ░ ░ ░ ▒ ░ ░ ░ |
| ░ ░ ░ ░░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ |
| --> |
| |
| <!-- |
| 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/whatisignite.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>What is Apache Ignite</title> |
| <meta name="description" content="Apache Ignite components and facts: in-memory and persistent modes, distributed SQL |
| database, in-memory data grid, in-memory database, ACID transactions, collocated processing, and more..."/> |
| <!--#include virtual="/includes/styles.html" --> |
| |
| <!--#include virtual="/includes/sh.html" --> |
| </head> |
| <body> |
| <!--#include virtual="/includes/header.html" --> |
| <article> |
| <header> <div class="container"> |
| |
| <h1>IGNITE <strong>FACTS</strong></h1> |
| </div> |
| </header> |
| <div class="container"> |
| |
| <div class="row"> |
| <div class="col-md-6 fact-question"> |
| |
| <h3 class="ignite-facts-question">Is Ignite a distributed cache?</h3> |
| <p> |
| <strong>Yes</strong>. When native persistence is disabled, Ignite becomes a distributed in-memory cache |
| with support for JCache specification (JSR 107), distributed ACID transactions, |
| SQL queries, on-disk persistence, and more. |
| </p> |
| <p>Read more: <a href="/use-cases/caching/database-caching.html" aria-label="Database Caching">Database Caching</a></p> |
| </div> |
| |
| <div class="col-md-6 fact-question"> |
| <h3 class="ignite-facts-question">Is Ignite a distributed database?</h3> |
| <p> |
| <strong>Yes</strong>. Ignite is a strongly consistent distributed database. Data in Ignite is |
| stored in-memory and/or on-disk and is either partitioned or replicated across a cluster of |
| multiple nodes. This provides for scalability, performance, and resiliency. |
| </p> |
| <p>Read more: <a href="/use-cases/database/distributed-database.html" aria-label="Distributed Database">Distributed Database</a></p> |
| </div> |
| |
| <div class="col-md-6 fact-question"> |
| <h3 class="ignite-facts-question">Is Ignite an in-memory database?</h3> |
| <p> |
| <strong>Yes</strong>. Even though Ignite memory-centric storage works well in-memory and on-disk, the disk |
| persistence can be disabled and Ignite can act as a distributed in-memory database, with |
| support for SQL and distributed joins. |
| </p> |
| <p>Read more: <a href="/use-cases/database/in-memory-database.html" aria-label="In-Memory Database">In-Memory Database</a></p> |
| </div> |
| |
| <div class="col-md-6 fact-question"> |
| <h3 class="ignite-facts-question">Is Ignite an in-memory data grid?</h3> |
| <p> |
| <strong>Yes</strong>. Ignite is a full-featured distributed key-value data grid, which can be used either in |
| memory-only mode or with Ignite native persistence. It can also automatically integrate with any 3rd party databases, |
| including any RDBMS or NoSQL stores. |
| </p> |
| <p>Read more: <a href="/use-cases/datagrid.html" aria-label="In-Memory DataGrid">In-Memory Data Grid</a></p> |
| </div> |
| |
| <div class="col-md-6 fact-question"> |
| <h3 class="ignite-facts-question">Is Ignite an SQL database?</h3> |
| <p> |
| <strong>Not fully</strong>. Although Ignite aims to behave like any other relational SQL database, |
| there are differences in how Ignite handles constraints and indexes. Ignite supports primary and |
| secondary indexes, however, the uniqueness can only be enforced for the primary indexes. |
| Ignite also does not support foreign key constraints. |
| </p> |
| <p>Read more: <a href="/use-cases/database/sql-database.html" aria-label="SQL Database">SQL Database</a></p> |
| </div> |
| |
| <div class="col-md-6 fact-question"> |
| <h3 class="ignite-facts-question">Is Ignite a disk or memory-only storage?</h3> |
| <p> |
| <strong>Both</strong>. Native persistence in Ignite can be turned on and off. This allows Ignite to store |
| data sets bigger than can fit in the available memory. Essentially, smaller operational data sets |
| can be stored in-memory only, and larger data sets that do not fit in memory can be stored on disk, |
| using memory as a caching layer for better performance. |
| </p> |
| <p>Read more: <a href="/arch/persistence.html" target="_blank" rel="noopener" aria-label="Persistence">Native Persistence</a></p><br/><br/> |
| </div> |
| |
| <div class="col-md-6 fact-question"> |
| <h3 class="ignite-facts-question">Is Ignite a NoSQL database?</h3> |
| <p> |
| <strong>Not exactly</strong>. Just like other NoSQL databases, Ignite is highly available and |
| horizontally scalable. However, unlike other NoSQL databases, Ignite supports SQL and ACID transactions |
| across multiple cluster nodes. |
| </p> |
| <p>Read more: <a href="/use-cases/comparison/ignite-for-nosql.html" aria-label="Ignite for NoSQL">Ignite for NoSQL</a></p> |
| </div> |
| |
| <div class="col-md-6 fact-question"> |
| <h3 class="ignite-facts-question">Is Ignite a transactional database?</h3> |
| <p> |
| <strong>Not fully</strong>. ACID Transactions are supported, but only at key-value API level. |
| Ignite also supports cross-partition transactions, which means that transactions can span keys |
| residing in different partitions on different servers. <br/> <br/> |
| At SQL level Ignite supports atomic, but not yet transactional consistency. |
| SQL transactions implementation is already |
| <a href="https://cwiki.apache.org/confluence/display/IGNITE/IEP-3%3A+Transactional+SQL" target="_blank" rel="noopener" aria-label="in the works">in the works</a> |
| and will be released in one of the upcoming versions. |
| </p> |
| <p>Read more: <a href="https://apacheignite.readme.io/docs/transactions" aria-label="Transactions">ACID Transactions</a></p> |
| </div> |
| |
| <div class="col-md-6 fact-question"> |
| <h3 class="ignite-facts-question">Is Ignite a multi-model database?</h3> |
| <p> |
| <strong>Yes</strong>. Ignite supports both, key-value and SQL for modelling and accessing data. |
| In addition, Ignite provides strong processing APIs for computing on distributed data. |
| </p> |
| <p>Read more: <a href="/use-cases/database/distributed-database.html" aria-label="Distributed Database">Distributed Database</a></p> |
| </div> |
| |
| <div class="col-md-6 fact-question"> |
| <h3 class="ignite-facts-question">Is Ignite a key-value store?</h3> |
| <p> |
| <strong>Yes</strong>. Ignite provides a feature rich key-value API, that is JCache (JSR-107) compliant |
| and supports Java, C++, <nobr>and .NET.</nobr> |
| </p> |
| <p>Read more: <a href="/use-cases/database/key-value-store.html" aria-label="Key-Value Store">Key-Value Store</a></p><br/><br/> |
| </div> |
| </div> |
| </div> |
| </article> |
| <!--#include virtual="/includes/footer.html" --> |
| <!--#include virtual="/includes/scripts.html" --> |
| </body> |
| </html> |