extend ../_components/base.pug

block pagetitle
    | In-Memory Data Grid 

block css 
    link(rel="stylesheet", href="../css/native-persistence.css")
    link(rel="stylesheet", href="../css/compute-apis.css")
    link(rel="stylesheet", href="../css/digital-hub.css")
    link(rel="stylesheet", href="../css/database.css")
    link(rel="stylesheet", href="../css/datagrid.css")
  



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="https://ignite.apache.org/use-cases/high-performance-computing.html" target="_blank"> 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="https://ignite.apache.org/use-cases/in-memory-database.html", target="_blank") In-Memory Database





