extend _components/base.pug

block pagetitle
    | FAQ   

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.
                    Ignite’s 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



    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
        .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="/public/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="/public/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="/public/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
            .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
            .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="/use-cases/in-memory-database.html ") Learn more: Distributed Database

        article.faqbox.cardsimple
            .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
            .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
            .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
            .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
            .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
            .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. 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
            .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
            .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
        .container.flexi
            .toolingend__main
                h2.toolingend__title.h4 Ready to Start With Apache Ignite?
                p.fz20.pt-1x Start with our Quick Start Guides and build your first application <br>in 5-10 minutes
            .toolingend__action
                a.button Build your first application