extend ../_components/base.pug

block pagetitle
    | In-Memory Data Grid 

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)
    link(rel="stylesheet", href="../css/datagrid.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 Data Grid
                   <br> 
                   span.with-apache  With Apache Ignite
                .innerhero__descr.pt-2.h5.
                    Use an advanced read-through / write-through cache<br> that is deployed on top of one or several databases
                .innerhero__action 
                    a.button.innerhero__button(href="https://ignite.apache.org/docs/latest/index") Start Coding
            img.innerhero__pic.innerhero__pic--datagrid(src="/img/usecases/datagrid/hero-image.svg", alt="hero-image")
    // /.innerhero

    section.grid1 
       .container
         h2.grid1__h2.h4 In-memory data grid with Apache Ignite <strong>accelerates and scales</strong> your existing databases and data stores.
    // /.grid1

    section.hub1.grid2 
       .container
          h2.compute2__h2 In-Memory Data Grid Overview
          .hub1__block.flexi
            .hub1__info
              h3.h5.hub1__title What is in-memory data-grid?
              p.hub1__text An in-memory data grid (IMDG) is an advanced read-through/write-through cache that is deployed on top of multiple databases. 
              p.hub1__text Applications write to and read from the grid, and the grid propagates changes to the underlying data stores in a consistent way.
              h3.h5.hub1__title.hub1__titleend How does an in-memory data grid work?
              p.hub1__text Co-location is the main IMDG feature. It organizes related data for storage in the same node and enables low latency with high throughput computing.
              p.hub1__text Co-located applications can access in-memory data without network movement.
              p.hub1__text In in-memory data grid queries are processed at high speeds and scaled to multiple nodes, because there's no distance between data and applications.
            img.hub1__image(src="/img/usecases/datagrid/image.svg", alt="image")
    // /.hub1 
  

   

    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.
    // /.base3 
    section.grid4 
       .container
          .grid4__blocks.flexi
            h2.grid4__h2.h5 Native Persistence And In-Memory Data
            .grid4__block
               p.grid4__text When <a href="/arch/native-persistence.html">Native Persistence</a> is enabled, Ignite stores both data and indexes<br> on disk, thus eliminating the time-consuming cache warm-up step.
               p.grid4__text.pt-1 Native Persistence keeps a full copy of data on disk, so you are free<br> to cache a subset of records in memory.
               p.grid4__text.pt-1 If a required data record is missing from memory, Ignite reads the record from the disk automatically.
    // /.grid4

    section.grid5
       .container
          h2.grid5__h2.h4 In-memory data grid is frequently used when a business works with large datasets at low latency and high throughput.
          .grid5__blocks.flexi
             article.native2item.grid5__item
               p.grid5__text Increase the performance and scalability of real-time applications and external databases.
             article.native2item.grid5__item
               p.grid5__text Support <a href="/use-cases/high-performance-computing.html"> high-performance computing.</a>
             article.native2item.grid5__item
               p.grid5__text Cache data that is scattered across databases.

    // /.grid5                



    section.hub5 
      .container
         h2.compute2__h2 In-Memory Data Grid Ignite User Stories
         .highcases__two
            .hub5__twowrap.flexi.pt-5
                .hub5__item
                    +powvideo(
                        "https://www.youtube.com/watch?v=78UE11GrWzk&t=2586s ",
                        "/img/usecases/database/one-video.png",
                        "",
                        "Leveraging In Memory Data Grid For Faster Time To Market ",
                        "comvideo__txt--white hub5__video"
                    )
                    h3.h4.hub5__title Agilent Technologies Inc.
                    p.hub5__text.base5__text improved its online channel by implementing in-memory solutions. They leveraged in-memory data grid to achieve faster time-to-market, and data flexibility across digital channels.
                .hub5__item
                    +powvideo(
                        "https://www.youtube.com/watch?v=CPmwnjDJ1Sk&feature=emb_imp_woyt",
                        "/img/usecases/database/two-video.png",
                        "",
                        "Embracing The Service Consumption Shift In Banking",
                        "comvideo__txt--white comvideo__txthub hub5__video"
                    )
                    h3.h4.hub5__title ING Bank
                    p.hub5__text.base5__text.base5__textend used in-memory computing platforms to meet increasing demand for performance and scalability.
          
              



    

   
    section.native-bottom.container
        .native-bottom__grid 
            article.nativebotblock
                h3.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
                h3.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 Database article
                a.nativebotblock__link.arrowlink(href="/use-cases/in-memory-database.html") In-Memory Database





