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="/public/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="/public/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 ",
                        "/public/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",
                        "/public/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="/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 Database article
                a.nativebotblock__link.arrowlink(href="/use-cases/in-memory-database.html") In-Memory Database





