extend ../_components/base.pug

block pagetitle
    title In-Memory Database - Apache Ignite
    meta(name="description", content="Apache Ignite, as the best open source in-memory database, is a high-performance system-of-records that can store and query large data sets from memory and disk without requiring to warm up the memory tier on cluster restarts.")
    link(rel="canonical", href="https://ignite.apache.org/use-cases/in-memory-database.html")

    meta(property="og:title", content="In-Memory Database - Apache Ignite")
    meta(property="og:type", content="article")
    meta(property="og:url", content="https://ignite.apache.org/use-cases/in-memory-database.html")
    meta(property="og:image", content="/img/og-pic.png")
    meta(property="og:description", content="Apache Ignite, as the best open source in-memory database, is a high-performance system-of-records that can store and query large data sets from memory and disk without requiring to warm up the memory tier on cluster restarts.") 

block css 
    link(rel="stylesheet", href="../css/native-persistence.css?ver=" + config.version)
    link(rel="stylesheet", href="../css/compute-apis.css?ver=" + config.version)
    link(rel="stylesheet", href="../css/digital-hub.css?ver=" + config.version)
    link(rel="stylesheet", href="../css/database.css?ver=" + config.version)

  



block main
    - global.pageHref = "usecases"
    - config.hdrClassName = "hdr__blue"
    include ../_components/header.pug


    section.innerhero
        .container.innerhero__cont
            .innerhero__main
                
                h1.h1.innerhero__h1 In-Memory Database
                     <br> 
                     span.with-apache  With Apache Ignite
                .innerhero__descr.pt-2.h5.
                    In-memory database that scales horizontally across memory<br> and disk with full SQL support
                .innerhero__action 
                    a.button.innerhero__button(href="https://ignite.apache.org/docs/latest/index") Start Coding
            img.innerhero__pic.innerhero__pic--database(src="/img/usecases/database/hero-image.svg", alt="hero-image")
    // /.innerhero

    
    section.hub1 
       .container
          h2.compute2__h2 In-Memory Database Overview
          .hub1__block.flexi
            .hub1__info
              h3.h5.hub1__title What is an in-memory database?
              p.hub1__text An in-memory database (IMDB) is a data management system that stores data primarily in the computer’s main memory. 
              h3.h5.hub1__title.hub1__titleend How an in-memory database works?
              p.hub1__text In-memory databases rely on spinning disks for data storage. IMDBs allow mission-critical applications to benefit from faster response times than disk-based databases.
            img.hub1__image(src="/img/usecases/database/image.svg", alt="image")
    // /.hub1 
    section.base1
       .container
           h2.base1__h2.h5 Apache Ignite as a distributed in-memory database scales horizontally across memory and disk with no compromises
           .base1__blocks.flexi
              .base1__block
                 p.base1__text Apache Ignite works with memory, disk, and Intel Optane as active storage tiers. 
                 p.base1__text.pt-1 This <a href="/arch/multi-tier-storage.html">multi-tier</a> architecture combines, in one system, the advantages of in-memory computing with disk durability and strong consistency.
              .base1__block
                .base1__item.flexi
                   .compute2-points__item.fz20
                   h3.base1__black Speed of memory
                .base1__item.flexi
                   .compute2-points__item.fz20 
                   h3.base1__black Strong consistency
                .base1__item.flexi
                   .compute2-points__item.fz20
                   h3.base1__black Durability of disk     
    // /.base1

    section.compute2
     .container
       h2.compute2__h2 Advantages Of Ignite Multi-Tiered Architecture
       .compute2__grid.flexi.hub2__grid 
            .compute2item.hub2item
              .compute2-points__item.fz20
              .compute2item__block
                h3.fz20.compute2item__title Instantaneous cluster restarts
                p.compute2__text.base2__text Ignite becomes fully operational from disk upon a cluster startup or restarts without requiring to preload or warm up the memory tier.
          
            .compute2item.hub2item
              .compute2-points__item.fz20
              .compute2item__block
                h3.fz20.compute2item__title Multi-tiered storage
                p.compute2__text.base2__text Ignite treats disk as an active storage layer, allowing it to cache a subset of the data in memory and query both in-memory and disk-only records with SQL and all other available APIs.
                
            
    // /.compute2

    section.base3
       .container
           h2.base3__h2.h4 Apache Ignite as an in-memory database <br>supports a variety of developer APIs
           .base3__blocks.flexi
              .base3__block
                h3.base3__h3 Essential Developer APIs
                .base3__images.flexi
                    .base3__item.flexi
                       img.base3__image(src="/img/features/03-distributed-SQL.svg", alt="sql")
                       .base3__subtext SQL
                    .base3__item.flexi
                       img.base3__image(src="/img/features/05-key-value-APIs.svg", alt="apis")
                       .base3__subtext Key-value
                    .base3__item.flexi
                       img.base3__image(src="/img/features/04-ACID-transactions.svg", alt="acid")
                       .base3__subtext ACID<br> transactions
                p.base3__text Enable you to request, join, and group distributed datasets.
              .base3__block
                h3.base3__h3 High-Performance Computing APIs
                .base3__images.flexi
                    .base3__item.flexi
                       img.base3__image(src="/img/features/06-compute-APIs.svg", alt="sql")
                       .base3__subtext Compute
                    .base3__item.flexi
                       img.base3__image(src="/img/features/07-machine-learning.svg", alt="apis")
                       .base3__subtext Machine<br> learning
                    .base3__item.flexi
                       img.base3__image(src="/img/features/08-services.svg", alt="acid")
                       .base3__subtext Services
                p.base3__text Execute logic close to the data, thus eliminating expensive data shuffling over the network.
              .base3__block
                h3.base3__h3 Real-Time Streaming APIs
                .base3__images.flexi
                    .base3__item.flexi
                       img.base3__image(src="/img/features/09-streaming.svg", alt="sql")
                       .base3__subtext Streaming
                    .base3__item.flexi
                       img.base3__image(src="/img/features/10-continuous-queries.svg", alt="apis")
                       .base3__subtext Continuous<br> Queries
                    .base3__item.flexi
                       img.base3__image(src="/img/features/11-messaging.svg", alt="acid")
                       .base3__subtext Messaging
                p.base3__text.base3__textend Allow the seamless implementation of event-driven architectures.
              



    section.hub5 
      .container
         h2.compute2__h2 In-Memory Database Ignite User Stories
         .highcases__two
            .hub5__twowrap.flexi.pt-5
                .hub5__item
                    +powvideo(
                        "https://www.youtube.com/watch?v=-t-Syy9blXQ",
                        "/img/usecases/database/one-video.png",
                        "",
                        "Apache Ignite As A Hybrid Transactional-Analytical Processing Solution At A Large Investment Bank",
                        "comvideo__txt--white hub5__video"
                    )
                    .h4.hub5__title BNP Paribas
                    p.hub5__text.base5__text with the help of Apache Ignite managed to design, build, and optimize a hybrid transactional-analytical processing (HTAP) solution. This enabled the bank to make key business decisions in real-time.
                .hub5__item
                    +powvideo(
                        "https://www.youtube.com/watch?v=B8A8yR_e6VM&t=2s",
                        "/img/usecases/datagrid/two-video.png",
                        "",
                        "Real Time Exposure Management Using Ignite",
                        "comvideo__txt--white hub5__video"
                    )
                    .h4.hub5__title JP MorganChase
                    p.hub5__text.base5__text faced an increasing need to apply transformations to large datasets in real-time. To meet this need, their team selected Ignite to achieve persistence, caching and integrated compute.
          
              



    

   
    section.native-bottom.container
        .native-bottom__grid 
            article.nativebotblock
                .h4.nativebotblock__title
                    img(src="/img/features/native-rocket.svg", alt="").nativebotblock__icon
                    span Ready to Start?
                p.nativebotblock__text Discover our quick start guide and build your first<br> application in 5-10 minutes
                a.nativebotblock__link.arrowlink(href="https://ignite.apache.org/docs/latest/", target="_blank") Quick Start Guide
            article.nativebotblock.nativebotblock--learn
                .h4.nativebotblock__title
                    img(src="/img/features/native-docs.svg", alt="").nativebotblock__icon
                    span Want to View More Use-Cases?
                p.nativebotblock__text Read the In-Memory Cache article
                a.nativebotblock__link.arrowlink(href="/use-cases/in-memory-cache.html") In-Memory Cache Article






