extend ../_components/base.pug

block pagetitle
    title In-Memory Data Grid - Apache Ignite
    meta(name="description", content="The Apache Ignite in-memory data grid accelerates and scales out distributed databases, services, and APIs. Learn more about an IMDG with Apache Ignite.")
    link(rel="canonical", href="https://ignite.apache.org/use-cases/in-memory-data-grid.html")

    meta(property="og:title", content="In-Memory Data Grid - Apache Ignite")
    meta(property="og:type", content="article")
    meta(property="og:url", content="https://ignite.apache.org/use-cases/in-memory-data-grid.html")
    meta(property="og:image", content="/img/og-pic.png")
    meta(property="og:description", content="The Apache Ignite in-memory data grid accelerates and scales out distributed databases, services, and APIs. Learn more about an IMDG with Apache Ignite.") 

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 an 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 an 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 An 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"
                    )
                    .h4.hub5__title Agilent Technologies Inc.
                    p.hub5__text.base5__text improved its online channel by implementing in-memory solutions. They leveraged an 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"
                    )
                    .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
                .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 Database article
                a.nativebotblock__link.arrowlink(href="/use-cases/in-memory-database.html") In-Memory Database





