extend ../_components/base.pug

block pagetitle
    | In-Memory Database 

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="/public/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="/public/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 to cache a subset of the data in memory and query both in-memory and disk-only records with SQL and all other available
                
            
    // /.compute2

    section.base3
       .container
           h2.base3__h2.h4 Apache Ignite as a data grid 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",
                        "/public/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"
                    )
                    h3.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",
                        "/public/img/usecases/datagrid/two-video.png",
                        "",
                        "Real Time Exposure Management Using Ignite",
                        "comvideo__txt--white hub5__video"
                    )
                    h3.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
                h3.h4.nativebotblock__title
                    img(src="/public/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
                h3.h4.nativebotblock__title
                    img(src="/public/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






