blob: 63c585df51a3aa4baeef890f393aaf877aeff49a [file] [log] [blame]
extend _components/base.pug
block pagetitle
title What Is Apache Ignite - FAQ
meta(name="description", content="What is Apache Ignite? What is in-memory computing? Read the answers on our FAQ page.")
link(rel="canonical", href="https://ignite.apache.org/faq.html")
meta(property="og:title", content="What Is Apache Ignite - FAQ")
meta(property="og:type", content="article")
meta(property="og:url", content="https://ignite.apache.org/faq.html")
meta(property="og:image", content="/img/og-pic.png")
meta(property="og:description", content="What is Apache Ignite? What is in-memory computing? Read the answers on our FAQ page.")
block css
link(rel="stylesheet", href="../css/faq.css?ver=" + config.version)
link(rel="stylesheet", href="../css/tooling.css?ver=" + config.version)
block main
- global.pageHref = "faq"
- config.hdrClassName = "hdr__blue"
include ./_components/header.pug
section.innerhero.innerhero--faq
.container.innerhero__cont
.innerhero__main.innerhero__main--long
h1.h1.innerhero__h1 Frequently Asked Questions <br>About Apache Ignite
.innerhero__descr.pt-5.h4.
Ignites rich feature set means it has a myriad of use cases.<br>
Is Ignite a cache, transactional database, key-value store? <br>Find the answers below.
img.innerhero__pic.innerhero__pic--faq(src="/img/faq/hero.svg", alt="Frequently asked questions")
// /.innerhero
section.faqabout.container
.capstext Apache Ignite FAQs
.faqabout__wrap.flexi.pt-5
.faqabout__left
h2.h4.pb-2 What Is In-Memory Computing?
p In-memory computing is a software and data-processing technique that stores data sets in memory across a cluster of interconnected nodes. An average speed performance is 10-1000x faster than in disk-based systems.
p In-memory computing software includes a distributed in-memory store with APIs and libraries optimized for high-performance data processing. Each cluster node (physical or virtual machine) contributes its available memory space with CPU cores to the total capacity of the cluster.
p An application interacts with the cluster as a single unit, letting the in-memory computing software shield and manage all the internals related to inter-node communications, data distribution, and queries processing. The cluster scales linearly and horizontally to meet the data volume and throughput goals of the applications.
aside.faqabout__right
.faqabout__num.h3 10-1000x
p.h5 performance increase
.faqabout__rightbot.h5 Unlimited horizontal scalability
// /.faqabout
section.faqfeats.container
h2.h4.faqfeats__title Apache Ignite Belongs To&nbsp;The In-Memory <br>Computing Category:
.faqfeats__wrap.flexi.pt-5
article.faqfeat.pt-1
.faqfeat__iconwrap.flexi
img(src="/img/faq/icon-faq1.svg", alt="")
.faqfeat__text.pt-2 Build real-time and event-driven solutions that process data with in-memory speed
article.faqfeat.pt-1
.faqfeat__iconwrap.flexi
img(src="/img/faq/icon-faq2.svg", alt="")
.faqfeat__text.pt-2 Scale up&nbsp;and out across available memory and disk capacity
article.faqfeat.pt-1
.faqfeat__iconwrap.flexi
img(src="/img/faq/icon-faq3.svg", alt="")
.faqfeat__text.pt-2 Take advantage of&nbsp;built-in SQL, high-performance computing and real-time processing APIs
// /.faqfeats
section.faqboxs.container
article.faqbox.cardsimple
h3.faqbox__itemtitle.h5 Is Ignite A Distributed Cache?
.faqbox__anwser.h5.pt-3 Yes
.faqbox__text.pt-3
p When Ignite native persistence is&nbsp;disabled, Ignite can function as&nbsp;a&nbsp;distributed in-memory cache with support distributed ACID&nbsp;transactions, SQL queries, high-performance computing APIs, and more.
.cardsimple__bottom
a.cardsimple__button.button.button--shadow(href="/use-cases/in-memory-cache.html") Learn More: In-Memory Cache
article.faqbox.cardsimple
h3.faqbox__itemtitle.h5 Is Ignite A Distributed Database?
.faqbox__anwser.h5.pt-3 Yes
.faqbox__text.pt-3
p Ignite is&nbsp;a&nbsp;distributed database for high-performance computing with in-memory speed.
p Data in&nbsp;Ignite is&nbsp;stored in-memory and/or on-disk, and is&nbsp;either partitioned or&nbsp;replicated across a&nbsp;cluster of&nbsp;multiple nodes. This provides scalability, performance, and resiliency.
.cardsimple__bottom
a.cardsimple__button.button.button--shadow(href="/arch/multi-tier-storage.html") Learn More: Multi-Tier Storage
article.faqbox.cardsimple
h3.faqbox__itemtitle.h5 Is Ignite An In-Memory Database?
.faqbox__anwser.h5.pt-3 Yes
.faqbox__text.pt-3
p Ignite multi-tier storage supports both in-memory and disk tiers. You can always disable the native persistence and use Ignite as&nbsp;a&nbsp;distributed in-memory database, with support for SQL, transactions and other APIs.
.cardsimple__bottom
a.cardsimple__button.button.button--shadow(href="/use-cases/in-memory-database.html") Learn More: In-Memory Database
article.faqbox.cardsimple
h3.faqbox__itemtitle.h5 Is Ignite An In-Memory Data Grid?
.faqbox__anwser.h5.pt-3 Yes
.faqbox__text.pt-3
p Ignite is&nbsp;a&nbsp;full-featured distributed data grid. As&nbsp;a&nbsp;grid, Ignite can automatically integrate with and accelerate any 3rd party databases, including any RDBMS or&nbsp;NoSQL stores.
.cardsimple__bottom
a.cardsimple__button.button.button--shadow(href="/use-cases/in-memory-data-grid.html") Learn More: In-Memory Data Grid
article.faqbox.cardsimple
h3.faqbox__itemtitle.h5 Is Ignite An SQL Database?
.faqbox__anwser.h5.pt-3 Not fully
.faqbox__text.pt-3
p Although Ignite supports SQL natively, there are differences in&nbsp;how Ignite handles constraints and indexes.
p Ignite supports primary and secondary indexes, however the uniqueness can only be&nbsp;enforced for the primary indexes. Ignite also does not support foreign key constraints at&nbsp;the moment.
.cardsimple__bottom
a.cardsimple__button.button.button--shadow(href="/use-cases/in-memory-database.html") Learn More: SQL Database
article.faqbox.cardsimple
h3.faqbox__itemtitle.h5 Is Ignite A Disk- Or Memory-Only Storage?
.faqbox__anwser.h5.pt-3 Both
.faqbox__text.pt-3
p Native persistence in&nbsp;Ignite can be&nbsp;turned on&nbsp;and off. This allows Ignite to&nbsp;store data sets bigger than can fit in&nbsp;the available memory.
p Essentially, smaller operational data sets can be&nbsp;stored in-memory only, and larger data sets that do&nbsp;not fit in&nbsp;memory can be&nbsp;stored on&nbsp;disk, using memory as&nbsp;a&nbsp;caching layer for better performance.
.cardsimple__bottom
a.cardsimple__button.button.button--shadow(href="/arch/native-persistence.html") Learn More: Native Persistence
article.faqbox.cardsimple
h3.faqbox__itemtitle.h5 Is Ignite A NoSQL Database?
.faqbox__anwser.h5.pt-3 Not exactly
.faqbox__text.pt-3
p Just like other NoSQL databases, Ignite is&nbsp;highly available and horizontally scalable.
p However, unlike other NoSQL databases, Ignite supports SQL and ACID transactions across multiple cluster nodes.
article.faqbox.cardsimple
h3.faqbox__itemtitle.h5 Is Ignite A Transactional Database?
.faqbox__anwser.h5.pt-3 Not fully
.faqbox__text.pt-3
p ACID Transactions are supported, but only at&nbsp;key-value API level. Ignite also supports cross-partition transactions, which means that transactions can span keys residing in&nbsp;different partitions on&nbsp;different servers.
p At&nbsp;SQL level, Ignite supports atomic but not yet transactional consistency. A SQL transactions implementation is&nbsp;already <a href="https://cwiki.apache.org/confluence/display/IGNITE/IEP-3%3A+Transactional+SQL" target="_blank">in&nbsp;the works</a> and will be&nbsp;released in&nbsp;Ignite&nbsp;3.
.cardsimple__bottom
a.cardsimple__button.button.button--shadow(href="/features/acid-transactions.html") Learn More: ACID Transactions
article.faqbox.cardsimple
h3.faqbox__itemtitle.h5 Is Ignite A Multi-Model Database?
.faqbox__anwser.h5.pt-3 Yes
.faqbox__text.pt-3
p Ignite supports both key-value and SQL for modelling and accessing data.
p In&nbsp;addition, Ignite provides strong processing APIs for computing on&nbsp;distributed data.
.cardsimple__bottom
//- a.cardsimple__button.button.button--shadow(href="/use-cases/in-memory-database.html") Learn More: In-Memory Database
article.faqbox.cardsimple
h3.faqbox__itemtitle.h5 Is Ignite A Key-Value Store?
.faqbox__anwser.h5.pt-3 Yes
.faqbox__text.pt-3
p Ignite provides a&nbsp;feature-rich key-value API that is&nbsp;JCache (JSR-107) compliant and supports Java, C++, .NET, and other programming languages.
.cardsimple__bottom
a.cardsimple__button.button.button--shadow(href="/use-cases/key-value-store.html") Learn More: Distributed Key-Value Store
// /.faqboxs
section.toolingend.toolingend--front
.container.flexi
.toolingend__main
p.toolingend__title.h3
strong Ready To Start?
p.h5.pt-2 Discover our quick start guides and build your first <br>application in 5-10 minutes
.toolingend__action
a.button(href="https://ignite.apache.org/docs/latest/", target="_blank") Discover Quick Start Guide