blob: 98d0f560b02587cc0c0f4af223d62a59de187c7f [file] [log] [blame]
extend _components/base.pug
block pagetitle
block css
link(rel="stylesheet", href="../css/faq.css")
link(rel="stylesheet", href="../css/tooling.css")
block main
- global.pageHref = "faq"
- config.hdrClassName = "hdr__blue"
include ./_components/header.pug
h1.h1.innerhero__h1 Frequently Asked Questions <br>About Apache Ignite
Ignites rich feature set enables it for 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="/public/img/faq/hero.svg", alt="Frequently asked questions")
// /.innerhero
.capstext Apache Ignite FAQs
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.
.faqabout__num.h3 10-1000x
p.h5 performance increase
.faqabout__rightbot.h5 Unlimited horizontal scalability
// /.faqabout
.h4.faqfeats__title Apache Ignite Belongs to&nbsp;The In-memory <br>Computing Category:
img(src="/public/img/faq/icon-faq1.svg", alt="") Build real-time and event-driven solutions that process data with in-memory speed
img(src="/public/img/faq/icon-faq2.svg", alt="") Scale up&nbsp;and out across available memory and disk capacity
img(src="/public/img/faq/icon-faq3.svg", alt="") Take advantage of&nbsp;built-in SQL, high-performance computing and real-time processing APIs
// /.faqfeats
.faqbox__itemtitle.h5 Is Ignite a Distributed Cache? Yes
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.
a.cardsimple__button.button.button--shadow(href="/use-cases/in-memory-cache.html") Learn more: In-Memory Cache
.faqbox__itemtitle.h5 Is Ignite a Distributed Database? Yes
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.
a.cardsimple__button.button.button--shadow(href="/use-cases/in-memory-database.html ") Learn more: Distributed Database
.faqbox__itemtitle.h5 Is Ignite an In-memory Database? Yes
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.
a.cardsimple__button.button.button--shadow(href="/use-cases/in-memory-database.html") Learn more: In-Memory Database
.faqbox__itemtitle.h5 Is Ignite an In-memory Data Grid? Yes
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.
a.cardsimple__button.button.button--shadow(href="/use-cases/in-memory-data-grid.html") Learn more: In-Memory Data Grid
.faqbox__itemtitle.h5 Is Ignite an SQL Database? Not fully
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.
a.cardsimple__button.button.button--shadow(href="/use-cases/in-memory-database.html") Learn more: SQL Database
.faqbox__itemtitle.h5 Is Ignite a Disk- or Memory-Only Storage? Both
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.
a.cardsimple__button.button.button--shadow(href="/arch/native-persistence.html") Learn more: Native Persistence
.faqbox__itemtitle.h5 Is Ignite a NoSQL Database? Not exactly
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.
.faqbox__itemtitle.h5 Is Ignite a Transactional Database? Not fully
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. SQL transactions implementation is&nbsp;already <a href="" target="_blank">in&nbsp;the works</a> and will be&nbsp;released in&nbsp;Ignite&nbsp;3.
a.cardsimple__button.button.button--shadow(href="/features/acid-transactions.html") Learn more: ACID Transactions
.faqbox__itemtitle.h5 Is Ignite a Multi-Model Database? Yes
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.
a.cardsimple__button.button.button--shadow(href="/use-cases/in-memory-database.html") Learn more: In-Memory Database
.faqbox__itemtitle.h5 Is Ignite a Key-Value Store? Yes
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.
a.cardsimple__button.button.button--shadow(href="/use-cases/key-value-store.html") Learn more: Distributed Key-Value Store
// /.faqboxs
h2.toolingend__title.h4 Ready to Start With Apache Ignite? Start with our Quick Start Guides and build your first application <br>in 5-10 minutes
a.button Build your first application