<!--
 ▄▄▄       ██▓███   ▄▄▄       ▄████▄   ██░ ██ ▓█████     ██▓  ▄████  ███▄    █  ██▓▄▄▄█████▓▓█████
▒████▄    ▓██░  ██▒▒████▄    ▒██▀ ▀█  ▓██░ ██▒▓█   ▀    ▓██▒ ██▒ ▀█▒ ██ ▀█   █ ▓██▒▓  ██▒ ▓▒▓█   ▀
▒██  ▀█▄  ▓██░ ██▓▒▒██  ▀█▄  ▒▓█    ▄ ▒██▀▀██░▒███      ▒██▒▒██░▄▄▄░▓██  ▀█ ██▒▒██▒▒ ▓██░ ▒░▒███
░██▄▄▄▄██ ▒██▄█▓▒ ▒░██▄▄▄▄██ ▒▓▓▄ ▄██▒░▓█ ░██ ▒▓█  ▄    ░██░░▓█  ██▓▓██▒  ▐▌██▒░██░░ ▓██▓ ░ ▒▓█  ▄
 ▓█   ▓██▒▒██▒ ░  ░ ▓█   ▓██▒▒ ▓███▀ ░░▓█▒░██▓░▒████▒   ░██░░▒▓███▀▒▒██░   ▓██░░██░  ▒██▒ ░ ░▒████▒
 ▒▒   ▓▒█░▒▓▒░ ░  ░ ▒▒   ▓▒█░░ ░▒ ▒  ░ ▒ ░░▒░▒░░ ▒░ ░   ░▓   ░▒   ▒ ░ ▒░   ▒ ▒ ░▓    ▒ ░░   ░░ ▒░ ░
  ▒   ▒▒ ░░▒ ░       ▒   ▒▒ ░  ░  ▒    ▒ ░▒░ ░ ░ ░  ░    ▒ ░  ░   ░ ░ ░░   ░ ▒░ ▒ ░    ░     ░ ░  ░
  ░   ▒   ░░         ░   ▒   ░         ░  ░░ ░   ░       ▒ ░░ ░   ░    ░   ░ ░  ▒ ░  ░         ░
      ░  ░               ░  ░░ ░       ░  ░  ░   ░  ░    ░        ░          ░  ░              ░  ░
-->

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<!DOCTYPE html>
<html lang="en">
<head>

    <link rel="canonical" href="https://ignite.apache.org/events.html"/>
    <!--#include virtual="/includes/scriptshead.html" -->
<meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate"/>
    <meta http-equiv="Pragma" content="no-cache"/>
    <meta http-equiv="Expires" content="0"/>
    <title>Meetups & Events - Apache Ignite</title>
    <!--#include virtual="/includes/styles.html" -->
</head>
<body>
    <!--#include virtual="/includes/header.html" -->
<article>
<header>    <div class="container">
        
            <h1 class="first">Upcoming Apache Ignite <strong>Events</strong></h1>
</div>
</header>
<div class="container">
    <section id="events" class="page-section">
        
        <!--
            ** USE THIS SNIPPET TO ADD NEW EVENTS. JUST ADJUST/REPLACE THE {PLACEHOLDERS} WITH INFO **
            ** A useful quick tool to create the slug for {anchor} is to paste the event title in: https://blog.tersmitten.nl/slugify/


        <div class="row row-event">
            <div class="col-md-2 d-none d-md-block">
                <div class="round-icon-block">
                    <img src="images/{conferences|webinars|meetup}.svg" alt="{Conference|Webinar|Meetup} logo">
                    <p>{Conference|Webinar|<strong>Virtual</strong> Meetup}</p>
                </div>
            </div>
            <div class="col-md-10 ">
                <section id="{event-anchor}">
                    <h3 style="display:inline-block;">{event-title}
                        <a href="/events.html#{event-anchor}"><i
                                class="fa fa-anchor"></i></a>
                    </h3>
                    <div class="event-date">{event-speaker}</div>
                    <div class="event-date">{event-date}</div>

                    <p>{event-description}</p>

                    <div class="row">
                            <div class=" col-md-9  news-readmore">
                            <p>
                                <a href="{event-url}" target="_blank" rel="noopener">Read more</a>
                            </p>
                        </div>
                        <div class=" col-md-3  ">

                            
                            <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                data-a2a-url="{event-url}"
                                data-a2a-title="{event-title}">
                                <a class="a2a_button_twitter"></a>
                                <a class="a2a_button_linkedin"></a>
                                <a class="a2a_button_facebook"></a>
                                <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                            </div>
                        </div>
                    </div>
                    
                </section>
            </div>
        </div> 

    *** END OF SNIPPET FOR CREATING NEW EVENTS **
    -->


        
    <!-- {{upcoming_events}} -->


<div class="row row-event">
    <div class="col-md-2 d-none d-md-block">
        <div class="round-icon-block">
            <img src="images/meetup.svg" alt="Meetup logo">
            <p><strong>Virtual</strong> Meetup</p>
        </div>
    </div>
    <div class="col-md-10 ">
        <section id="in-memory-computing-essentials-for-java-developers-and-architects">
            <h3 style="display:inline-block;">In-Memory Computing Essentials for Java Developers and Architects
                <a href="/events.html#in-memory-computing-essentials-for-java-developers-and-architects"><i
                        class="fa fa-anchor"></i></a>
            </h3>
            <div class="event-date">Java.IL - the Israeli Java Community, Denis Magda</div>
            <div class="event-date">November 30, 2020</div>

            <p>This session is for software engineers and architects who build data-intensive applications and want practical experience with in-memory computing. You will be introduced to the fundamental capabilities of distributed, in-memory systems and will learn how to tap into your cluster’s resources and how to negate any negative impact that the network might have on the performance of your applications.</p>

            <div class="row">
                    <div class=" col-md-9  news-readmore">
                    <p>
                        <a href="https://www.meetup.com/JavaIL/events/274529630/" target="_blank" rel="noopener">Read more</a>
                    </p>
                </div>
                <div class=" col-md-3  ">

                    
                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                        data-a2a-url="https://www.meetup.com/JavaIL/events/274529630/"
                        data-a2a-title="In-Memory Computing Essentials for Java Developers and Architects">
                        <a class="a2a_button_twitter"></a>
                        <a class="a2a_button_linkedin"></a>
                        <a class="a2a_button_facebook"></a>
                        <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                    </div>
                </div>
            </div>
            
        </section>
    </div>
</div>
<div class="row row-event">
    <div class="col-md-2 d-none d-md-block">
        <div class="round-icon-block">
            <img src="images/webinars.svg" alt="Webinar logo">
            <p>Webinar</p>
        </div>
    </div>
    <div class="col-md-10 ">
        <section id="how-to-deploy-change-data-capture-using-debezium-in-apache-ignite-and-gridgain">
            <h3 style="display:inline-block;">How to Deploy Change Data Capture Using Debezium in Apache Ignite and GridGain
                <a href="/events.html#how-to-deploy-change-data-capture-using-debezium-in-apache-ignite-and-gridgain"><i
                        class="fa fa-anchor"></i></a>
            </h3>
            <div class="event-date">Webinar, Evgenii Zhuravlev</div>
            <div class="event-date">December 2, 2020</div>

            <p>Kafka with Debezium and GridGain connectors enables change data capture (CDC) based synchronization between third-party databases and GridGain clusters. Synchronization that is based CDC does not require coding; all it requires is to prepare configuration files for each of the points.</p>

            <div class="row">
                    <div class=" col-md-9  news-readmore">
                    <p>
                        <a href="https://www.gridgain.com/resources/webinars/change-data-capture-using-debezium-in-apache-ignite-and-gridgain" target="_blank" rel="noopener">Read more</a>
                    </p>
                </div>
                <div class=" col-md-3  ">

                    
                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                        data-a2a-url="https://www.gridgain.com/resources/webinars/change-data-capture-using-debezium-in-apache-ignite-and-gridgain"
                        data-a2a-title="How to Deploy Change Data Capture Using Debezium in Apache Ignite and GridGain">
                        <a class="a2a_button_twitter"></a>
                        <a class="a2a_button_linkedin"></a>
                        <a class="a2a_button_facebook"></a>
                        <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                    </div>
                </div>
            </div>
            
        </section>
    </div>
</div>
<div class="row row-event">
    <div class="col-md-2 d-none d-md-block">
        <div class="round-icon-block">
            <img src="images/conferences.svg" alt="Conference logo">
            <p>Conference</p>
        </div>
    </div>
    <div class="col-md-10 ">
        <section id="in-memory-computing-essentials-for-java-developers-and-architects">
            <h3 style="display:inline-block;">In-Memory Computing Essentials for Java Developers and Architects 
                <a href="/events.html#in-memory-computing-essentials-for-java-developers-and-architects"><i
                        class="fa fa-anchor"></i></a>
            </h3>
            <div class="event-date">jLove conference, Denis Magda</div>
            <div class="event-date">December 4, 2020</div>

            <p>This session is for software engineers and architects who build data-intensive applications and want practical experience with in-memory computing. You will be introduced to the fundamental capabilities of distributed, in-memory systems and will learn how to tap into your cluster’s resources and how to negate any negative impact that the network might have on the performance of your applications.</p>

            <div class="row">
                    <div class=" col-md-9  news-readmore">
                    <p>
                        <a href="https://jlove.konfy.care/" target="_blank" rel="noopener">Read more</a>
                    </p>
                </div>
                <div class=" col-md-3  ">

                    
                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                        data-a2a-url="https://jlove.konfy.care/"
                        data-a2a-title="In-Memory Computing Essentials for Java Developers and Architects ">
                        <a class="a2a_button_twitter"></a>
                        <a class="a2a_button_linkedin"></a>
                        <a class="a2a_button_facebook"></a>
                        <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                    </div>
                </div>
            </div>
            
        </section>
    </div>
</div>
<div class="row row-event">
    <div class="col-md-2 d-none d-md-block">
        <div class="round-icon-block">
            <img src="images/meetup.svg" alt="Meetup logo">
            <p><strong>Virtual</strong> Meetup</p>
        </div>
    </div>
    <div class="col-md-10 ">
        <section id="how-to-use-apache-ignite-to-rescue-the-backend-of-a-bank">
            <h3 style="display:inline-block;">How to Use Apache Ignite to Rescue the Backend of a Bank
                <a href="/events.html#how-to-use-apache-ignite-to-rescue-the-backend-of-a-bank"><i
                        class="fa fa-anchor"></i></a>
            </h3>
            <div class="event-date">Virtual Apache Ignite® Meetup, Mikhail Antonov</div>
            <div class="event-date">December 8, 2020</div>

            <p>As users transition to digital channels, the load on the bank's systems has increased. For example, since the beginning of 2020, the number of requests to the ABS subsystems from Raiffeisen-Online has grown by a third. Therefore, load reduction and system scaling are constant and top priorities. Mikhail Antonov will talk about what options were considered, why Ignite was chosen, what the solution architecture looks like, and what the development plans are.</p>

            <div class="row">
                    <div class=" col-md-9  news-readmore">
                    <p>
                        <a href="https://www.meetup.com/Apache-Ignite-Virtual-Meetup/events/274647932/" target="_blank" rel="noopener">Read more</a>
                    </p>
                </div>
                <div class=" col-md-3  ">

                    
                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                        data-a2a-url="https://www.meetup.com/Apache-Ignite-Virtual-Meetup/events/274647932/"
                        data-a2a-title="How to Use Apache Ignite to Rescue the Backend of a Bank">
                        <a class="a2a_button_twitter"></a>
                        <a class="a2a_button_linkedin"></a>
                        <a class="a2a_button_facebook"></a>
                        <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                    </div>
                </div>
            </div>
            
        </section>
    </div>
</div>
<div class="row row-event">
    <div class="col-md-2 d-none d-md-block">
        <div class="round-icon-block">
            <img src="images/meetup.svg" alt="Meetup logo">
            <p><strong>Virtual</strong> Meetup</p>
        </div>
    </div>
    <div class="col-md-10 ">
        <section id="using-apache-ignite-s-compute-grid-to-integrate-the-drools-rules-engine">
            <h3 style="display:inline-block;">Using Apache Ignite’s Compute Grid to Integrate the Drools Rules Engine
                <a href="/events.html#using-apache-ignite-s-compute-grid-to-integrate-the-drools-rules-engine"><i
                        class="fa fa-anchor"></i></a>
            </h3>
            <div class="event-date">Virtual Apache Ignite® Meetup, Ken Cottrell</div>
            <div class="event-date">December 8, 2020</div>

            <p>In this brief talk and demo, Ken will show you some of the techniques that you can use with Apache Ignite’s compute grid to broadcast, deploy, and then run Drools/Kie business rules that are co-located with the data in the clusters. Ignite cluster nodes, each of which contains local Drools servers, then process simultaneously and in parallel.</p>

            <div class="row">
                    <div class=" col-md-9  news-readmore">
                    <p>
                        <a href="https://www.meetup.com/Apache-Ignite-Virtual-Meetup/events/274647932/" target="_blank" rel="noopener">Read more</a>
                    </p>
                </div>
                <div class=" col-md-3  ">

                    
                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                        data-a2a-url="https://www.meetup.com/Apache-Ignite-Virtual-Meetup/events/274647932/"
                        data-a2a-title="Using Apache Ignite’s Compute Grid to Integrate the Drools Rules Engine">
                        <a class="a2a_button_twitter"></a>
                        <a class="a2a_button_linkedin"></a>
                        <a class="a2a_button_facebook"></a>
                        <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                    </div>
                </div>
            </div>
            
        </section>
    </div>
</div>
<div class="row row-event">
    <div class="col-md-2 d-none d-md-block">
        <div class="round-icon-block">
            <img src="images/webinars.svg" alt="Webinar logo">
            <p>Webinar</p>
        </div>
    </div>
    <div class="col-md-10 ">
        <section id="apache-ignite-workshop-developing-applications-that-are-easy-to-manage">
            <h3 style="display:inline-block;">Apache Ignite Workshop: Developing Applications That Are Easy to Manage
                <a href="/events.html#apache-ignite-workshop-developing-applications-that-are-easy-to-manage"><i
                        class="fa fa-anchor"></i></a>
            </h3>
            <div class="event-date">Webinar, Alexey Kukushkin</div>
            <div class="event-date">December 9, 2020</div>

            <p>Typically, operations exceed fifty percent of the cost of an IT system’s life cycle. By developing applications that can be easily managed, developers can significantly reduce the cost of ownership. Manageability is especially important for distributed applications because they are especially complex and often mission-critical.</p>

            <div class="row">
                    <div class=" col-md-9  news-readmore">
                    <p>
                        <a href="https://www.gridgain.com/resources/webinars/apache-ignite-workshop-developing-applications-are-easy-manage" target="_blank" rel="noopener">Read more</a>
                    </p>
                </div>
                <div class=" col-md-3  ">

                    
                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                        data-a2a-url="https://www.gridgain.com/resources/webinars/apache-ignite-workshop-developing-applications-are-easy-manage"
                        data-a2a-title="Apache Ignite Workshop: Developing Applications That Are Easy to Manage">
                        <a class="a2a_button_twitter"></a>
                        <a class="a2a_button_linkedin"></a>
                        <a class="a2a_button_facebook"></a>
                        <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                    </div>
                </div>
            </div>
            
        </section>
    </div>
</div>

			
<!-- END OF Upcoming Events -->
			
            <div class="row row-event ">
                <div class="col-md-12 text-center">
                    <p>Browse the <a href="meetup-groups.html">Apache Ignite groups</a> and find one near your area.</p>
                </div>
            </div>

            <h2 class="sub-head-events">Past Events</h2>
            <!-- Nav tabs -->
            <ul id="past-events" class="nav nav-tabs">
                
                <li><a href="#events-2020" class="active" aria-controls="profile" data-toggle="tab">2020</a></li>
                <li><a href="#events-2019" aria-controls="profile" data-toggle="tab">2019</a></li>
                <li><a href="#events-2018" aria-controls="profile" data-toggle="tab">2018</a></li>
                <li><a href="#events-2017" aria-controls="profile" data-toggle="tab">2017</a></li>
                <li><a href="#events-2016" aria-controls="profile" data-toggle="tab">2016</a></li>
                <li><a href="#events-2015" aria-controls="profile" data-toggle="tab">2015</a></li>
                <li><a href="#events-2014" aria-controls="profile" data-toggle="tab">2014</a></li>
            </ul>

            <!-- Tab panes -->
            <div class="tab-content">

                <div class="tab-pane active" id="events-2020">
                    <!--
                        /**** insert your past event below *****/ 
                    -->
                    
                    <!-- {{past_events}} -->

                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinar logo">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="how-to-leverage-the-gridgain-operator-for-kubernetes-to-deploy-apache-ignite">
                                <h3 style="display:inline-block;">How to Leverage the Gridgain Operator for Kubernetes to Deploy Apache Ignite
                                    <a href="/events.html#how-to-leverage-the-gridgain-operator-for-kubernetes-to-deploy-apache-ignite"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Alexander Shapkin</div>
                                <div class="event-date">November 18, 2020</div>
                    
                                <p>The GridGain Operator for Kubernetes enables you to deploy and manage Apache Ignite and GridGain clusters efficiently. The automation that Kubernetes and the Operator provide simplifies provisioning and minimizes the operational and management burden.</p>
                    
                                <div class="row">
                                        <div class=" col-md-9  news-readmore">
                                        <p>
                                            <a href="https://www.gridgain.com/resources/webinars/gridgain-kubernetes-operator-for-apache-ignite" target="_blank" rel="noopener">Read more</a>
                                        </p>
                                    </div>
                                    <div class=" col-md-3  ">
                    
                                        
                                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                            data-a2a-url="https://www.gridgain.com/resources/webinars/gridgain-kubernetes-operator-for-apache-ignite"
                                            data-a2a-title="How to Leverage the Gridgain Operator for Kubernetes to Deploy Apache Ignite">
                                            <a class="a2a_button_twitter"></a>
                                            <a class="a2a_button_linkedin"></a>
                                            <a class="a2a_button_facebook"></a>
                                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                        </div>
                                    </div>
                                </div>
                                
                            </section>
                        </div>
                    </div>

                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup logo">
                                <p><strong>Virtual</strong> Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="apache-ignite-from-scratch-live-coding-of-a-naive-distributed-system-in-java">
                                <h3 style="display:inline-block;">Apache Ignite from Scratch: Live Coding of a Naive Distributed System in Java
                                    <a href="/events.html#apache-ignite-from-scratch-live-coding-of-a-naive-distributed-system-in-java"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Virtual Apache Ignite® Meetup, Denis Magda & Val Kulichenko</div>
                                <div class="event-date">November 17, 2020</div>
                    
                                <p>Apache Ignite is designed as a black box that hides the complexities of distributed databases. However, by knowing how internal components work and how the distributed databases function, you can pave the way for advanced optimizations and sophisticated solutions that are powered by Ignite. During this live coding session, we build a naive implementation of a distributed database that mimics the major components of Ignite. </p>
                    
                                <div class="row">
                                        <div class=" col-md-9  news-readmore">
                                        <p>
                                            <a href="https://www.meetup.com/Apache-Ignite-Virtual-Meetup/events/273935662/" target="_blank" rel="noopener">Read more</a>
                                        </p>
                                    </div>
                                    <div class=" col-md-3  ">
                    
                                        
                                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                            data-a2a-url="https://www.meetup.com/Apache-Ignite-Virtual-Meetup/events/273935662/"
                                            data-a2a-title="Apache Ignite from Scratch: Live Coding of a Naive Distributed System in Java">
                                            <a class="a2a_button_twitter"></a>
                                            <a class="a2a_button_linkedin"></a>
                                            <a class="a2a_button_facebook"></a>
                                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                        </div>
                                    </div>
                                </div>
                                
                            </section>
                        </div>
                    </div>
                    

<div class="row row-event">
    <div class="col-md-2 d-none d-md-block">
        <div class="round-icon-block">
            <img src="images/webinars.svg" alt="Webinar logo">
            <p>Webinar</p>
        </div>
    </div>
    <div class="col-md-10 ">
        <section id="distributed-application-development-training-approaches-for-user-authentication">
            <h3 style="display:inline-block;">Distributed Application Development Training: Approaches for User Authentication
                <a href="/events.html#distributed-application-development-training-approaches-for-user-authentication"><i
                        class="fa fa-anchor"></i></a>
            </h3>
            <div class="event-date">Webinar, Denis Mekhanikov</div>
            <div class="event-date">November 12, 2020</div>

            <p>During this webinar, we review various approaches to storing and using authentication data in distributed applications. Moving from the simplest to the most complex models, we consider the pros and cons of each approach. We give special attention to one of the most popular approaches to distributed sessions—single sign-on.</p>

            <div class="row">
                    <div class=" col-md-9  news-readmore">
                    <p>
                        <a href="https://www.gridgain.com/resources/webinars/distributed-application-development-training-approaches-user-authentication" target="_blank" rel="noopener">Read more</a>
                    </p>
                </div>
                <div class=" col-md-3  ">

                    
                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                        data-a2a-url="https://www.gridgain.com/resources/webinars/distributed-application-development-training-approaches-user-authentication"
                        data-a2a-title="Distributed Application Development Training: Approaches for User Authentication">
                        <a class="a2a_button_twitter"></a>
                        <a class="a2a_button_linkedin"></a>
                        <a class="a2a_button_facebook"></a>
                        <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                    </div>
                </div>
            </div>
            
        </section>
    </div>
</div>
<div class="row row-event">
    <div class="col-md-2 d-none d-md-block">
        <div class="round-icon-block">
            <img src="images/conferences.svg" alt="Conference logo">
            <p>Conference</p>
        </div>
    </div>
    <div class="col-md-10 ">
        <section id="performance-and-fault-tolerance-of-apache-ignite-s-network-components">
            <h3 style="display:inline-block;">Performance and Fault-Tolerance of Apache Ignite's Network Components
                <a href="/events.html#performance-and-fault-tolerance-of-apache-ignite-s-network-components"><i
                        class="fa fa-anchor"></i></a>
            </h3>
            <div class="event-date">In-Memory Computing Summit, Stanislav Lukyanov</div>
            <div class="event-date">October 29, 2020</div>

            <p>Networking is a core pillar of any distributed system. Data transfer, clustering, and failure detection are all done by the system's networking . Network architecture can greatly influence operational performance and efficiency. This talk introduces you to how Apache Ignite's networking layer makes it performant and resilient.</p>

            <div class="row">
                    <div class=" col-md-9  news-readmore">
                    <p>
                        <a href="https://www.imcsummit.org/2020/virtual/session/performance-and-fault-tolerance-apache-ignites-network-components" target="_blank" rel="noopener">Read more</a>
                    </p>
                </div>
                <div class=" col-md-3  ">

                    
                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                        data-a2a-url="https://www.imcsummit.org/2020/virtual/session/performance-and-fault-tolerance-apache-ignites-network-components"
                        data-a2a-title="Performance and Fault-Tolerance of Apache Ignite's Network Components">
                        <a class="a2a_button_twitter"></a>
                        <a class="a2a_button_linkedin"></a>
                        <a class="a2a_button_facebook"></a>
                        <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                    </div>
                </div>
            </div>
            
        </section>
    </div>
</div>
<div class="row row-event">
    <div class="col-md-2 d-none d-md-block">
        <div class="round-icon-block">
            <img src="images/conferences.svg" alt="Conference logo">
            <p>Conference</p>
        </div>
    </div>
    <div class="col-md-10 ">
        <section id="engineering-overview-of-gridgain-nebula-managed-service-how-we-deploy-gridgain-apache-ignite-in-clouds">
            <h3 style="display:inline-block;">Engineering Overview of GridGain Nebula Managed Service: How We Deploy GridGain/Apache Ignite in Clouds
                <a href="/events.html#engineering-overview-of-gridgain-nebula-managed-service-how-we-deploy-gridgain-apache-ignite-in-clouds"><i
                        class="fa fa-anchor"></i></a>
            </h3>
            <div class="event-date">In-Memory Computing Summit,  Andrey Alexandrov</div>
            <div class="event-date">October 29, 2020</div>

            <p>A managed service offering (MSO) is usually thought of as a magic black box. You deploy your database or application as part of an MSO in a cloud environment, and then your solution is scaled, load-balanced, patched with security fixes and kept up-and-running day and night. To make such services functional and reliable, the engineers who develop MSOs have to solve many challenges. The challenges are related to deployment in the cloud and in Kubernetes environments, monitoring, fault-tolerance, and recovery. Join this technical deep-dive, led by Andrey Alexander. Andrey guides you through the internals of GridGain Nebula, a managed service for Apache Ignite. Learn how to deploy Apache Ignite and how to monitor best practices for cloud environments.</p>

            <div class="row">
                    <div class=" col-md-9  news-readmore">
                    <p>
                        <a href="https://www.imcsummit.org/2020/virtual/session/engineering-overview-gridgain-nebula-managed-service-how-we-deploy-gridgainapache-ignite" target="_blank" rel="noopener">Read more</a>
                    </p>
                </div>
                <div class=" col-md-3  ">

                    
                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                        data-a2a-url="https://www.imcsummit.org/2020/virtual/session/engineering-overview-gridgain-nebula-managed-service-how-we-deploy-gridgainapache-ignite"
                        data-a2a-title="Engineering Overview of GridGain Nebula Managed Service: How We Deploy GridGain/Apache Ignite in Clouds">
                        <a class="a2a_button_twitter"></a>
                        <a class="a2a_button_linkedin"></a>
                        <a class="a2a_button_facebook"></a>
                        <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                    </div>
                </div>
            </div>
            
        </section>
    </div>
</div>
<div class="row row-event">
    <div class="col-md-2 d-none d-md-block">
        <div class="round-icon-block">
            <img src="images/conferences.svg" alt="Conference logo">
            <p>Conference</p>
        </div>
    </div>
    <div class="col-md-10 ">
        <section id="hyper-parameter-tuning-and-distributed-stacking-with-apache-ignite-ml">
            <h3 style="display:inline-block;">Hyper-parameter Tuning and Distributed Stacking with Apache Ignite ML
                <a href="/events.html#hyper-parameter-tuning-and-distributed-stacking-with-apache-ignite-ml"><i
                        class="fa fa-anchor"></i></a>
            </h3>
            <div class="event-date">In-Memory Computing Summit, Alexey Zinoviev</div>
            <div class="event-date">October 29, 2020</div>

            <p>The distributed machine learning algorithms are presented in one greatest library widely known as Spark MLlib, but the current implementation of ML algorithms in Spark has several disadvantages associated with the transition from standard Spark SQL types to ML-specific types, a lack of support for ensembles methods like stacking, boosting and bagging, a low level of algorithms' adaptation to distributed computing, a relatively slow speed of adding new algorithms to the current library and only basic support for hyper-parameter tuning including Grid Search and Cross-Validation methods.</p>

            <div class="row">
                    <div class=" col-md-9  news-readmore">
                    <p>
                        <a href="https://www.imcsummit.org/2020/virtual/session/hyper-parameter-tuning-and-distributed-stacking-apache-ignite-ml" target="_blank" rel="noopener">Read more</a>
                    </p>
                </div>
                <div class=" col-md-3  ">

                    
                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                        data-a2a-url="https://www.imcsummit.org/2020/virtual/session/hyper-parameter-tuning-and-distributed-stacking-apache-ignite-ml"
                        data-a2a-title="Hyper-parameter Tuning and Distributed Stacking with Apache Ignite ML">
                        <a class="a2a_button_twitter"></a>
                        <a class="a2a_button_linkedin"></a>
                        <a class="a2a_button_facebook"></a>
                        <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                    </div>
                </div>
            </div>
            
        </section>
    </div>
</div>
<div class="row row-event">
    <div class="col-md-2 d-none d-md-block">
        <div class="round-icon-block">
            <img src="images/conferences.svg" alt="Conference logo">
            <p>Conference</p>
        </div>
    </div>
    <div class="col-md-10 ">
        <section id="apache-ignite-extensions-modularization">
            <h3 style="display:inline-block;">Apache Ignite Extensions - Modularization
                <a href="/events.html#apache-ignite-extensions-modularization"><i
                        class="fa fa-anchor"></i></a>
            </h3>
            <div class="event-date">In-Memory Computing Summit, Saikat Maitra</div>
            <div class="event-date">October 28, 2020</div>

            <p>Apache Ignite Extensions to allow Apache Ignite codebase host core modules capabilities and migrate 3rd party integrations in a separate repository. We will discuss the changes that would be required in user applications to prepare for Apache Ignite upgrade and Apache Ignite Extensions migration if any of the migrated extensions modules are used. </p>

            <div class="row">
                    <div class=" col-md-9  news-readmore">
                    <p>
                        <a href="https://www.imcsummit.org/2020/virtual/session/apache-ignite-extensions-modularization" target="_blank" rel="noopener">Read more</a>
                    </p>
                </div>
                <div class=" col-md-3  ">

                    
                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                        data-a2a-url="https://www.imcsummit.org/2020/virtual/session/apache-ignite-extensions-modularization"
                        data-a2a-title="Apache Ignite Extensions - Modularization">
                        <a class="a2a_button_twitter"></a>
                        <a class="a2a_button_linkedin"></a>
                        <a class="a2a_button_facebook"></a>
                        <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                    </div>
                </div>
            </div>
            
        </section>
    </div>
</div>
<div class="row row-event">
    <div class="col-md-2 d-none d-md-block">
        <div class="round-icon-block">
            <img src="images/conferences.svg" alt="Conference logo">
            <p>Conference</p>
        </div>
    </div>
    <div class="col-md-10 ">
        <section id="analyzing-and-debugging-ignite-applications-for-performance">
            <h3 style="display:inline-block;">Analyzing and Debugging Ignite Applications for Performance
                <a href="/events.html#analyzing-and-debugging-ignite-applications-for-performance"><i
                        class="fa fa-anchor"></i></a>
            </h3>
            <div class="event-date">In-Memory Computing Summit, Greg Stachnick</div>
            <div class="event-date">October 28, 2020</div>

            <p>In this demo-driven session, you will learn how to enable tracing in your Ignite application, how to collect and analyze span data, and how to debug the various parts of the application lifecycle. We will also identify key performance metrics which you should be aware of when monitoring production applications.</p>

            <div class="row">
                    <div class=" col-md-9  news-readmore">
                    <p>
                        <a href="https://www.imcsummit.org/2020/virtual/session/analyzing-and-debugging-ignite-applications-performance" target="_blank" rel="noopener">Read more</a>
                    </p>
                </div>
                <div class=" col-md-3  ">

                    
                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                        data-a2a-url="https://www.imcsummit.org/2020/virtual/session/analyzing-and-debugging-ignite-applications-performance"
                        data-a2a-title="Analyzing and Debugging Ignite Applications for Performance">
                        <a class="a2a_button_twitter"></a>
                        <a class="a2a_button_linkedin"></a>
                        <a class="a2a_button_facebook"></a>
                        <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                    </div>
                </div>
            </div>
            
        </section>
    </div>
</div>
<div class="row row-event">
    <div class="col-md-2 d-none d-md-block">
        <div class="round-icon-block">
            <img src="images/conferences.svg" alt="Conference logo">
            <p>Conference</p>
        </div>
    </div>
    <div class="col-md-10 ">
        <section id="going-cloud-native-serverless-applications-with-apache-ignite">
            <h3 style="display:inline-block;">Going Cloud-Native: Serverless Applications With Apache Ignite
                <a href="/events.html#going-cloud-native-serverless-applications-with-apache-ignite"><i
                        class="fa fa-anchor"></i></a>
            </h3>
            <div class="event-date">In-Memory Computing Summit, Denis Magda</div>
            <div class="event-date">October 28, 2020</div>

            <p>Serverless computing allows you to design and build scalable cloud-native applications without thinking about infrastructure provisioning and orchestration. With Apache Ignite, you can bootstrap an in-memory cluster in the cloud and access data 100-1000x faster than with disk-based databases. Join Denis discussing architectural patterns and design considerations for deploying Apache Ignite in a serverless computing environment.</p>

            <div class="row">
                    <div class=" col-md-9  news-readmore">
                    <p>
                        <a href="https://www.imcsummit.org/2020/virtual/session/going-cloud-native-serverless-applications-apache-ignite" target="_blank" rel="noopener">Read more</a>
                    </p>
                </div>
                <div class=" col-md-3  ">

                    
                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                        data-a2a-url="https://www.imcsummit.org/2020/virtual/session/going-cloud-native-serverless-applications-apache-ignite"
                        data-a2a-title="Going Cloud-Native: Serverless Applications With Apache Ignite">
                        <a class="a2a_button_twitter"></a>
                        <a class="a2a_button_linkedin"></a>
                        <a class="a2a_button_facebook"></a>
                        <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                    </div>
                </div>
            </div>
            
        </section>
    </div>
</div>
<div class="row row-event">
    <div class="col-md-2 d-none d-md-block">
        <div class="round-icon-block">
            <img src="images/conferences.svg" alt="Conference logo">
            <p>Conference</p>
        </div>
    </div>
    <div class="col-md-10 ">
        <section id="training-setting-up-apache-ignite-management-and-monitoring-solution-with-gridgain-control-center">
            <h3 style="display:inline-block;">Training: Setting Up Apache Ignite Management and Monitoring Solution With GridGain Control Center
                <a href="/events.html#training-setting-up-apache-ignite-management-and-monitoring-solution-with-gridgain-control-center"><i
                        class="fa fa-anchor"></i></a>
            </h3>
            <div class="event-date">In-Memory Computing Summit, Denis Magda</div>
            <div class="event-date">October 27, 2020</div>

            <p>This instructor-led training is for those wondering how to monitor and manage Apache Ignite (or GridGain) clusters in production: what the most important metrics are, how to set up alerting or troubleshoot performance when the cluster is under the production load, and how to do cluster backups. The list of questions and challenges related to Ignite production monitoring goes on and on. And you’ll get many of those questions covered.</p>

            <div class="row">
                    <div class=" col-md-9  news-readmore">
                    <p>
                        <a href="https://www.imcsummit.org/2020/virtual/register" target="_blank" rel="noopener">Read more</a>
                    </p>
                </div>
                <div class=" col-md-3  ">

                    
                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                        data-a2a-url="https://www.imcsummit.org/2020/virtual/register"
                        data-a2a-title="Training: Setting Up Apache Ignite Management and Monitoring Solution With GridGain Control Center">
                        <a class="a2a_button_twitter"></a>
                        <a class="a2a_button_linkedin"></a>
                        <a class="a2a_button_facebook"></a>
                        <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                    </div>
                </div>
            </div>
            
        </section>
    </div>
</div>
<div class="row row-event">
    <div class="col-md-2 d-none d-md-block">
        <div class="round-icon-block">
            <img src="images/meetup.svg" alt="Meetup logo">
            <p><strong>Virtual</strong> Meetup</p>
        </div>
    </div>
    <div class="col-md-10 ">
        <section id="apache-ignite-lightning-talks-and-q-a-session">
            <h3 style="display:inline-block;">Apache Ignite Lightning Talks and Q&A Session
                <a href="/events.html#apache-ignite-lightning-talks-and-q-a-session"><i
                        class="fa fa-anchor"></i></a>
            </h3>
            <div class="event-date">Virtual Apache Ignite® Meetup</div>
            <div class="event-date">October 20, 2020</div>

            <p>On October 20, join a special community session and ask experts about Ignite features, configuration, and architecture. We will start with three 10-minute tech talks by Ignite developers: Apache Ignite System Views — Show what was hidden — Nikolay Izhikov, Apache Ignite PMC Communication via Discovery — Ivan Bessonov, Apache Ignite Contributor working with Ignite Core TBD — Ravil Galeyev, Apache Ignite ML module Contributor Then, you will have an hour to ask our pool of experts your Ignite questions.</p>

            <div class="row">
                    <div class=" col-md-9  news-readmore">
                    <p>
                        <a href="https://www.meetup.com/ru-RU/Apache-Ignite-Virtual-Meetup/events/273921637/" target="_blank" rel="noopener">Read more</a>
                    </p>
                </div>
                <div class=" col-md-3  ">

                    
                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                        data-a2a-url="https://www.meetup.com/ru-RU/Apache-Ignite-Virtual-Meetup/events/273921637/"
                        data-a2a-title="Apache Ignite Lightning Talks and Q&A Session">
                        <a class="a2a_button_twitter"></a>
                        <a class="a2a_button_linkedin"></a>
                        <a class="a2a_button_facebook"></a>
                        <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                    </div>
                </div>
            </div>
            
        </section>
    </div>
</div>

                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinar logo">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="apache-ignite-workshop-cluster-memory-management-techniques">
                                <h3 style="display:inline-block;">Apache Ignite Workshop: Cluster Memory Management Techniques
                                    <a href="/events.html#apache-ignite-workshop-cluster-memory-management-techniques"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Denis Magda</div>
                                <div class="event-date">October 14</div>
                    
                                <p>In this webinar, Denis Magda will introduce several architectural techniques that can help you keep your cluster operational and your applications running even if memory becomes a scarce resource. During the webinar demo you will learn how to use those techniques in practice. </p>
                    
                                <div class="row">
                                        <div class=" col-md-9  news-readmore">
                                        <p>
                                            <a href="https://www.gridgain.com/resources/webinars/apache-ignite-workshop-cluster-memory-management-techniques" target="_blank" rel="noopener">Read more</a>
                                        </p>
                                    </div>
                                    <div class=" col-md-3  ">
                    
                                        
                                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                            data-a2a-url="https://www.gridgain.com/resources/webinars/apache-ignite-workshop-cluster-memory-management-techniques"
                                            data-a2a-title="Apache Ignite Workshop: Cluster Memory Management Techniques">
                                            <a class="a2a_button_twitter"></a>
                                            <a class="a2a_button_linkedin"></a>
                                            <a class="a2a_button_facebook"></a>
                                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                        </div>
                                    </div>
                                </div>
                                
                            </section>
                        </div>
                    </div>

                    
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup logo">
                                <p><strong>Virtual</strong> Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="in-memory-computing-essentials-for-java-developers-and-architects-with-vjug">
                                <h3 style="display:inline-block;">In-Memory Computing Essentials for Java Developers and Architects with VJUG
                                    <a href="/events.html#in-memory-computing-essentials-for-java-developers-and-architects-with-vjug"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Virtual Java User Group, Denis Magda</div>
                                <div class="event-date">October 8, 2020</div>
                    
                                <p>This session is for software engineers and architects who build data-intensive applications and want practical experience with in-memory computing. You will be introduced to the fundamental capabilities of distributed, in-memory systems and will learn how to tap into your cluster’s resources.</p>
                    
                                <div class="row">
                                        <div class=" col-md-9  news-readmore">
                                        <p>
                                            <a href="https://www.meetup.com/virtualJUG/events/273278453/" target="_blank" rel="noopener">Read more</a>
                                        </p>
                                    </div>
                                    <div class=" col-md-3  ">
                    
                                        
                                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                            data-a2a-url="https://www.meetup.com/virtualJUG/events/273278453/"
                                            data-a2a-title="In-Memory Computing Essentials for Java Developers and Architects with VJUG">
                                            <a class="a2a_button_twitter"></a>
                                            <a class="a2a_button_linkedin"></a>
                                            <a class="a2a_button_facebook"></a>
                                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                        </div>
                                    </div>
                                </div>
                                
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup logo">
                                <p><strong>Virtual</strong> Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="in-memory-computing-essentials-for-java-developers-and-architects-with-ljc">
                                <h3 style="display:inline-block;">In-Memory Computing Essentials for Java Developers and Architects with LJC
                                    <a href="/events.html#in-memory-computing-essentials-for-java-developers-and-architects-with-ljc"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">London Java Community Meetup, Denis Magda</div>
                                <div class="event-date">October 7, 2020</div>
                    
                                <p>This session is for software engineers and architects who build data-intensive applications and want practical experience with in-memory computing. You will be introduced to the fundamental capabilities of distributed, in-memory systems and will learn how to tap into your cluster’s resources.</p>
                    
                                <div class="row">
                                        <div class=" col-md-9  news-readmore">
                                        <p>
                                            <a href="https://www.eventbrite.co.uk/e/in-memory-computing-essentials-for-java-developers-architects-tickets-123331914075" target="_blank" rel="noopener">Read more</a>
                                        </p>
                                    </div>
                                    <div class=" col-md-3  ">
                    
                                        
                                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                            data-a2a-url="https://www.eventbrite.co.uk/e/in-memory-computing-essentials-for-java-developers-architects-tickets-123331914075"
                                            data-a2a-title="In-Memory Computing Essentials for Java Developers and Architects with LJC">
                                            <a class="a2a_button_twitter"></a>
                                            <a class="a2a_button_linkedin"></a>
                                            <a class="a2a_button_facebook"></a>
                                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                        </div>
                                    </div>
                                </div>
                                
                            </section>
                        </div>
                    </div>
                    
                    
                    
                           
                            
                            



                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/conferences.svg" alt="Conference logo">
                                <p>Conference</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="imc-essentials-jconf-dev">
                                <h3 style="display:inline-block;">In-Memory Computing Essentials for Software Engineers
                                    <a href="/events.html#imc-essentials-jconf-dev"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">JConf.dev, Denis Magda</div>
                                <div class="event-date">September 30, 2020</div>
            
                                <p>Distributed, in-memory computing technologies such as caches, data grids, and databases boost
                                    application performance and solve scalability problems by storing and processing large datasets
                                    across a cluster of interconnected machines.
            
                                    This session is for software engineers and architects who build data-intensive applications and
                                    want practical experience with in-memory computing. You will be introduced to the fundamental
                                    capabilities of distributed, in-memory systems and will
                                    learn how to tap into your cluster’s resources and how to negate any negative impact that the
                                    network might have on the performance of your applications.
                                </p>
            
                                <div class="row">
                                    <div class=" col-md-9  news-readmore">
                                        <p>
                                            <a href="https://jconf.dev/session?id=5454" target="_blank" rel="noopener">Join</a>
                                        </p>
                                    </div>
                                    <div class=" col-md-3  ">
            
                                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                             data-a2a-url="https://jconf.dev/session?id=5454"
                                             data-a2a-title="In-Memory Computing Essentials for Software Engineers">
                                            <a class="a2a_button_twitter"></a>
                                            <a class="a2a_button_linkedin"></a>
                                            <a class="a2a_button_facebook"></a>
                                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                        </div>
                                    </div>
                                </div>
            
                            </section>
                        </div>
                    </div>

                    
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/conferences.svg" alt="Conference logo">
                                <p>Conference</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="data-streaming-using-apache-flink-and-apache-ignite-apache-con">
                                <h3 style="display:inline-block;">Data Streaming using Apache Flink and Apache Ignite
                                    <a href="/events.html#data-streaming-using-apache-flink-and-apache-ignite-apache-con"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">ApacheCon @home, Saikat Maitra</div>
                                <div class="event-date">September 29, 2020</div>
                    
                                <p>Join Saikat Maitra to learn how to build a simple data streaming application using Apache Flink and Apache Ignite. This stream processing topology will allow data streaming in a distributed, scalable, and fault-tolerant manner, which can process data sets consisting of virtually unlimited streams of events. </p>
                    
                                <div class="row">
                                        <div class=" col-md-9  news-readmore">
                                        <p>
                                            <a href="https://apachecon.com/acah2020/tracks/ignite.html" target="_blank" rel="noopener">Read more</a>
                                        </p>
                                    </div>
                                    <div class=" col-md-3  ">
                    
                                        
                                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                            data-a2a-url="https://apachecon.com/acah2020/tracks/ignite.html"
                                            data-a2a-title="Data Streaming using Apache Flink and Apache Ignite">
                                            <a class="a2a_button_twitter"></a>
                                            <a class="a2a_button_linkedin"></a>
                                            <a class="a2a_button_facebook"></a>
                                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                        </div>
                                    </div>
                                </div>
                                
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/conferences.svg" alt="Conference logo">
                                <p>Conference</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="in-memory-computing-essentials-for-software-engineers-apache">
                                <h3 style="display:inline-block;">In-Memory Computing Essentials For Software Engineers
                                    <a href="/events.html#in-memory-computing-essentials-for-software-engineers-apache"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">ApacheCon @home, Denis Magda</div>
                                <div class="event-date">September 29, 2020</div>
                    
                                <p>Attendees will be introduced to the fundamental capabilities of in-memory computing platforms
                                    that are proven to boost application performance and solve scalability problems by storing and
                                    processing unlimited data sets distributed across a cluster of interconnected machines. The
                                    session is tailored for software engineers and architects seeking practical experience with in-memory computing technologies. </p>
                    
                                <div class="row">
                                        <div class=" col-md-9  news-readmore">
                                        <p>
                                            <a href="https://apachecon.com/acah2020/tracks/ignite.html" target="_blank" rel="noopener">Read more</a>
                                        </p>
                                    </div>
                                    <div class=" col-md-3  ">
                    
                                        
                                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                            data-a2a-url="https://apachecon.com/acah2020/tracks/ignite.html"
                                            data-a2a-title="In-Memory Computing Essentials For Software Engineers">
                                            <a class="a2a_button_twitter"></a>
                                            <a class="a2a_button_linkedin"></a>
                                            <a class="a2a_button_facebook"></a>
                                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                        </div>
                                    </div>
                                </div>
                                
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/conferences.svg" alt="Conference logo">
                                <p>Conference</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="apache-ignite-continuous-machine-and-deep-learning-at-scale">
                                <h3 style="display:inline-block;">Apache Ignite: Continuous Machine and Deep Learning at Scale
                                    <a href="/events.html#apache-ignite-continuous-machine-and-deep-learning-at-scale"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Developer Week Seattle: Cloud Edition, Ken Cottrell</div>
                                <div class="event-date">September 28, 2020</div>
            
                                <p>Learn how Apache Ignite in-memory computing platform addresses these ML limitations with distributed model training and execution, to provide near-real-time, continuous learning capabilities. This discussion will explain how distributed ML/DL works with Apache Ignite, and how to get started.</p>
            
                                <div class="row">
                                        <div class=" col-md-9  news-readmore">
                                        <p>
                                            <a href="https://www.developerweek.com/CloudEdition/conference/" target="_blank" rel="noopener">Read more</a>
                                        </p>
                                    </div>
                                    <div class=" col-md-3  ">
            
                                        
                                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                            data-a2a-url="https://www.developerweek.com/CloudEdition/conference/"
                                            data-a2a-title="Apache Ignite: Continuous Machine and Deep Learning at Scale">
                                            <a class="a2a_button_twitter"></a>
                                            <a class="a2a_button_linkedin"></a>
                                            <a class="a2a_button_facebook"></a>
                                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                        </div>
                                    </div>
                                </div>
                                
                            </section>
                        </div>
                    </div>
            
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/conferences.svg" alt="Conference logo">
                                <p>Conference</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="heads-in-the-cloud-cloud-deployment-best-practices-for-in-memory-computing">
                                <h3 style="display:inline-block;">Heads in the Cloud: Cloud Deployment Best Practices for in Memory Computing
                                    <a href="/events.html#heads-in-the-cloud-cloud-deployment-best-practices-for-in-memory-computing"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Developer Week Seattle: Cloud Edition, Greg Stachnik</div>
                                <div class="event-date">September 28, 2020</div>
            
                                <p>During this session, we will introduce the Apache Ignite in-memory computing platform and identify key metrics that can help you maximize application performance on your existing cloud infrastructure. We will provide best practices on how best to structure and deploy in-memory applications on both public and hybrid clouds.</p>
            
                                <div class="row">
                                        <div class=" col-md-9  news-readmore">
                                        <p>
                                            <a href="https://www.developerweek.com/CloudEdition/conference/" target="_blank" rel="noopener">Read more</a>
                                        </p>
                                    </div>
                                    <div class=" col-md-3  ">
            
                                        
                                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                            data-a2a-url="https://www.developerweek.com/CloudEdition/conference/"
                                            data-a2a-title="Heads in the Cloud: Cloud Deployment Best Practices for in Memory Computing">
                                            <a class="a2a_button_twitter"></a>
                                            <a class="a2a_button_linkedin"></a>
                                            <a class="a2a_button_facebook"></a>
                                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                        </div>
                                    </div>
                                </div>
                                
                            </section>
                        </div>
                    </div>
                    

                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup logo">
                                <p><strong>Virtual</strong> Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="apache-ignite-3-0-major-changes-and-features-in-russian">
                                <h3 style="display:inline-block;">Apache Ignite 3.0: Major Changes and Features in Russian
                                    <a href="/events.html#apache-ignite-3-0-major-changes-and-features-in-russian"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Virtual Meetup, Valentin Kulichenko</div>
                                <div class="event-date">September 17, 2020</div>

                                <p>Apache Ignite 3.0 is coming! What will it be? September 15 Val Kulichenko, a community old-timer and the Ignite 3.0 release manager, will open the discussion by covering major changes that are proposed for release 3.0. The gathering will be in Russian.</p>

                                <div class="row">
                                    <div class=" col-md-9  news-readmore">
                                        <p>
                                            <a href="https://www.meetup.com/ru-RU/Moscow-Apache-Ignite-Meetup/events/272675398/" target="_blank" rel="noopener">Read more</a>
                                        </p>
                                    </div>
                                    <div class=" col-md-3  ">


                                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                             data-a2a-url="https://www.meetup.com/ru-RU/Moscow-Apache-Ignite-Meetup/events/272675398/"
                                             data-a2a-title="Apache Ignite 3.0: Major Changes and Features in Russian">
                                            <a class="a2a_button_twitter"></a>
                                            <a class="a2a_button_linkedin"></a>
                                            <a class="a2a_button_facebook"></a>
                                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                        </div>
                                    </div>
                                </div>

                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinar logo">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="going-cloud-native-serverless-applications-with-apache-ignite">
                                <h3 style="display:inline-block;">Going Cloud-Native: Serverless Applications With Apache Ignite
                                    <a href="/events.html#going-cloud-native-serverless-applications-with-apache-ignite"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Denis Magda</div>
                                <div class="event-date">September 16, 2020</div>
                    
                                <p>Serverless computing allows you to design and build scalable cloud-native applications without thinking about infrastructure provisioning and orchestration. With Apache Ignite, you can bootstrap an in-memory cluster in the cloud and access data 100-1000x faster than with disk-based databases.</p>
                    
                                <div class="row">
                                        <div class=" col-md-9  news-readmore">
                                        <p>
                                            <a href="https://www.gridgain.com/resources/webinars/going-cloud-native-serverless-applications-apache-ignite" target="_blank" rel="noopener">Read more</a>
                                        </p>
                                    </div>
                                    <div class=" col-md-3  ">
                    
                                        
                                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                            data-a2a-url="https://www.gridgain.com/resources/webinars/going-cloud-native-serverless-applications-apache-ignite"
                                            data-a2a-title="Going Cloud-Native: Serverless Applications With Apache Ignite">
                                            <a class="a2a_button_twitter"></a>
                                            <a class="a2a_button_linkedin"></a>
                                            <a class="a2a_button_facebook"></a>
                                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                        </div>
                                    </div>
                                </div>
                                
                            </section>
                        </div>
                    </div>
                    
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup logo">
                                <p><strong>Virtual</strong> Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="apache-ignite-3-0-major-changes-and-features">
                                <h3 style="display:inline-block;">Apache Ignite 3.0: Major Changes and Features
                                    <a href="/events.html#apache-ignite-3-0-major-changes-and-features"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Virtual Meetup, Valentin Kulichenko</div>
                                <div class="event-date">September 15, 2020</div>
                    
                                <p>Apache Ignite 3.0 is coming! What will it be? September 15 Val Kulichenko, a community old-timer and the Ignite 3.0 release manager, will open the discussion by covering major changes that are proposed for release 3.0.</p>
                    
                                <div class="row">
                                        <div class=" col-md-9  news-readmore">
                                        <p>
                                            <a href="https://www.meetup.com/Apache-Ignite-Virtual-Meetup/events/272675408/" target="_blank" rel="noopener">Read more</a>
                                        </p>
                                    </div>
                                    <div class=" col-md-3  ">
                    
                                        
                                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                            data-a2a-url="https://www.meetup.com/Apache-Ignite-Virtual-Meetup/events/272675408/"
                                            data-a2a-title="Apache Ignite 3.0: Major Changes and Features">
                                            <a class="a2a_button_twitter"></a>
                                            <a class="a2a_button_linkedin"></a>
                                            <a class="a2a_button_facebook"></a>
                                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                        </div>
                                    </div>
                                </div>
                                
                            </section>
                        </div>
                    </div>

                    
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinar logo">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="networking-communication-in-apache-ignite">
                                <h3 style="display:inline-block;">Networking & Communication in Apache Ignite
                                    <a href="/events.html#networking-communication-in-apache-ignite"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Stanislav Lukyanov</div>
                                <div class="event-date">September 9, 2020</div>
                    
                                <p>Networking is a core pillar of any distributed system and is responsible for cluster-node discovery procedures, peer-to-peer communication between nodes, and failure handling. Network architecture can greatly influence operational performance and efficiency.</p>
                    
                                <div class="row">
                                        <div class=" col-md-9  news-readmore">
                                        <p>
                                            <a href="https://www.gridgain.com/resources/webinars/maximize-apache-ignite-performance-optimizing-network-components" target="_blank" rel="noopener">Read more</a>
                                        </p>
                                    </div>
                                    <div class=" col-md-3  ">
                    
                                        
                                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                            data-a2a-url="https://www.gridgain.com/resources/webinars/maximize-apache-ignite-performance-optimizing-network-components"
                                            data-a2a-title="Networking & Communication in Apache Ignite">
                                            <a class="a2a_button_twitter"></a>
                                            <a class="a2a_button_linkedin"></a>
                                            <a class="a2a_button_facebook"></a>
                                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                        </div>
                                    </div>
                                </div>
                                
                            </section>
                        </div>
                    </div>
                    
                    
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup logo">
                                <p><strong>Virtual</strong> Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="when-you-don-t-need-apache-ignite-3-cases-when-you-d-better-not-use-platform">
                                <h3 style="display:inline-block;">When You Don't Need Apache Ignite: 3 cases when you'd better not use platform
                                    <a href="/events.html#when-you-don-t-need-apache-ignite-3-cases-when-you-d-better-not-use-platform"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Virtual Apache Ignite Meetup, Dmitry Pavlov</div>
                                <div class="event-date">September 8, 2020</div>
                    
                                <p>For some cases, Apache Ignite is the perfect application. However, also, for some cases, Apache Ignite can be a disappointment. In this talk, Dmitry Pavlov discusses some popular and less-than popular use cases. The presentation focuses on the needs of developers and architects who face application-performance problems.</p>
                    
                                <div class="row">
                                        <div class=" col-md-9  news-readmore">
                                        <p>
                                            <a href="https://www.meetup.com/Apache-Ignite-Virtual-Meetup/events/272551117/" target="_blank" rel="noopener">Read more</a>
                                        </p>
                                    </div>
                                    <div class=" col-md-3  ">
                    
                                        
                                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                            data-a2a-url="https://www.meetup.com/Apache-Ignite-Virtual-Meetup/events/272551117/"
                                            data-a2a-title="When You Don't Need Apache Ignite: 3 cases when you'd better not use platform">
                                            <a class="a2a_button_twitter"></a>
                                            <a class="a2a_button_linkedin"></a>
                                            <a class="a2a_button_facebook"></a>
                                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                        </div>
                                    </div>
                                </div>
                                
                            </section>
                        </div>
                    </div>

                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinar logo">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="getting-started-with-apache-ignite-digital-integration-hub">
                                <h3 style="display:inline-block;">Getting Started with Apache Ignite: Digital Integration Hub
                                    <a href="/events.html#getting-started-with-apache-ignite-digital-integration-hub"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Glenn Wiebe</div>
                                <div class="event-date">September 2, 2020</div>
                    
                                <p>Apache Ignite and GridGain can be used as a simple cache, an in-memory data grid (IMDG), and as an in-memory database (IMDB). These data management patterns can be combined with Ignite integration facilities to function as a Digital Integration Hub (DIH) for real-time data access across data sources and applications.</p>
                    
                                <div class="row">
                                        <div class=" col-md-9  news-readmore">
                                        <p>
                                            <a href="https://www.gridgain.com/resources/webinars/getting-started-apache-ignite-digital-integration-hub" target="_blank" rel="noopener">Read more</a>
                                        </p>
                                    </div>
                                    <div class=" col-md-3  ">
                    
                                        
                                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                            data-a2a-url="https://www.gridgain.com/resources/webinars/getting-started-apache-ignite-digital-integration-hub"
                                            data-a2a-title="Getting Started with Apache Ignite: Digital Integration Hub">
                                            <a class="a2a_button_twitter"></a>
                                            <a class="a2a_button_linkedin"></a>
                                            <a class="a2a_button_facebook"></a>
                                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                        </div>
                                    </div>
                                </div>
                                
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinar logo">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="using-distributed-tracing-to-resolve-performance-issues-in-apache-ignite">
                                <h3 style="display:inline-block;">Using Distributed Tracing to Resolve Performance Issues in Apache Ignite
                                    <a href="/events.html#using-distributed-tracing-to-resolve-performance-issues-in-apache-ignite"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Greg Stachnick</div>
                                <div class="event-date">August 26, 2020</div>
                    
                                <p>Debugging distributed-system applications can be more complex than debugging traditional monolithic applications. As API calls jump across nodes in the cluster, it can be tricky to follow the execution just by analyzing application logs. Tracing adds a useful tool to the root-cause-analysis toolbox.</p>
                    
                                <div class="row">
                                        <div class=" col-md-9  news-readmore">
                                        <p>
                                            <a href="https://www.gridgain.com/resources/webinars/using-distributed-tracing-resolve-performance-issues-in-apache-ignite" target="_blank" rel="noopener">Read more</a>
                                        </p>
                                    </div>
                                    <div class=" col-md-3  ">
                    
                                        
                                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                            data-a2a-url="https://www.gridgain.com/resources/webinars/using-distributed-tracing-resolve-performance-issues-in-apache-ignite"
                                            data-a2a-title="Using Distributed Tracing to Resolve Performance Issues in Apache Ignite">
                                            <a class="a2a_button_twitter"></a>
                                            <a class="a2a_button_linkedin"></a>
                                            <a class="a2a_button_facebook"></a>
                                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                        </div>
                                    </div>
                                </div>
                                
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup logo">
                                <p><strong>Virtual</strong> Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="apache-ignite-ml-2-8-a-complete-feature-overview">
                                <h3 style="display:inline-block;">Apache Ignite ML 2.8: A Complete Feature Overview
                                    <a href="/events.html#apache-ignite-ml-2-8-a-complete-feature-overview"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Apache Ignite Saint Petersburg Meetup, Alexey Zinoviev</div>
                                <div class="event-date">August 20, 2020</div>
                    
                                <p>The talk will be presented in Russian. In this 50-minute presentation, the module maintainer Alexey Zinoviev will give a complete overview of the ML functionality. He will tell what can already be done with Apache Ignite ML and what cannot be done yet.</p>
                    
                                <div class="row">
                                        <div class=" col-md-9  news-readmore">
                                        <p>
                                            <a href="https://www.meetup.com/St-Petersburg-Apache-Ignite-Meetup/events/272207798/" target="_blank" rel="noopener">Read more</a>
                                        </p>
                                    </div>
                                    <div class=" col-md-3  ">
                    
                                        
                                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                            data-a2a-url="https://www.meetup.com/St-Petersburg-Apache-Ignite-Meetup/events/272207798/"
                                            data-a2a-title="Apache Ignite ML 2.8: A Complete Feature Overview">
                                            <a class="a2a_button_twitter"></a>
                                            <a class="a2a_button_linkedin"></a>
                                            <a class="a2a_button_facebook"></a>
                                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                        </div>
                                    </div>
                                </div>
                                
                            </section>
                        </div>
                    </div>
                    


                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup logo">
                                <p><strong>Virtual</strong> Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="building-a-blockchain-network-with-perper-a-serverless-computation-framework-for-apache-ignite">
                                <h3 style="display:inline-block;">Building a Blockchain Network with Perper, a Serverless Computation Framework for Apache Ignite
                                    <a href="/events.html#building-a-blockchain-network-with-perper-a-serverless-computation-framework-for-apache-ignite"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Apache Ignite Virtual Meetup, Branimir Angelov</div>
                                <div class="event-date">August 11, 2020</div>
                    
                                <p>Apache Ignite offers powerful, in-memory, distributed-computing capabilities. These capabilities can provide the foundation for building various programming models. In this talk, we focus on reactive programming and how to use Apache Ignite to build a serverless computation framework that is based on reactive streams (Perper). We discuss Apache Ignite topics such as services, data locality, continuous queries, and platform interoperability. </p>
                    
                                <div class="row">
                                        <div class=" col-md-9  news-readmore">
                                        <p>
                                            <a href="https://www.meetup.com/Apache-Ignite-Virtual-Meetup/events/271920068/" target="_blank" rel="noopener">Read more</a>
                                        </p>
                                    </div>
                                    <div class=" col-md-3  ">
                    
                                        
                                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                            data-a2a-url="https://www.meetup.com/Apache-Ignite-Virtual-Meetup/events/271920068/"
                                            data-a2a-title="Building a Blockchain Network with Perper, a Serverless Computation Framework for Apache Ignite">
                                            <a class="a2a_button_twitter"></a>
                                            <a class="a2a_button_linkedin"></a>
                                            <a class="a2a_button_facebook"></a>
                                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                        </div>
                                    </div>
                                </div>
                                
                            </section>
                        </div>
                    </div>

                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinar logo">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="apache-ignite-101-key-deployment-strategies-for-database-acceleration">
                                <h3 style="display:inline-block;">Apache Ignite 101: Key Deployment Strategies for Database Acceleration
                                    <a href="/events.html#apache-ignite-101-key-deployment-strategies-for-database-acceleration"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Valentin Kulichenko</div>
                                <div class="event-date">August 5, 2020</div>
                    
                                <p>The Ignite in-memory computing platform can power real-time applications that need to process terabytes of data with in-memory speed. Join us for this webinar to learn about the various Ignite deployment options for database acceleration</p>
                    
                                <div class="row">
                                        <div class=" col-md-9  news-readmore">
                                        <p>
                                            <a href="https://www.gridgain.com/resources/webinars/database-acceleration-deployment-strategies-with-apache-ignite" target="_blank" rel="noopener">Read more</a>
                                        </p>
                                    </div>
                                    <div class=" col-md-3  ">
                    
                                        
                                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                            data-a2a-url="https://www.gridgain.com/resources/webinars/database-acceleration-deployment-strategies-with-apache-ignite"
                                            data-a2a-title="Apache Ignite 101: Key Deployment Strategies for Database Acceleration">
                                            <a class="a2a_button_twitter"></a>
                                            <a class="a2a_button_linkedin"></a>
                                            <a class="a2a_button_facebook"></a>
                                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                        </div>
                                    </div>
                                </div>
                                
                            </section>
                        </div>
                    </div>
                    

                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup logo">
                                <p><strong>Virtual</strong> Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="apache-ignite-best-practices-for-native-persistence-and-data-recovery">
                                <h3 style="display:inline-block;">Apache Ignite Best Practices for Native Persistence and Data Recovery
                                    <a href="/events.html#apache-ignite-best-practices-for-native-persistence-and-data-recovery"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Apache Ignite Virtual Meetup, Ivan Rakov</div>
                                <div class="event-date">July 28, 2020</div>
                    
                                <p>When persistence is enabled, the memory becomes a cache for the most frequently used data and indexes. Native persistence is ACID-compliant, durable, and enables immediate availability on a restart of each node. Data is never lost; GridGain supports full and incremental snapshots along with continuous archiving and provides Point-in-Time recovery to an individual transaction.</p>
                    
                                <div class="row">
                                        <div class=" col-md-9  news-readmore">
                                        <p>
                                            <a href="https://www.meetup.com/Apache-Ignite-Virtual-Meetup/events/271602652/" target="_blank" rel="noopener">Read more</a>
                                        </p>
                                    </div>
                                    <div class=" col-md-3  ">
                    
                                        
                                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                            data-a2a-url="https://www.meetup.com/Apache-Ignite-Virtual-Meetup/events/271602652/"
                                            data-a2a-title="Apache Ignite Best Practices for Native Persistence and Data Recovery">
                                            <a class="a2a_button_twitter"></a>
                                            <a class="a2a_button_linkedin"></a>
                                            <a class="a2a_button_facebook"></a>
                                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                        </div>
                                    </div>
                                </div>
                                
                            </section>
                        </div>
                    </div>
                    
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinar logo">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="building-a-blockchain-network-with-perper-a-serverless-computation-framework-for-apache-ignite">
                                <h3 style="display:inline-block;">Building a Blockchain Network with Perper, a Serverless Computation Framework for Apache Ignite.
                                    <a href="/events.html#building-a-blockchain-network-with-perper-a-serverless-computation-framework-for-apache-ignite"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Branimir Angelov</div>
                                <div class="event-date">July 22, 2020</div>
                    
                                <p>Apache Ignite offers powerful, in-memory, distributed-computing capabilities. These capabilities can provide the foundation for building various programming models. In this talk, we focus on reactive programming and how to use Apache Ignite to build a serverless computation framework that is based on reactive streams (Perper). We discuss Apache Ignite topics such as services, data locality, continuous queries, and platform interoperability. </p>
                    
                                <div class="row">
                                        <div class=" col-md-9  news-readmore">
                                        <p>
                                            <a href="https://www.gridgain.com/resources/webinars/building-blockchain-network-with-perper" target="_blank" rel="noopener">Read more</a>
                                        </p>
                                    </div>
                                    <div class=" col-md-3  ">
                    
                                        
                                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                            data-a2a-url="https://www.gridgain.com/resources/webinars/building-blockchain-network-with-perper"
                                            data-a2a-title="Building a Blockchain Network with Perper, a Serverless Computation Framework for Apache Ignite.">
                                            <a class="a2a_button_twitter"></a>
                                            <a class="a2a_button_linkedin"></a>
                                            <a class="a2a_button_facebook"></a>
                                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                        </div>
                                    </div>
                                </div>
                                
                            </section>
                        </div>
                    </div>
                    
<div class="row row-event">
    <div class="col-md-2 d-none d-md-block">
        <div class="round-icon-block">
            <img src="images/meetup.svg" alt="Meetup logo">
            <p><strong>Virtual</strong> Meetup</p>
        </div>
    </div>
    <div class="col-md-10 ">
        <section id="when-you-do-not-need-apache-ignite">
            <h3 style="display:inline-block;">When you DO NOT need Apache Ignite
                <a href="/events.html#when-you-do-not-need-apache-ignite"><i
                        class="fa fa-anchor"></i></a>
            </h3>
            <div class="event-date">Java Community Meetup Saint Petersburg, Dmitry Pavlov</div>
            <div class="event-date">July 16, 2020</div>

            <p>Apache Ignite PMC Chair Dmitry Pavlov will talk about cases when Apache Ignite® should be replaced with other products, as well as about cases when the technology is worth using. We will discuss both the main cases - in-memory data grid & database, and the more rare ones - storing large files, organizing asynchronous interaction through message queues, and full-text search.</p>

            <div class="row">
                    <div class=" col-md-9  news-readmore">
                    <p>
                        <a href="https://community-z.com/events/java-community-meetup" target="_blank" rel="noopener">Read more</a>
                    </p>
                </div>
                <div class=" col-md-3  ">

                    
                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                        data-a2a-url="https://community-z.com/events/java-community-meetup"
                        data-a2a-title="When you DO NOT need Apache Ignite">
                        <a class="a2a_button_twitter"></a>
                        <a class="a2a_button_linkedin"></a>
                        <a class="a2a_button_facebook"></a>
                        <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                    </div>
                </div>
            </div>
            
        </section>
    </div>
</div>
<div class="row row-event">
    <div class="col-md-2 d-none d-md-block">
        <div class="round-icon-block">
            <img src="images/meetup.svg" alt="Meetup logo">
            <p><strong>Virtual</strong> Meetup</p>
        </div>
    </div>
    <div class="col-md-10 ">
        <section id="how-to-boost-and-scale-postgres">
            <h3 style="display:inline-block;">How to boost and scale Postgres
                <a href="/events.html#how-to-boost-and-scale-postgres"><i
                        class="fa fa-anchor"></i></a>
            </h3>
            <div class="event-date">Chicago PostgreSQL Meetup Group, Valentin Kulichenko</div>
            <div class="event-date">July 15, 2020</div>

            <p>Due to this, many industry players tend to predict Postgres' extinction. Nevertheless, most businesses have Postgres deployments for decades and continue doing so regardless of the advancement in big data, mobile, IoT, and all other revolutions that contribute to data generation.</p>

            <div class="row">
                    <div class=" col-md-9  news-readmore">
                    <p>
                        <a href="https://www.meetup.com/Chicago-PostgreSQL-User-Group/events/271419029/" target="_blank" rel="noopener">Read more</a>
                    </p>
                </div>
                <div class=" col-md-3  ">

                    
                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                        data-a2a-url="https://www.meetup.com/Chicago-PostgreSQL-User-Group/events/271419029/"
                        data-a2a-title="How to boost and scale Postgres">
                        <a class="a2a_button_twitter"></a>
                        <a class="a2a_button_linkedin"></a>
                        <a class="a2a_button_facebook"></a>
                        <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                    </div>
                </div>
            </div>
            
        </section>
    </div>
</div>
<div class="row row-event">
    <div class="col-md-2 d-none d-md-block">
        <div class="round-icon-block">
            <img src="images/webinars.svg" alt="Webinar logo">
            <p>Webinar</p>
        </div>
    </div>
    <div class="col-md-10 ">
        <section id="architect-s-guide-for-continuous-machine-learning-platforms-with-apache-ignite-2-8">
            <h3 style="display:inline-block;">Architect’s Guide for Continuous Machine Learning Platforms With Apache Ignite 2.8
                <a href="/events.html#architect-s-guide-for-continuous-machine-learning-platforms-with-apache-ignite-2-8"><i
                        class="fa fa-anchor"></i></a>
            </h3>
            <div class="event-date">Webinar, Ken Cottrell</div>
            <div class="event-date">July 15, 2020</div>

            <p>Many machine learning (ML) and deep learning (DL) platforms are slow in production environments. It can sometimes take hours or days to update ML models. This is a result of having the ML processing run on a different system from the operational transactions system in order to avoid performance degradation.</p>

            <div class="row">
                    <div class=" col-md-9  news-readmore">
                    <p>
                        <a href="https://www.gridgain.com/resources/webinars/continuous-machine-learning-platforms-apache-ignite-2-8" target="_blank" rel="noopener">Read more</a>
                    </p>
                </div>
                <div class=" col-md-3  ">

                    
                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                        data-a2a-url="https://www.gridgain.com/resources/webinars/continuous-machine-learning-platforms-apache-ignite-2-8"
                        data-a2a-title="Architect’s Guide for Continuous Machine Learning Platforms With Apache Ignite 2.8">
                        <a class="a2a_button_twitter"></a>
                        <a class="a2a_button_linkedin"></a>
                        <a class="a2a_button_facebook"></a>
                        <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                    </div>
                </div>
            </div>
            
        </section>
    </div>
</div>
<div class="row row-event">
    <div class="col-md-2 d-none d-md-block">
        <div class="round-icon-block">
            <img src="images/webinars.svg" alt="Webinar logo">
            <p>Webinar</p>
        </div>
    </div>
    <div class="col-md-10 ">
        <section id="getting-started-with-apache-ignite-as-an-in-memory-database-imdb">
            <h3 style="display:inline-block;">Getting Started With Apache Ignite as an In-Memory Database (IMDB)
                <a href="/events.html#getting-started-with-apache-ignite-as-an-in-memory-database-imdb"><i
                        class="fa fa-anchor"></i></a>
            </h3>
            <div class="event-date">Webinar, Glenn Wiebe</div>
            <div class="event-date">July 8, 2020</div>

            <p>In this webinar, Glenn Wiebe, GridGain Solution Architect, will introduce developers to Apache Ignite as an in-memory database (IMDB). He will review how an IMDB differs from a cache or an in-memory data grid (IMDG). He will discuss the key characteristics of an IMDB and also highlight core Ignite features and facilities.</p>

            <div class="row">
                    <div class=" col-md-9  news-readmore">
                    <p>
                        <a href="https://www.gridgain.com/resources/webinars/get-started-with-apache-Ignite-as-an-in-memory-database" target="_blank" rel="noopener">Read more</a>
                    </p>
                </div>
                <div class=" col-md-3  ">

                    
                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                        data-a2a-url="https://www.gridgain.com/resources/webinars/get-started-with-apache-Ignite-as-an-in-memory-database"
                        data-a2a-title="Getting Started With Apache Ignite as an In-Memory Database (IMDB)">
                        <a class="a2a_button_twitter"></a>
                        <a class="a2a_button_linkedin"></a>
                        <a class="a2a_button_facebook"></a>
                        <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                    </div>
                </div>
            </div>
            
        </section>
    </div>
</div>
<div class="row row-event">
    <div class="col-md-2 d-none d-md-block">
        <div class="round-icon-block">
            <img src="images/webinars.svg" alt="Webinar logo">
            <p>Webinar</p>
        </div>
    </div>
    <div class="col-md-10 ">
        <section id="learn-apache-ignite-through-coding-examples">
            <h3 style="display:inline-block;">Learn Apache Ignite Through Coding Examples
                <a href="/events.html#learn-apache-ignite-through-coding-examples"><i
                        class="fa fa-anchor"></i></a>
            </h3>
            <div class="event-date">Webinar, Denis Magda</div>
            <div class="event-date">June 24, 2020</div>

            <p>Join Denis Magda, Apache Ignite veteran and GridGain Head of Developer Relations, as he demonstrates various Apache Ignite capabilities you might have heard of or read about. Topics covered will include clustering, compute and SQL capabilities, data loading and streaming.</p>

            <div class="row">
                    <div class=" col-md-9  news-readmore">
                    <p>
                        <a href="https://www.gridgain.com/resources/webinars/learn-apache-ignite-through-coding-examples" target="_blank" rel="noopener">Read more</a>
                    </p>
                </div>
                <div class=" col-md-3  ">

                    
                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                        data-a2a-url="https://www.gridgain.com/resources/webinars/learn-apache-ignite-through-coding-examples"
                        data-a2a-title="Learn Apache Ignite Through Coding Examples">
                        <a class="a2a_button_twitter"></a>
                        <a class="a2a_button_linkedin"></a>
                        <a class="a2a_button_facebook"></a>
                        <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                    </div>
                </div>
            </div>
            
        </section>
    </div>
</div>
<div class="row row-event">
    <div class="col-md-2 d-none d-md-block">
        <div class="round-icon-block">
            <img src="images/meetup.svg" alt="Meetup logo">
            <p><strong>Virtual</strong> Meetup</p>
        </div>
    </div>
    <div class="col-md-10 ">
        <section id="architecting-low-latency-java-systems-at-massive-scale">
            <h3 style="display:inline-block;">Architecting Low-Latency Java Systems at Massive Scale
                <a href="/events.html#architecting-low-latency-java-systems-at-massive-scale"><i
                        class="fa fa-anchor"></i></a>
            </h3>
            <div class="event-date">Java Talk & Java Meetup Sydney, Simon Ritter & Denis Magda</div>
            <div class="event-date">June 17, 2020</div>

            <p>Due to the nature of garbage collectors, Java can initiate a stop-the-world pause at any moment in time breaking low-latency requirements and making the behavior of the whole system unpredictable. That's, primarily, why Java is not seen as a viable option for such workloads by many. In this session, we're going to review a Java-powered software stack based on Azul Zing and Apache Ignite that makes JVM behavior predictable scales out linearly and allows selecting Java for high-throughput low-latency scenarios.</p>

            <div class="row">
                    <div class=" col-md-9  news-readmore">
                    <p>
                        <a href="https://www.eventbrite.com/e/architecting-low-latency-java-systems-at-massive-scale-tickets-108907284620" target="_blank" rel="noopener">Read more</a>
                    </p>
                </div>
                <div class=" col-md-3  ">

                    
                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                        data-a2a-url="https://www.eventbrite.com/e/architecting-low-latency-java-systems-at-massive-scale-tickets-108907284620"
                        data-a2a-title="Architecting Low-Latency Java Systems at Massive Scale">
                        <a class="a2a_button_twitter"></a>
                        <a class="a2a_button_linkedin"></a>
                        <a class="a2a_button_facebook"></a>
                        <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                    </div>
                </div>
            </div>
            
        </section>
    </div>
</div>
<div class="row row-event">
    <div class="col-md-2 d-none d-md-block">
        <div class="round-icon-block">
            <img src="images/webinars.svg" alt="Webinar logo">
            <p>Webinar</p>
        </div>
    </div>
    <div class="col-md-10 ">
        <section id="simplifying-gridgain-and-apache-ignite-management-with-the-gridgain-control-center">
            <h3 style="display:inline-block;">Simplifying GridGain and Apache Ignite Management with the GridGain Control Center
                <a href="/events.html#simplifying-gridgain-and-apache-ignite-management-with-the-gridgain-control-center"><i
                        class="fa fa-anchor"></i></a>
            </h3>
            <div class="event-date">Webinar, Greg Stachnick</div>
            <div class="event-date">June 17, 2020</div>

            <p>Managing distributed systems can be complex and time consuming because there are numerous moving parts. Having a consistent set of tools can give a clear picture of how clusters are performing, when to take action and avoid potential problems, and how to optimize configurations.</p>

            <div class="row">
                    <div class=" col-md-9  news-readmore">
                    <p>
                        <a href="https://www.gridgain.com/resources/webinars/simplifying-gridgain-and-apache-ignite-management-with-the-gridgain-control-center" target="_blank" rel="noopener">Read more</a>
                    </p>
                </div>
                <div class=" col-md-3  ">

                    
                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                        data-a2a-url="https://www.gridgain.com/resources/webinars/simplifying-gridgain-and-apache-ignite-management-with-the-gridgain-control-center"
                        data-a2a-title="Simplifying GridGain and Apache Ignite Management with the GridGain Control Center">
                        <a class="a2a_button_twitter"></a>
                        <a class="a2a_button_linkedin"></a>
                        <a class="a2a_button_facebook"></a>
                        <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                    </div>
                </div>
            </div>
            
        </section>
    </div>
</div>
<div class="row row-event">
    <div class="col-md-2 d-none d-md-block">
        <div class="round-icon-block">
            <img src="images/meetup.svg" alt="Meetup logo">
            <p><strong>Virtual</strong> Meetup</p>
        </div>
    </div>
    <div class="col-md-10 ">
        <section id="the-role-and-specifics-of-networking-in-distributed-systems-dissecting-apache-ignite">
            <h3 style="display:inline-block;">The Role and Specifics of Networking in Distributed Systems. Dissecting Apache Ignite
                <a href="/events.html#the-role-and-specifics-of-networking-in-distributed-systems-dissecting-apache-ignite"><i
                        class="fa fa-anchor"></i></a>
            </h3>
            <div class="event-date">Bay Area In-Memory Computing Meetup, Stanislav Lukyanov</div>
            <div class="event-date">June 11, 2020</div>

            <p>This talk introduces you to the architecture and role of the distributed system’s networking layer. With Apache Ignite as an example, you gain practical insights and learn how to apply what you’ve learned to your distributed solutions, thus maximizing the performance and reliability of your applications.</p>

            <div class="row">
                    <div class=" col-md-9  news-readmore">
                    <p>
                        <a href="https://www.meetup.com//Bay-Area-In-Memory-Computing/events/271016164/" target="_blank" rel="noopener">Read more</a>
                    </p>
                </div>
                <div class=" col-md-3  ">

                    
                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                        data-a2a-url="https://www.meetup.com//Bay-Area-In-Memory-Computing/events/271016164/"
                        data-a2a-title="The Role and Specifics of Networking in Distributed Systems. Dissecting Apache Ignite">
                        <a class="a2a_button_twitter"></a>
                        <a class="a2a_button_linkedin"></a>
                        <a class="a2a_button_facebook"></a>
                        <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                    </div>
                </div>
            </div>
            
        </section>
    </div>
</div>

                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinar logo">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="learn-apache-ignite-through-coding-examples">
                                <h3 style="display:inline-block;">Learn Apache Ignite Through Coding Examples
                                    <a href="/events.html#learn-apache-ignite-through-coding-examples"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Denis Magda</div>
                                <div class="event-date">June 24, 2020</div>
            
                                <p>Join Denis Magda, Apache Ignite veteran and GridGain Head of Developer Relations, as he demonstrates various Apache Ignite capabilities you might have heard of or read about. Topics covered will include clustering, compute and SQL capabilities, data loading and streaming.</p>
            
                                <div class="row">
                                        <div class=" col-md-9  news-readmore">
                                        <p>
                                            <a href="https://www.gridgain.com/resources/webinars/learn-apache-ignite-through-coding-examples" target="_blank" rel="noopener">Read more</a>
                                        </p>
                                    </div>
                                    <div class=" col-md-3  ">
            
                                        
                                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                            data-a2a-url="https://www.gridgain.com/resources/webinars/learn-apache-ignite-through-coding-examples"
                                            data-a2a-title="Learn Apache Ignite Through Coding Examples">
                                            <a class="a2a_button_twitter"></a>
                                            <a class="a2a_button_linkedin"></a>
                                            <a class="a2a_button_facebook"></a>
                                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                        </div>
                                    </div>
                                </div>
                                
                            </section>
                        </div>
                    </div>

                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinar logo">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="moving-apache-ignite-into-production-best-practices-for-distributed-transactions">
                                <h3 style="display:inline-block;">Moving Apache Ignite into Production: Best Practices for Distributed Transactions
                                    <a href="/events.html#moving-apache-ignite-into-production-best-practices-for-distributed-transactions"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Ivan Rakov</div>
                                <div class="event-date">June 10, 2020</div>
            
                                <p>The Apache Ignite transactional engine can execute distributed ACID transactions which span multiple nodes, data partitions, and caches/tables. This key-value API differs slightly from traditional SQL-based transactions but its reliability and flexibility lets you achieve an optimal balance between consistency and performance at scale by following several guidelines.</p>
            
                                <div class="row">
                                        <div class=" col-md-9  news-readmore">
                                        <p>
                                            <a href="https://www.gridgain.com/resources/webinars/moving-apache-ignite-into-production-best-practices-for-distributed-transactions" target="_blank" rel="noopener">Read more</a>
                                        </p>
                                    </div>
                                    <div class=" col-md-3  ">
            
                                        
                                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                            data-a2a-url="https://www.gridgain.com/resources/webinars/moving-apache-ignite-into-production-best-practices-for-distributed-transactions"
                                            data-a2a-title="Moving Apache Ignite into Production: Best Practices for Distributed Transactions">
                                            <a class="a2a_button_twitter"></a>
                                            <a class="a2a_button_linkedin"></a>
                                            <a class="a2a_button_facebook"></a>
                                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                        </div>
                                    </div>
                                </div>
                                
                            </section>
                        </div>
                    </div>
            
                   

                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinar logo">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="how-apache-ignite-powers-real-time-subscriber-offers-for-a-leading-telecommunications-company">
                                <h3 style="display:inline-block;">How Apache Ignite Powers Real-Time Subscriber Offers for a Leading Telecommunications Company
                                    <a href="/events.html#how-apache-ignite-powers-real-time-subscriber-offers-for-a-leading-telecommunications-company"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Alexey Bednov & Fedor Loginov</div>
                                <div class="event-date">June 3, 2020</div>
            
                                <p>The telecommunications company deployed a recommendation engine that provides over 7,000,000 relevant marketing offers every day to their subscribers. The engine includes functionality for control/target group segmentation, subscriber contact policies, and contact history mechanics. By the end of this webinar, you will understand the deployed architecture, how Ignite machine learning helps power the engine and the new capabilities this campaigning engine provides the telecommunications company as part of their digital transformation.</p>
            
                                <div class="row">
                                        <div class=" col-md-9  news-readmore">
                                        <p>
                                            <a href="https://www.gridgain.com/resources/webinars/apache-ignite-powers-real-time-subscriber-offers-at-telecommunications-company" target="_blank" rel="noopener">Read more</a>
                                        </p>
                                    </div>
                                    <div class=" col-md-3  ">
            
                                        
                                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                            data-a2a-url="https://www.gridgain.com/resources/webinars/apache-ignite-powers-real-time-subscriber-offers-at-telecommunications-company"
                                            data-a2a-title="How Apache Ignite Powers Real-Time Subscriber Offers for a Leading Telecommunications Company">
                                            <a class="a2a_button_twitter"></a>
                                            <a class="a2a_button_linkedin"></a>
                                            <a class="a2a_button_facebook"></a>
                                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                        </div>
                                    </div>
                                </div>
                                
                            </section>
                        </div>
                    </div>

                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup logo">
                                <p><strong>Virtual</strong> Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="architecting-low-latency-java-systems-at-massive-scale">
                                <h3 style="display:inline-block;">Architecting Low-Latency Java Systems at Massive Scale
                                    <a href="/events.html#architecting-low-latency-java-systems-at-massive-scale"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Simon Ritter and Denis Magda</div>
                                <div class="event-date">May 27, 2020</div>
            
                                <p>Join NYJavaSIG on May 27 to see a presentation by Azule and GridGain.<br />
                                    Due to the nature of garbage collectors, Java can initiate a stop-the-world pause at any moment in time breaking low-latency requirements and making the behavior of the whole system unpredictable. That's, primarily, why Java is not seen as a viable option for such workloads by many. In this session, we're going to review a Java-powered software stack based on Azul Zing and Apache Ignite that makes JVM behavior predictable scales out linearly and allows selecting Java for high-throughput low-latency scenarios.</p>
            
                                <div class="row">
                                        <div class=" col-md-9  news-readmore">
                                        <p>
                                            <a href="https://www.meetup.com/NYC-In-Memory-Computing-Meetup/events/270625098/" target="_blank" rel="noopener">Read more</a>
                                        </p>
                                    </div>
                                    <div class=" col-md-3  ">
            
                                        
                                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                            data-a2a-url="https://www.meetup.com/NYC-In-Memory-Computing-Meetup/events/270625098/"
                                            data-a2a-title="Architecting Low-Latency Java Systems at Massive Scale">
                                            <a class="a2a_button_twitter"></a>
                                            <a class="a2a_button_linkedin"></a>
                                            <a class="a2a_button_facebook"></a>
                                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                        </div>
                                    </div>
                                </div>
                                
                            </section>
                        </div>
                    </div>
            
            
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinar logo">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="getting-started-with-apache-ignite-and-sql">
                                <h3 style="display:inline-block;">Getting Started with Apache Ignite and SQL
                                    <a href="/events.html#getting-started-with-apache-ignite-and-sql"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Denis Magda & Igor Seliverstov</div>
                                <div class="event-date">May 20, 2020</div>
            
                                <p>Apache Ignite’s ANSI-99 SQL support provides application developers a classical SQL database experience while enabling in-memory speeds at petabyte scale for a variety of workloads. Concise SQL syntax and availability of JDBC and ODBC drivers shields the complexity of Ignite’s distributed architecture from developers and allows them to easily manage and query distributed datasets. Nevertheless, there are some essentials and design patterns that developers should consider when deploying Apache Ignite.</p>
            
                                <div class="row">
                                        <div class=" col-md-9  news-readmore">
                                        <p>
                                            <a href="https://www.gridgain.com/resources/webinars/getting-started-apache-ignite-and-sql" target="_blank" rel="noopener">Read more</a>
                                        </p>
                                    </div>
                                    <div class=" col-md-3  ">
            
                                        
                                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                            data-a2a-url="https://www.gridgain.com/resources/webinars/getting-started-apache-ignite-and-sql"
                                            data-a2a-title="Getting Started with Apache Ignite and SQL">
                                            <a class="a2a_button_twitter"></a>
                                            <a class="a2a_button_linkedin"></a>
                                            <a class="a2a_button_facebook"></a>
                                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                        </div>
                                    </div>
                                </div>
                                
                            </section>
                        </div>
                    </div>
            
            
                   
            
            
            
                        
                   
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup logo">
                                <p><strong>Virtual</strong> Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="adding-speed-and-scale-to-mysql-deployments-with-in-memory-computing">
                                <h3 style="display:inline-block;">Adding Speed and Scale to MySQL Deployments With In-Memory Computing
                                    <a href="/events.html#adding-speed-and-scale-to-mysql-deployments-with-in-memory-computing"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Denis Magda</div>
                                <div class="event-date">May 14, 2020</div>
            
                                <p>Learn how software architects use in-memory computing technologies to add speed and scale to existing MySQL deployments. You will see how to deploy a distributed in-memory cluster on top of a MySQL database, how to configure the cluster to write-through all the changes to the database, and how to boost SQL operations by querying in-memory data sets.</p>
            
                                <div class="row">
                                        <div class=" col-md-9  news-readmore">
                                        <p>
                                            <a href="https://www.meetup.com/ru-RU/London-In-Memory-Computing-Meetup/events/269972893/" target="_blank" rel="noopener">Read more</a>
                                        </p>
                                    </div>
                                    <div class=" col-md-3  ">
            
                                        
                                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                            data-a2a-url="https://www.meetup.com/ru-RU/London-In-Memory-Computing-Meetup/events/269972893/"
                                            data-a2a-title="Adding Speed and Scale to MySQL Deployments With In-Memory Computing">
                                            <a class="a2a_button_twitter"></a>
                                            <a class="a2a_button_linkedin"></a>
                                            <a class="a2a_button_facebook"></a>
                                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                        </div>
                                    </div>
                                </div>
                                
                            </section>
                        </div>
                    </div>


                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinar logo">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="using-data-center-replication-to-ensure-high-availability-of-apache-ignite-and-gridgain-clusters">
                                <h3 style="display:inline-block;">Using Data Center Replication to Ensure High Availability of Apache Ignite and GridGain Clusters
                                    <a href="/events.html#using-data-center-replication-to-ensure-high-availability-of-apache-ignite-and-gridgain-clusters"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Konstantin Orlov</div>
                                <div class="event-date">May 13, 2020</div>
            
                                <p>When working with multiple data centers, it is important to ensure high availability of your GridGain cluster. The GridGain Enterprise and Ultimate Editions, built on Apache Ignite®, include a Data Center Replication feature that allows data transfer between caches in distinct topologies, even located in different geographic locations.</p>
            
                                <div class="row">
                                        <div class=" col-md-9  news-readmore">
                                        <p>
                                            <a href="https://www.gridgain.com/resources/webinars/data-center-replication-to-ensure-high-availability-of-apache-ignite-clusters" target="_blank" rel="noopener">Read more</a>
                                        </p>
                                    </div>
                                    <div class=" col-md-3  ">
            
                                        
                                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                            data-a2a-url="https://www.gridgain.com/resources/webinars/data-center-replication-to-ensure-high-availability-of-apache-ignite-clusters"
                                            data-a2a-title="Using Data Center Replication to Ensure High Availability of Apache Ignite and GridGain Clusters">
                                            <a class="a2a_button_twitter"></a>
                                            <a class="a2a_button_linkedin"></a>
                                            <a class="a2a_button_facebook"></a>
                                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                        </div>
                                    </div>
                                </div>
                                
                            </section>
                        </div>
                    </div>
            
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup logo">
                                <p><strong>Virtual</strong> Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="conquer-application-performance-challenges-with-in-memory-computing">
                                <h3 style="display:inline-block;">Conquer Application Performance Challenges with In-Memory Computing
                                    <a href="/events.html#conquer-application-performance-challenges-with-in-memory-computing"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Valentin Kulichenko</div>
                                <div class="event-date">May 6, 2020</div>
            
                                <p>Distributed platforms, like Apache Ignite®, rely on horizontal scalability. More machines in the cluster lead to application performance improvements. But the speed of the application performance after adding a second machine to the cluster?  In this talk, attendees will learn about the challenges architects face when designing distributed systems.</p>
            
                                <div class="row">
                                        <div class=" col-md-9  news-readmore">
                                        <p>
                                            <a href="https://www.meetup.com/ru-RU/London-In-Memory-Computing-Meetup/events/269971583/" target="_blank" rel="noopener">Read more</a>
                                        </p>
                                    </div>
                                    <div class=" col-md-3  ">
            
                                        
                                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                            data-a2a-url="https://www.meetup.com/ru-RU/London-In-Memory-Computing-Meetup/events/269971583/"
                                            data-a2a-title="Conquer Application Performance Challenges with In-Memory Computing">
                                            <a class="a2a_button_twitter"></a>
                                            <a class="a2a_button_linkedin"></a>
                                            <a class="a2a_button_facebook"></a>
                                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                        </div>
                                    </div>
                                </div>
                                
                            </section>
                        </div>
                    </div>
            
                    
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinar logo">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="architects-guide-for-apache-ignite-acid-transactions-and-consistency">
                                <h3 style="display:inline-block;">Architects Guide for Apache Ignite ACID Transactions and Consistency
                                    <a href="/events.html#architects-guide-for-apache-ignite-acid-transactions-and-consistency"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Ivan Rakov</div>
                                <div class="event-date">April 29, 2020</div>
            
                                <p>Apache Ignite can function in a strong consistency mode which keeps application records in sync across all primary and backup replicas. It also supports distributed ACID transactions that allow you to update multiple entries stored on different cluster nodes and in various caches/tables.</p>
            
                                <div class="row">
                                        <div class=" col-md-9  news-readmore">
                                        <p>
                                            <a href="https://www.gridgain.com/resources/webinars/architects-guide-for-apache-ignite-acid-transactions-and-consistency" target="_blank" rel="noopener">Read more</a>
                                        </p>
                                    </div>
                                    <div class=" col-md-3  ">
            
                                        
                                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                            data-a2a-url="https://www.gridgain.com/resources/webinars/architects-guide-for-apache-ignite-acid-transactions-and-consistency"
                                            data-a2a-title="Architects Guide for Apache Ignite ACID Transactions and Consistency">
                                            <a class="a2a_button_twitter"></a>
                                            <a class="a2a_button_linkedin"></a>
                                            <a class="a2a_button_facebook"></a>
                                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                        </div>
                                    </div>
                                </div>
                                
                            </section>
                        </div>
                    </div>





                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup logo">
                                <p><strong>Virtual</strong> Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="in-memory-computing-essentials-for-software-engineers-with-denver-and-boulder-jug">
                                <h3 style="display:inline-block;">In-Memory Computing Essentials for Software Engineers with Denver & Boulder JUG
                                    <a href="/events.html#in-memory-computing-essentials-for-software-engineers-with-denver-and-boulder-jug"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Denis Magda</div>
                                <div class="event-date">April 8, 2020</div>

                                <p>The session is tailored for software engineers and architects seeking practical experience with in-memory computing technologies. You'll be given an overview (including code samples in Java) of in-memory concepts such as caches, databases, and data grids combined with a technical deep-dive based on Apache Ignite in-memory computing platform. </p>

                                <div class="row">
                                    <div class=" col-md-9  news-readmore">
                                        <p>
                                            <a href="https://www.meetup.com/DenverJavaUsersGroup/events/cpmtcqybcgblb/" target="_blank" rel="noopener">Read more</a>
                                        </p>
                                    </div>
                                    <div class=" col-md-3  ">


                                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                             data-a2a-url="https://www.meetup.com/DenverJavaUsersGroup/events/cpmtcqybcgblb/"
                                             data-a2a-title="In-Memory Computing Essentials for Software Engineers with Denver & Boulder JUG">
                                            <a class="a2a_button_twitter"></a>
                                            <a class="a2a_button_linkedin"></a>
                                            <a class="a2a_button_facebook"></a>
                                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                        </div>
                                    </div>
                                </div>

                            </section>
                        </div>
                    </div>

                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinar logo">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="learn-how-apache-ignite-28-offers-improved-production-maintenance-and-machine-learning">
                                <h3 style="display:inline-block;">Learn How Apache Ignite 2.8 Offers Improved Production Maintenance and Machine Learning
                                    <a href="/events.html#learn-how-apache-ignite-28-offers-improved-production-maintenance-and-machine-learning"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Denis Magda</div>
                                <div class="event-date">April 8, 2020</div>

                                <p>Apache Ignite 2.8 includes over 1,900 upgrades and fixes that enhance almost all components of the platform. The release notes include hundreds of line items cataloging the improvements. In this webinar, Ignite community members demonstrate and dissect new capabilities related to production maintenance, monitoring, and machine learning.</p>

                                <div class="row">
                                    <div class=" col-md-9  news-readmore">
                                        <p>
                                            <a href="https://www.gridgain.com/resources/webinars/apache-ignite-28-improved-production-maintenance-machine-learning" target="_blank" rel="noopener">Read more</a>
                                        </p>
                                    </div>
                                    <div class=" col-md-3  ">


                                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                             data-a2a-url="https://www.gridgain.com/resources/webinars/apache-ignite-28-improved-production-maintenance-machine-learning"
                                             data-a2a-title="Learn How Apache Ignite 2.8 Offers Improved Production Maintenance and Machine Learning">
                                            <a class="a2a_button_twitter"></a>
                                            <a class="a2a_button_linkedin"></a>
                                            <a class="a2a_button_facebook"></a>
                                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                        </div>
                                    </div>
                                </div>

                            </section>
                        </div>
                    </div>

                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup logo">
                                <p><strong>Online</strong> Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="virtual-meetup-scale-out-and-conquer-or-mysteries-of-in-memory-systems">
                                <h3 style="display:inline-block;">Virtual Meetup: Scale Out and Conquer or Mysteries of In-Memory Systems
                                    <a href="/events.html#virtual-meetup-scale-out-and-conquer-or-mysteries-of-in-memory-systems"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Valentin Kulichenko, Lead Architect at GridGain Systems</div>
                                <div class="event-date">April 1, 2020</div>
            
                                <p>The health and well being of our community is our highest priority. Due to the existing environment, we are moving all our meet up events online for the foreseeable future, until things get back to normalcy.</p>
            
                                <div class="row">
                                        <div class=" col-md-9  news-readmore">
                                        <p>
                                            <a href="https://www.meetup.com/ru-RU/Bay-Area-In-Memory-Computing/events/269533457/" target="_blank" rel="noopener">Read more</a>
                                        </p>
                                    </div>
                                    <div class=" col-md-3  ">
            
                                        
                                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                            data-a2a-url="https://www.meetup.com/ru-RU/Bay-Area-In-Memory-Computing/events/269533457/"
                                            data-a2a-title="Virtual Meetup: Scale Out and Conquer or Mysteries of In-Memory Systems">
                                            <a class="a2a_button_twitter"></a>
                                            <a class="a2a_button_linkedin"></a>
                                            <a class="a2a_button_facebook"></a>
                                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                        </div>
                                    </div>
                                </div>
                                
                            </section>
                        </div>
                    </div>


                    <div class="row row-event ">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinar">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="using-apache-ignite-for-continuous-machine-and-deep-learning-at-scale">
                                <h3>Using Apache Ignite for Continuous Machine and Deep Learning at Scale
                                    <a href="/events.html#using-apache-ignite-for-continuous-machine-and-deep-learning-at-scale"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Speaker: Ken Cottrell</div>
                                <div class="event-date">March 11, 2020</div>
        
                                <p>In this webinar you will learn how the Apache Ignite<sup>®</sup> in-memory computing platform addresses these machine learning limitations with distributed model training and execution to provide real-time, continuous learning capabilities.</p>
        
                                <div class="row">
        <div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.gridgain.com/resources/webinars/using-apache-ignite-for-continuous-machine-and-deep-learning-at-scale"
                                           target="_blank" rel="noopener">Read more</a>
                                    </p>
                                </div>
                                <div class=" col-md-3  ">
        
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.gridgain.com/resources/webinars/using-apache-ignite-for-continuous-machine-and-deep-learning-at-scale"
                                         data-a2a-title="Using Apache Ignite for Continuous Machine and Deep Learning at Scale">
                                        <a class="a2a_button_twitter"></a>
                                        <a class="a2a_button_linkedin"></a>
                                        <a class="a2a_button_facebook"></a>
                                        <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>

                    <div class="row row-event ">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinar">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="security-guide-for-apache-ignite-and-gridgain-with-configuration-examples">
                                <h3>Security Guide for Apache Ignite and GridGain with Configuration Examples
                                    <a href="/events.html#security-guide-for-apache-ignite-and-gridgain-with-configuration-examples"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Speaker: Andrey Alexandrov</div>
                                <div class="event-date">March 4, 2020</div>
        
                                <p>Using live examples, we will go through the configurations for: SSL/TLS to create a secure connection among all nodes, thin clients, and REST, Ignite advance security module.</p>
        
                                <div class="row">
        <div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.gridgain.com/resources/webinars/security-guide-apache-ignite-and-gridgain-configuration-examples"
                                           target="_blank" rel="noopener">Read more</a>
                                    </p>
                                </div>
                                <div class=" col-md-3  ">
        
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.gridgain.com/resources/webinars/security-guide-apache-ignite-and-gridgain-configuration-examples"
                                         data-a2a-title="Security Guide for Apache Ignite and GridGain with Configuration Examples">
                                        <a class="a2a_button_twitter"></a>
                                        <a class="a2a_button_linkedin"></a>
                                        <a class="a2a_button_facebook"></a>
                                        <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>

                    <div class="row row-event ">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinar">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="how-to-for-apache-ignite-deployments-in-kubernetes">
                                <h3>How-to for Apache Ignite Deployments in Kubernetes
                                    <a href="/events.html#how-to-for-apache-ignite-deployments-in-kubernetes"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Speaker: Valentin Kulichenko</div>
                                <div class="event-date">February 26, 2020</div>
        
                                <p>In this webinar, Val Kulichenko, Apache Ignite Project Management Committee member, will provide steps on how to deploy Ignite in Kubernetes. He will provide best practices and identify common issues and how to deal with them with minimum limitations.</p>
        
                                <div class="row">
        <div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.gridgain.com/resources/webinars/how-apache-ignite-deployments-in-kubernetes"
                                           target="_blank" rel="noopener">Read more</a>
                                    </p>
                                </div>
                                <div class=" col-md-3  ">
        
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.gridgain.com/resources/webinars/how-apache-ignite-deployments-in-kubernetes"
                                         data-a2a-title="How-to for Apache Ignite Deployments in Kubernetes">
                                        <a class="a2a_button_twitter"></a>
                                        <a class="a2a_button_linkedin"></a>
                                        <a class="a2a_button_facebook"></a>
                                        <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>

                    <div class="row row-event ">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/conferences.svg" alt="Conference">
                                <p>Conference</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="how-to-boost-and-scale-postgres-from-sharding-to-in-memory-data-grids">
                                <h3>How to boost and scale Postgres - from sharding to
                                    in-memory data grids
                                    <a href="/events.html#how-to-boost-and-scale-postgres-from-sharding-to-in-memory-data-grids"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Bengaluru, PGConf India, Speaker: Denis Mekhanikov</div>
                                <div class="event-date">February 26, 2020</div>
        
                                <p>Whether you want to scale to petabytes or tap into RAM, there is a solution for Postgres.
                                    Let's review these practical solutions, including built-in caching, sharding, and in-memory
                                    data grids like Apache Ignite.</p>
        
                                <div class="row">
        <div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://pgconf.in/conferences/pgconfin2020/program/proposals/184"
                                           target="_blank" rel="noopener">Read more</a>
                                    </p>
                                </div>
                                <div class=" col-md-3  ">
        
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://pgconf.in/conferences/pgconfin2020/program/proposals/184"
                                         data-a2a-title="How to boost and scale Postgres - from sharding to in-memory data grids">
                                        <a class="a2a_button_twitter"></a>
                                        <a class="a2a_button_linkedin"></a>
                                        <a class="a2a_button_facebook"></a>
                                        <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event ">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup Logo">
                                <p>Meetups</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="google-big-table-and-ignite-for-spark">
                                <h3>Google Big Table Deep Dive and Spark SQL Acceleration with Apache Ignite
                                    <a href="/events.html#google-big-table-and-ignite-for-spark"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Chicago Bay Area In-Memory Computing Meetup</div>
                                <div class="event-date">February 20, 2020</div>
        
                                <p>Deep-dive talks on Google Big Data and Apache Ignite for Spark SQL engine optimizations.</p>
        
                                <div class="row">
        <div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/meetup-group-mqTCMocI/events/267952761/" target="_blank"
                                           rel="noopener">Read more</a>
                                    </p>
                                </div>
                                <div class=" col-md-3  ">
        
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/meetup-group-mqTCMocI/events/267952761/"
                                         data-a2a-title="Google Big Table Deep Dive and Spark SQL Acceleration with Apache Ignite">
                                        <a class="a2a_button_twitter"></a>
                                        <a class="a2a_button_linkedin"></a>
                                        <a class="a2a_button_facebook"></a>
                                        <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event ">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup Logo">
                                <p>Meetups</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="google-big-table-and-ignite-for-spark">
                                <h3>Google Big Table Deep Dive and Spark SQL Acceleration with Apache Ignite
                                    <a href="/events.html#google-big-table-and-ignite-for-spark"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Chicago Bay Area In-Memory Computing Meetup</div>
                                <div class="event-date">February 20, 2020</div>
        
                                <p>Deep-dive talks on Google Big Data and Apache Ignite for Spark SQL engine optimizations.</p>
        
                                <div class="row">
        <div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/meetup-group-mqTCMocI/events/267952761/" target="_blank"
                                           rel="noopener">Read more</a>
                                    </p>
                                </div>
                                <div class=" col-md-3  ">
        
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/meetup-group-mqTCMocI/events/267952761/"
                                         data-a2a-title="Google Big Table Deep Dive and Spark SQL Acceleration with Apache Ignite">
                                        <a class="a2a_button_twitter"></a>
                                        <a class="a2a_button_linkedin"></a>
                                        <a class="a2a_button_facebook"></a>
                                        <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>

                    <div class="row row-event ">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="apache-ignite-meetup-moscow-8">
                                <h3>Apache Ignite Meetup Moscow #8
                                    <a href="/events.html#apache-ignite-meetup-moscow-8"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Speakers: Maxim Muzafarov, Alexey Bednov, Fedor Loginov, Ruslan Kamashev</div>
                                <div class="event-date">February 20, 2020</div>
        
                                <p>Join Igniters from Moscow to learn, what changes in release 2.8 are super important if you are going to store data in Apache Ignite. Also, developers from Teradata and Tinkoff bank will share their experience of implementing Apache Ignite in their solutions.</p>
        
                                <div class="row">
        <div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/ru-RU/Moscow-Apache-Ignite-Meetup/events/268535144" target="_blank" rel="noopener">Read
                                            more</a>
                                    </p>
                                </div>
                                <div class=" col-md-3  ">
        
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/ru-RU/Moscow-Apache-Ignite-Meetup/events/268535144"
                                         data-a2a-title="In-Memory Computing Essentials for Java Developers">
                                        <a class="a2a_button_twitter"></a>
                                        <a class="a2a_button_linkedin"></a>
                                        <a class="a2a_button_facebook"></a>
                                        <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>	

                    <div class="row row-event ">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="in-memory-computing-essentials-for-java-developers">
                                <h3>In-Memory Computing Essentials for Java Developers 
                                    <a href="/events.html#in-memory-computing-essentials-for-java-developers"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Boston JUG Meetup Group, Speaker: Denis Magda</div>
                                <div class="event-date">February 18, 2020</div>
        
                                <p>Attendees will be introduced to the fundamental capabilities of in-memory computing platforms that are proven to boost applications performance and solve scalability problems by storing and processing massive data sets in RAM and on disk.</p>
        
                                <div class="row">
        <div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/meetup-group-HMwxfjeG/events/268167605/" target="_blank" rel="noopener">Read
                                            more</a>
                                    </p>
                                </div>
                                <div class=" col-md-3  ">
        
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/boston-java/events/268001478/"
                                         data-a2a-title="In-Memory Computing Essentials for Java Developers">
                                        <a class="a2a_button_twitter"></a>
                                        <a class="a2a_button_linkedin"></a>
                                        <a class="a2a_button_facebook"></a>
                                        <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>

                    <div class="row row-event ">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/conferences.svg" alt="Conferences">
                                <p>Conference</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="in-memory-computing-essentials-for-software-engineers">
                                <h3>In-Memory Computing Essentials for Software Engineers
                                    <a href="/events.html#in-memory-computing-essentials-for-software-engineers"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">San Francisco, DeveloperWeek 2020, Speaker: Denis Magda</div>
                                <div class="event-date">February 13, 2020</div>
        
                                <p>The session is tailored for Java experts who thirst for practical experience with in-memory
                                    computing technologies. You’ll be given an overview of in-memory concepts such as caches,
                                    databases, and data grids combined with a technical deep-dive.</p>
        
                                <div class="row">
        <div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://developerweek2020.sched.com/event/YF7B" target="_blank" rel="noopener">Read
                                            more</a>
                                    </p>
                                </div>
                                <div class=" col-md-3  ">
        
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://developerweek2020.sched.com/event/YF7B"
                                         data-a2a-title="In-Memory Computing Essentials for Software Engineers">
                                        <a class="a2a_button_twitter"></a>
                                        <a class="a2a_button_linkedin"></a>
                                        <a class="a2a_button_facebook"></a>
                                        <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>

                    <div class="row row-event ">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Conferences">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="best-practices-for-loading-real-time-data-into-distributed-systems-using-change-data-capture">
                                <h3>Best Practices for Loading Real-time Data into Distributed Systems Using Change Data Capture
                                    <a href="/events.html#best-practices-for-loading-real-time-data-into-distributed-systems-using-change-data-capture"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Speaker: Alexey Goncharuk</div>
                                <div class="event-date">February 12, 2020</div>
        
                                <p>This webinar is for developers and architects interested in learning how to use the Apache Ignite in-memory computing platform to achieve incremental batch or real-time updates of large data sets. We will cover the fundamental principles and restrictions of CDC and review examples of how to change data capture is implemented in real-life use cases. </p>
        
                                <div class="row">
        <div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.gridgain.com/resources/webinars/best-practices-loading-real-time-data-distributed-systems-using-change-data" target="_blank" rel="noopener">Read
                                            more</a>
                                    </p>
                                </div>
                                <div class=" col-md-3  ">
        
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.gridgain.com/resources/webinars/best-practices-loading-real-time-data-distributed-systems-using-change-data"
                                         data-a2a-title="Best Practices for Loading Real-time Data into Distributed Systems Using Change Data Capture">
                                        <a class="a2a_button_twitter"></a>
                                        <a class="a2a_button_linkedin"></a>
                                        <a class="a2a_button_facebook"></a>
                                        <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>	

                    <div class="row row-event ">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup Logo">
                                <p>Meetups</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="in-memory-computing-essentials-for-java-developers-chicago-5th-feb">
                                <h3>In-Memory Computing Essentials for Java Developers
                                    <a href="/events.html#in-memory-computing-essentials-for-java-developers-chicago-5th-feb"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Chicago SQL Meetup Group, Speaker: Denis Magda</div>
                                <div class="event-date">February 5, 2020</div>
        
                                <p>Attendees will be introduced to the fundamental capabilities of in-memory computing platforms
                                    that are proven to boost applications performance and solve scalability problems by storing
                                    and processing massive data sets in RAM and on disk. </p>
        
                                <div class="row">
                                <div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/Chicago-SQL/events/267816135/" target="_blank"
                                           rel="noopener">Read more</a>
                                    </p>
                                </div>
                                <div class=" col-md-3  ">
        
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/Chicago-SQL/events/267816135/"
                                         data-a2a-title="In-Memory Computing Essentials for Java Developers">
                                        <a class="a2a_button_twitter"></a>
                                        <a class="a2a_button_linkedin"></a>
                                        <a class="a2a_button_facebook"></a>
                                        <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>



                    <div class="row row-event ">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup Logo">
                                <p>Meetups</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="in-memory-computing-essentials-for-java-developers">
                                <h3>In-Memory Computing Essentials for Java Developers
                                    <a href="/events.html#in-memory-computing-essentials-for-java-developers"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Chicago Java User Group, Speaker: Denis Magda</div>
                                <div class="event-date">January 16, 2020</div>

                                <p>Attendees will be introduced to the fundamental capabilities of in-memory computing platforms
                                    that are proven to boost applications performance and solve scalability problems by storing
                                    and processing massive data sets in RAM and on disk. </p>

                                <div class="row">
                                <div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/meetup-group-mqTCMocI/events/267293957/" target="_blank"
                                           rel="noopener">Read more</a>
                                    </p>
                                </div>
                                <div class=" col-md-3  ">

                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/meetup-group-mqTCMocI/events/267293957/"
                                         data-a2a-title="In-Memory Computing Essentials for Java Developers">
                                        <a class="a2a_button_twitter"></a>
                                        <a class="a2a_button_linkedin"></a>
                                        <a class="a2a_button_facebook"></a>
                                        <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>

                    <div class="row row-event ">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup Logo">
                                <p>Meetups</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="enabling-java-for-low-latency-use-cases">
                                <h3>Enabling Java for low-latency use cases at unlimited scale
                                    <a href="/events.html#enabling-java-for-low-latency-use-cases"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Bay Area In-Memory Computing Group, Speaker: Gil Tene, Denis
                            Magda</div>
                                <div class="event-date">January 23rd, 2020</div>

                                <p>This time we are gathering together with Silicon Valley Java Performance meetup group to
                                    discuss how in-memory computing combined with a pauseless Java Virtual Machine results in
                                    a Java-powered solution that enables consistent low millisecond response times at unlimited scale.</p>

                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/Bay-Area-In-Memory-Computing/events/267751131" target="_blank" rel="noopener">Read more</a>
                                    </p>
                                </div>
                                <div class=" col-md-3  ">

                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/Bay-Area-In-Memory-Computing/events/267751131"
                                         data-a2a-title="In-Memory Computing Essentials for Java Developers">
                                        <a class="a2a_button_twitter"></a>
                                        <a class="a2a_button_linkedin"></a>
                                        <a class="a2a_button_facebook"></a>
                                        <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>

                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinar">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="distributed-computing-with-ignite-webinar">
                                <h3>Distributed Computing with Apache Ignite
                                    <a href="/events.html#distributed-computing-with-ignite-webinar"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Speaker: Denis Mekhanikov</div>
                                <div class="event-date">January 29, 2020</div>

                                <p>In this webinar, you’ll see how to design and execute distributed computations considering
                                    all the pros and cons.</p>

                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.gridgain.com/resources/webinars/distributed-computing-apache-ignite"
                                           target="_blank" rel="noopener">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.gridgain.com/resources/webinars/distributed-computing-apache-ignite"
                                         data-a2a-title="How to Migrate Your Data Schema to Apache Ignite">
                                        <a class="a2a_button_twitter"></a>
                                        <a class="a2a_button_linkedin"></a>
                                        <a class="a2a_button_facebook"></a>
                                        <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                </div>



                <div class="tab-pane" id="events-2019">

                    <div class="row row-event ">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup Logo">
                                <p>Meetups</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="data-streaming-using-apache-flink-and-apache-ignite">
                                <h3>Data Streaming Using Apache Flink and Apache
                                    Ignite
                                    <a href="/events.html#data-streaming-using-apache-flink-and-apache-ignite"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Speaker: Saikat Maitra</div>
                                <div class="event-date">DECEMBER 18, 2019</div>

                                <p>Join Saikat Maitra to learn how to build a simple data streaming application using
                                    Apache Flink and Apache Ignite. This stream processing topology will allow data
                                    streaming in a distributed, scalable, and fault-tolerant manner, which can process
                                    data sets consisting of virtually unlimited streams of events.</p>

                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.gridgain.com/resources/webinars/data-streaming-using-apache-flink-and-apache-ignite"
                                           target="_blank" rel="noopener">Read more</a>
                                    </p>
                                </div>
                                <div class=" col-md-3  ">

                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.gridgain.com/resources/webinars/data-streaming-using-apache-flink-and-apache-ignite"
                                         data-a2a-title="Data Streaming Using Apache Flink and Apache Ignite">
                                        <a class="a2a_button_twitter"></a>
                                        <a class="a2a_button_linkedin"></a>
                                        <a class="a2a_button_facebook"></a>
                                        <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event ">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup Logo">
                                <p>Meetups</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="in-memory-computing-essentials-for-software-engineers-dec-2">
                                <h3>In-Memory Computing Essentials for Software
                                    Engineers
                                    <a href="/events.html#in-memory-computing-essentials-for-software-engineers-oct"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">The Silicon Valley Java User Group, Speaker: Denis Magda</div>
                                <div class="event-date">DECEMBER 18, 2019</div>

                                <p>Attendees will be introduced to the fundamental capabilities of in-memory computing
                                    platforms that are proven to boost application performance and solve scalability
                                    problems by storing and processing massive data sets in RAM and on disk.</p>

                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/en-US/sv-jug/events/265881743/" target="_blank"
                                           rel="noopener">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/en-US/sv-jug/events/265881743/"
                                         data-a2a-title="In-Memory Computing Essentials for Software Engineers">
                                        <a class="a2a_button_twitter"></a>
                                        <a class="a2a_button_linkedin"></a>
                                        <a class="a2a_button_facebook"></a>
                                        <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                            </section>
                        </div>
                    </div>

                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup Logo">
                                <p>Meetups</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="in-memory-computing-essentials-for-software-engineers-dec-1">
                                <h3>How and why Apache Ignite<sup>®</sup> is changing
                                    from an In-Memory Data Grid into an In-Memory Database
                                    <a href="/events.html#in-memory-computing-essentials-for-software-engineers-oct"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Open Source Database Best Practices, Speaker: Alexey Goncharuk</div>
                                <div class="event-date">DECEMBER 16, 2019</div>

                                <p>Our upcoming event “Open Source Database Best Practices” focuses on the latest
                                    developments in open source database technology. You will hear about ProxySQL,
                                    ClickHouse and Apache Ignite from speakers who are actively engaged in creating
                                    these technologies. The speakers work for ProxySQL, Altinity, and GridGain Systems
                                    and are all active committers to their respective projects.</p>

                                <a href="https://www.google.com/maps/place/51°30'07.1%22N+0°07'07.9%22W/@51.501965,-0.118852,17z/data=!3m1!4b1!4m5!3m4!1s0x0:0x0!8m2!3d51.501965!4d-0.118852"
                                   target="_blank" rel="noopener">Where to Find Us</a>

                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.eventbrite.com/e/open-source-database-best-practices-registration-82082285325"
                                           target="_blank" rel="noopener">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.eventbrite.com/e/open-source-database-best-practices-registration-82082285325"
                                         data-a2a-title="How and why Apache Ignite™ is changing from an In-Memory Data Grid into an In-Memory Database">
                                        <a class="a2a_button_twitter"></a>
                                        <a class="a2a_button_linkedin"></a>
                                        <a class="a2a_button_facebook"></a>
                                        <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinar">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="how-to-migrate-your-data-schema-to-apache-ignite-deec-4-19">
                                <h3>How to Migrate Your Data Schema to Apache Ignite
                                    <a href="/events.html#how-to-migrate-your-data-schema-to-apache-ignite-deec-4-19"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Speaker: Ivan Rakov</div>
                                <div class="event-date">DECEMBER 4, 2019</div>

                                <p>In this webinar, we will discuss the pros and cons of SQL and JCache APIs approaches
                                    to work with your data in Apache Ignite. Talk includes Ignite SQL capabilities,
                                    consistency guarantees, complications of distributed SQL and how affinity
                                    co-location can minimize them.</p>

                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.gridgain.com/resources/webinars/how-migrate-your-data-schema-apache-ignite"
                                           target="_blank" rel="noopener">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.gridgain.com/resources/webinars/how-migrate-your-data-schema-apache-ignite"
                                         data-a2a-title="How to Migrate Your Data Schema to Apache Ignite">
                                        <a class="a2a_button_twitter"></a>
                                        <a class="a2a_button_linkedin"></a>
                                        <a class="a2a_button_facebook"></a>
                                        <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10 ">
                            <section id="apache-ignite-moscow-meetup-dec-3-19">
                                <h3>Apache Ignite Moscow Meetup
                                    <a href="/events.html#apache-ignite-moscow-meetup-dec-3-19"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Moscow, Russia, Speakers: Andrey Gura, Denis Garus</div>
                                <div class="event-date">DECEMBER 3, 2019</div>

                                <p>Andrei Gora, Apache Ignite PMC, will talk about typical problems that arise when
                                    moving to a distributed model of data storage and processing, namely, the
                                    organization of consistent data placement in a distributed system. Denis Garus
                                    (Sbertech) will present Ignite Sandbox and tell about data protection in a
                                    distributed Java environment. After the talks, we plan to discuss what does
                                    community expect from Ignite 3.</p>

                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://gridgain.timepad.ru/event/1124829/" target="_blank"
                                           rel="noopener">Read more</a>
                                    </p>
                                </div>
                                <div>

                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://gridgain.timepad.ru/event/1124829/"
                                         data-a2a-title="Apache Ignite Moscow Meetup">
                                        <a class="a2a_button_twitter"></a>
                                        <a class="a2a_button_linkedin"></a>
                                        <a class="a2a_button_facebook"></a>
                                        <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup Logo">
                                <p>Meetups</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="ignite-pearls-insight-and-creativity-in-distributed-programming">
                                <h3>Ignite Pearls - Insight and Creativity in
                                    Distributed Programming
                                    <a href="/events.html#ignite-pearls-insight-and-creativity-in-distributed-programming"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">NY Scala Group, Speaker - Nikita Ivanov</div>
                                <div class="event-date">November 21, 2019</div>

                                <p>This presentation is a live Scala coding talk full of small case studies, real
                                    examples, and interesting exercises for learning about how to do a modern
                                    distributed programming with Apache Ignite.</p>

                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/en-US/ny-scala/events/266240908/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>

                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/en-US/ny-scala/events/266240908/"
                                         data-a2a-title="Ignite Pearls - Insight and Creativity in Distributed Programming">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup Logo">
                                <p>Meetups</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="apache-ignite-pumpkin-meetup">
                                <h3>Apache Ignite Pumpkin Meetup
                                    <a href="/events.html#apache-ignite-pumpkin-meetup" aria-label="Event Meetup"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Apache Ignite Meetup, Saint Petersburg, Russia, Speaker: Evgeny Zhuravlev</div>
                                <div class="event-date">October 31, 2019</div>

                                <p>We are going to have a cozy Halloween talk about “how to use” (first speaker) and
                                    “how does it work” (second speaker). As usual, there will be tea and coffee, a snack
                                    and a raffle of useful books. Evgeny Zhuravlev will present talk “Architecture and
                                    optimization of working with memory for processing big data”. Apache Ignite
                                    Committer Maxim Muzafarov will tell about his experience of working with Rebalance
                                    feature. </p>

                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href=" https://gridgain.timepad.ru/event/1091051/" target="_blank"
                                           rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>

                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url=" https://gridgain.timepad.ru/event/1091051/"
                                         data-a2a-title="Apache Ignite Pumpkin Meetup">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup Logo">
                                <p>Meetups</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="in-memory-computing-essentials-for-software-engineers-oct">
                                <h3>In-Memory Computing Essentials for Software
                                    Engineers
                                    <a href="/events.html#in-memory-computing-essentials-for-software-engineers-oct"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">SQL NYC, The NoSQL & NewSQL Database Big Data Meetup Speaker: Denis Magda</div>
                                <div class="event-date">October 29, 2019</div>

                                <p>Free books+swag, caviar, liquors, cheeses & other eclectic delicacies! Attendees will
                                    be introduced to the fundamental capabilities of in-memory computing platforms that
                                    are proven to boost application performance and solve scalability problems by
                                    storing and processing massive data sets in RAM and on disk.</p>

                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/es-ES/mysqlnyc/events/265780229/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>

                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/es-ES/mysqlnyc/events/265780229/"
                                         data-a2a-title="In-Memory Computing Essentials for Software Engineers">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup Logo">
                                <p>Meetups</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section
                                    id="ensembles-of-ml-algorithms-and-distributed-online-machine-learning-with-apache-ignite">
                                <h3>Ensembles of ML algorithms and Distributed Online
                                    Machine Learning with Apache Ignite
                                    <a href="/events.html#ensembles-of-ml-algorithms-and-distributed-online-machine-learning-with-apache-ignite"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">ApacheCon Europe 2019, Speaker - Alexey Zinovyev</div>
                                <div class="event-date">October 23, 2019</div>

                                <p>Alexey Zinovyev, Apache<sup>®</sup> Ignite® Committer, will tell about Apache Ignite
                                    ML module and how can it speedup your ML training. Also He will speak about using
                                    Ignite as a backend for distributed TensorFlow calculations.</p>

                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://aceu19.apachecon.com/session/ensembles-ml-algorithms-and-distributed-online-machine-learning-apache-ignite-0"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://aceu19.apachecon.com/session/ensembles-ml-algorithms-and-distributed-online-machine-learning-apache-ignite-0"
                                         data-a2a-title="Ensembles of ML algorithms and Distributed Online Machine Learning with Apache Ignite">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinars">
                                <p>Webinars</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="whats-new-in-gridgain-web-console">
                                <h3>Updated Apache Ignite Apache® Ignite® Web Console
                                    live demo
                                    <a href="/events.html#whats-new-in-gridgain-web-console"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Speaker - Greg Stachnick</div>
                                <div class="event-date">October 16, 2019</div>

                                <p>GridGain Web Console is now 100% free for Apache® Ignite™ and GridGain® users. During
                                    the session we will cover the basics of installation and discuss new features and
                                    capabilities added to the most recent release as well as architectural changes.</p>

                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.gridgain.com/resources/webinars/whats-new-in-gridgain-web-console"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.gridgain.com/resources/webinars/whats-new-in-gridgain-web-console"
                                         data-a2a-title="Updated Apache Ignite Apache® Ignite® Web Console live demo">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="why-did-we-developed-another-one-kafka-connector">
                                <h3>Why did we developed another one Kafka connector
                                    <a href="/events.html#why-did-we-developed-another-one-kafka-connector"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Autumn Kafka at Leroy Merlin, Moscow (Russia), Speaker - Alexey Kukushkin</div>
                                <div class="event-date">October 9, 2019</div>

                                <p>In his talk Alexey will tell, when the connectors are more convenient than developing
                                    from scratch, briefly will go through the existing connectors. After that Alexey
                                    will tell how he wrote his version based on Apache Ignite and certified by
                                    Confluent.</p>

                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://leroy-merlin.timepad.ru/event/1069622/" target="_blank"
                                           rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>

                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://leroy-merlin.timepad.ru/event/1069622/"
                                         data-a2a-title="Why did we developed another one Kafka connector">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="data-distribution-in-apache-ignite">
                                <h3>Data Distribution in Apache Ignite
                                    <a href="/events.html#data-distribution-in-apache-ignite" aria-label="Event Meetup"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Scalability Meetup, Moscow (Russia), Speaker - Andrey Gura </div>
                                <div class="event-date">October 3, 2019</div>

                                <p>Andrei Gora, committer and PMC of the Apache Ignite project, will talk about typical
                                    problems that arise when moving to a distributed model of data storage and
                                    processing, namely, the organization of a consistent data placement in a distributed
                                    system. Special attention will be paid to the rendezvous hashing algorithm, the
                                    features of its use in Apache Ignite (Rendezvous affinity function) and possible
                                    alternatives.</p>

                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/ru-RU/Scalability-Camp/events/264936752/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>

                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/ru-RU/Scalability-Camp/events/264936752/"
                                         data-a2a-title="Data Distribution in Apache Ignite">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section
                                    id="moving-apache-ignite-into-production-best-practices-for-disaster-recovery-and-high-availability">
                                <h3>Moving Apache® Ignite® into Production: Best
                                    Practices For Disaster Recovery and High Availability
                                    <a href="/events.html#moving-apache-ignite-into-production-best-practices-for-deploying-apache-ignite-in-the-cloud"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Speaker - Stanislav Lukyanov</div>
                                <div class="event-date">September 18, 2019</div>

                                <p>Learn some of the best practices and the different options for maximizing
                                    availability and preventing data loss. This session explains in detail the various
                                    challenges including cluster and data center failures, and the best practices for
                                    implementing disaster recovery (DR) for distributed in-memory computing based on
                                    real-world deployments.</p>

                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.gridgain.com/resources/webinars/moving-apache-ignite-production-best-practices-disaster-recovery-and-high"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>

                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.gridgain.com/resources/webinars/moving-apache-ignite-production-best-practices-disaster-recovery-and-high"
                                         data-a2a-title="Moving Apache® Ignite® into Production: Best Practices For Disaster Recovery and High Availability">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/conferences.svg" alt="Conference">
                                <p>Conference</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="continuous-machine-and-deep-learning-at-scale-with-apache-ignite">
                                <h3>Continuous Machine and Deep Learning at Scale
                                    with Apache Ignite
                                    <a href="/events.html#continuous-machine-and-deep-learning-at-scale-with-apache-ignite"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">ApacheCon North America 2019, Speaker, Speaker - Denis Magda</div>
                                <div class="event-date">September 18, 2019</div>

                                <p>During this session Denis, Apache Ignite PMC chair, will tell, how Apache Ignite and
                                    GridGain help to address these limitations with model training and execution, and
                                    help achieve near-real-time, continuous learning. It will be explained how ML/DL
                                    work with Apache Ignite, and how to get started.</p>

                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://apachecon.com/acna19/s/#/scheduledEvent/1125 " target="_blank"
                                           rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://apachecon.com/acna19/s/#/scheduledEvent/1125 "
                                         data-a2a-title="Continuous Machine and Deep Learning at Scale with Apache Ignite">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinars">
                                <p>Webinars</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section
                                    id="moving-apache-ignite-into-production-best-practices-for-deploying-apache-ignite-in-the-cloud">
                                <h3>Moving Apache® Ignite® into Production: Best
                                    Practices for Deploying Apache Ignite in the Cloud
                                    <a href="/events.html#moving-apache-ignite-into-production-best-practices-for-deploying-apache-ignite-in-the-cloud"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Speaker - Greg Stachnick</div>
                                <div class="event-date">August 28, 2019</div>

                                <p>This webinar discusses deploying Apache Ignite into production in public and private
                                    clouds. Companies have faced many challenges when deploying in-memory computing
                                    platforms such as Apache Ignite in the cloud, but they have also discovered many
                                    best practices that have made success possible.</p>

                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.gridgain.com/resources/webinars/moving-apacher-ignitetm-production-best-practices-deploying-apache-ignite-in"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.gridgain.com/resources/webinars/moving-apacher-ignitetm-production-best-practices-deploying-apache-ignite-in"
                                         data-a2a-title="Moving Apache® Ignite® into Production: Best Practices for Deploying Apache Ignite in the Cloud">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="cloud-deployment-best-practices">
                                <h3>Cloud deployment best practices
                                    <a href="/events.html#cloud-deployment-best-practices" aria-label="Event Meetup"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Meetup, Speaker - Greg Stachnick</div>
                                <div class="event-date">August 22, 2019</div>

                                <p>Cloud deployments offer the potential for almost infinite resources and flexible
                                    scalability. But there are so many options! It can be overwhelming to know which
                                    services are best for your use case. Building distributed systems only adds to the
                                    complexity. Come learn some best practices on how to best structure and deploy
                                    IMDB/IMDG applications in a cloud environment.</p>

                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.gridgain.com/resources/meetups/nyc-in-memory-computing-meetup-10"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>

                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.gridgain.com/resources/meetups/nyc-in-memory-computing-meetup-10"
                                         data-a2a-title="Cloud deployment best practices">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="the-insiders-checklist-for-hardening-an-in-memory-computing-cluster">
                                <h3>The Insiders Checklist for Hardening an In-Memory
                                    Computing Cluster
                                    <a href="/events.html#the-insiders-checklist-for-hardening-an-in-memory-computing-cluster"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Meetup, Speaker - Denis Magda</div>
                                <div class="event-date">August 20, 2019</div>

                                <p> In this talk Denis Magda, GridGain's VP of product management and Apache® Ignite™
                                    PMC Chair, will walk through the various components of Apache Ignite and GridGain --
                                    including memory storage, networking layer, compute grid -- to help explain many of
                                    best practices and the reasoning behind them.</p>

                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.gridgain.com/resources/meetups/bay-area-in-memory-computing-meetup-10"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.gridgain.com/resources/meetups/bay-area-in-memory-computing-meetup-10"
                                         data-a2a-title="The Insiders Checklist for Hardening an In-Memory Computing Cluster">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="htap-via-integration-of-ignite-spark">
                                <h3>HTAP via integration of Apache Ignite and Apache
                                    Spark
                                    <a href="/events.html#htap-via-integration-of-ignite-spark"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Meetup, Speaker - Roman Shtykh</div>
                                <div class="event-date">June 28, 2019</div>

                                <p> In this talk Roman will explain advantages of compute and storage disaggregation in
                                    general,
                                    and using Apache Ignite as a storage engine for Apache Spark in particular to
                                    handle HTAP workloads.</p>

                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://cyberagent.connpass.com/event/134260/" target="_blank"
                                           rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>

                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://cyberagent.connpass.com/event/134260/"
                                         data-a2a-title="HTAP via integration of Apache Ignite and Apache Spark">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinars">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="moving-apache-ignite-production-initial-checklist">
                                <h3>Moving Apache Ignite into Production: An Initial
                                    Checklist
                                    <a href="/events.html#moving-apache-ignite-production-initial-checklist"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Speaker - Denis Magda</div>
                                <div class="event-date">May 29, 2019</div>

                                <p>Guaranteeing that your in-memory computing solution stays up and running is the most
                                    important goal for a rolling out a new production environment. The trick is making
                                    sure that you have all the bases covered and have thought through all your
                                    requirements, needs, and potential roadblocks. In this webinar, Apache® Ignite™ PMC
                                    Chair Denis Magda shares a checklist to consider for your Apache Ignite production
                                    deployments.</p>

                                <p>This webinar is the first in a series that will guide you through the best
                                    development, monitoring, and troubleshooting practices for deploying Apache Ignite
                                    across different topologies and use cases.</p>

                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.gridgain.com/resources/webinars/moving-apache-ignite-production-initial-checklist"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>

                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.gridgain.com/resources/webinars/moving-apache-ignite-production-initial-checklist"
                                         data-a2a-title="Moving Apache Ignite into Production: An Initial Checklist">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/conferences.svg" alt="Conferences">
                                <p>Conference</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="sparkaisummit-north-america-2019">
                                <h3>Distributed ML/DL with Ignite ML Module Using
                                    Apache Spark as Database
                                    <a href="/events.html#sparkaisummit-north-america-2019" aria-label="Event Meetup"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Spark + AI Summit 2019, Speaker - Alexey Zinovyev</div>
                                <div class="event-date">April 25, 2019</div>
                                <p>
                                    The current implementation of ML algorithms in Spark has several disadvantages
                                    associated with the
                                    transition from standard Spark SQL types to ML-specific types, a low level of
                                    algorithms'
                                    adaptation to distributed computing, a relatively slow speed of adding new
                                    algorithms to the
                                    current library. Apache Ignite could work closely with Apache Spark due to exellent
                                    Ignite RDD/Ignite DataFrame
                                    implementation (see
                                    https://ignite.apache.org/use-cases/spark/shared-memory-layer.html).
                                    Also Apache Ignite has Ignite ML module that includes a lot of distributed ML
                                    algorithms, NLP package
                                    (will be available in next release, 2.8), the bunch of approximate ML algorithms,
                                    simple integration
                                    with TensorFlow via TensorFlow Ignite Dataset (currently, this is a part of
                                    TF.contrib package) and
                                    also each algorithm supports the model updating that gives us ability to make
                                    online-learning
                                    not only for KMeans and LinReg.
                                </p>

                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://databricks.com/sparkaisummit/north-america/sessions-single-2019?id=143"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://databricks.com/sparkaisummit/north-america/sessions-single-2019?id=143"
                                         data-a2a-title="Distributed ML/DL with Ignite ML Module Using Apache Spark as Database">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinars">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="apacher-ignitetm-nodejs-developers">
                                <h3>Apache Ignite for Node.js Developers
                                    <a href="/events.html#apacher-ignitetm-nodejs-developers" aria-label="Event Meetup"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Speaker - Denis Magda</div>
                                <div class="event-date">March 20, 2019</div>
                                <p>
                                    The benefits of Ignite are now available to Node.js
                                    developers with the addition of the Node.js Thin Client for Ignite. In this webinar,
                                    using examples, Denis will cover the specifics of how to use Node.js with Ignite,
                                    including:
                                </p>
                                <ul class="page-list">
                                    <li>Instantiating an Ignite Client</li>
                                    <li>Creating an Ignite Client Configuration</li>
                                    <li>Connecting a Client to an Ignite Cluster Node</li>
                                    <li>Obtaining an Ignite Storage Instance</li>
                                    <li>Configuring an Ignite Storage Instance</li>
                                    <li>Performing Key-Value Queries</li>
                                    <li>Performing SQL, SQL Fields and Scan Queries</li>
                                </ul>

                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.gridgain.com/resources/webinars/apacher-ignitetm-nodejs-developers"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.gridgain.com/resources/webinars/apacher-ignitetm-nodejs-developers"
                                         data-a2a-title="Apache Ignite for Node.js Developers">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="open-data-science-meetup-saint-petersburg-russia">
                                <h3>Using TensorFlow with Apache Ignite
                                    <a href="/events.html#open-data-science-meetup-saint-petersburg-russia"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Open Data Science Meetup Saint Petersburg (Russia), Speaker - Yury Babak</div>
                                <div class="event-date">March 15, 2019</div>
                                <p>
                                    Yuri Babak will explain how to use TensorFlow with Apache Ignite. Topics covered in
                                    this presentation:
                                </p>
                                <ul class="page-list">
                                    <li>Apache Ignite as a distributed data source for TensorFlow</li>
                                    <li>Distributed training of the model on the TensorFlow cluster over Apache Ignite
                                    </li>
                                    <li>Inference TensorFlow models on Apache Ignite cluster</li>
                                </ul>

                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.gridgain.com/resources/meetups/open-data-science-meetup-saint-petersburg-russia"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>

                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.gridgain.com/resources/meetups/open-data-science-meetup-saint-petersburg-russia"
                                         data-a2a-title="Using TensorFlow with Apache Ignite">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinars">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="whats-new-in-apache-ignite-27">
                                <h3>What’s New in Apache Ignite 2.7
                                    <a href="/events.html#whats-new-in-apache-ignite-27" aria-label="Webinar"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Speaker - Denis Magda</div>
                                <div class="event-date">Feb 13, 2019</div>
                                <p>
                                    Learn what's new with Apache Ignite 2.7. This session, given by Denis Magda, Apache
                                    Ignite PMC Chair, is for all Apache Ignite users.
                                    You will learn how the new capabilities of Apache Ignite work. You will also
                                    understand more about some
                                    of the other changes made to Apache Ignite, and the reasoning behind them. Come with
                                    your questions, and learn from the questions of your peers.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.gridgain.com/resources/webinars/whats-new-in-apache-ignite-27"
                                           target="_blank" rel="noopener" aria-label="Webinar">Read more</a>
                                    </p>
                                </div>
                                <div>

                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.gridgain.com/resources/webinars/whats-new-in-apache-ignite-27"
                                         data-a2a-title="What’s New in Apache Ignite 2.7">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="EffectiveMySQL-257849652">
                                <h3>Turbocharge your MySQL queries in-memory with
                                    In-Memory Computing
                                    <a href="/events.html#EffectiveMySQL-257849652" aria-label="Event Meetup"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">MySQL New York Meetup, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">Feb 5, 2019</div>
                                <p>
                                    Learn how to boost performance 1000x and scale to over 1 billion transactions per
                                    second with
                                    in-memory storage of hundreds of TBs of data for your MySQL-based applications.
                                    Attendees will learn how Apache Ignite handles auto-loading of a MySQL schema and
                                    data from
                                    PostgreSQL, supports MySQL indexes, supports compound indexes, and various forms of
                                    MySQL queries including distributed MySQL joins.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/EffectiveMySQL/events/257849652/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/EffectiveMySQL/events/257849652/"
                                         data-a2a-title="Turbocharge your MySQL queries in-memory with In-Memory Computing">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinars">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="gridgain-cloud-deploy-apache-ignite-in-minutes">
                                <h3>GridGain Cloud: Deploy Apache Ignite in Minutes
                                    <a href="/events.html#gridgain-cloud-deploy-apache-ignite-in-minutes"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">January 30, 2019</div>
                                <p>
                                    If you're interested in in-memory computing and are trying Apache Ignite or are
                                    interested
                                    in-memory computing as a Service, this session about GridGain Cloud is for you.
                                    Learn how to deploy Ignite as a service with just a few clicks, and how to use
                                    Ignite as a
                                    distributed cache or in-memory database (IMDB) as a service.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.gridgain.com/resources/webinars/gridgain-cloud-deploy-apache-ignite-in-minutes"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.gridgain.com/resources/webinars/gridgain-cloud-deploy-apache-ignite-in-minutes"
                                         data-a2a-title="GridGain Cloud: Deploy Apache Ignite in Minutes">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinars">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="in-memory-computing-best-practices-developing-new-apps-channels-and-apis">
                                <h3>In-Memory Computing Best Practices: Developing
                                    New Apps, Channels and APIs
                                    <a href="/events.html#in-memory-computing-best-practices-developing-new-apps-channels-and-apis"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Speaker - Rob Meyer</div>
                                <div class="event-date">January 24, 2019</div>
                                <p>
                                    Digital transformation is arguably the most important initiative in IT today, in
                                    large part
                                    because of its ability to improve the customer experience and business operations,
                                    and to make a business more agile.
                                    But delivering a responsive digital business is not possible at scale without
                                    in-memory computing.
                                    This session, the third in the In-Memory Computing Best Practices Series, dives into
                                    how in-memory
                                    computing acts as a foundation for digital business.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.gridgain.com/resources/webinars/in-memory-computing-best-practices-developing-new-apps-channels-and-apis"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.gridgain.com/resources/webinars/in-memory-computing-best-practices-developing-new-apps-channels-and-apis"
                                         data-a2a-title="In-Memory Computing Best Practices: Developing New Apps, Channels and APIs">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="Stanford-Data-Science-Machine-Learning-Meetup-256812708">
                                <h3>Workshop: Machine Learning 101 with In-Memory
                                    Computing
                                    <a href="/events.html#Stanford-Data-Science-Machine-Learning-Meetup-256812708"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Stanford Data Science Machine Learning Meetup, Speaker - Denis Magda</div>
                                <div class="event-date">January 15, 2019</div>
                                <p>
                                    Attendees will be introduced to the fundamental capabilities of in-memory computing
                                    platforms
                                    that boost highly-loaded applications, research projects, risk analysis and fraud
                                    detection
                                    tasks by storing and processing massive amounts of data in memory and on disk across
                                    a cluster of machines.
                                    By the end of the workshop the attendees will learn how to:
                                </p>
                                <ul class="page-list">
                                    <li>Deploy a distributed Apache Ignite cluster.</li>
                                    <li>Preload data into the cluster deciding how much RAM is to be available for
                                        storage needs.
                                    </li>
                                    <li>Create custom calculations and algorithms and utilize cluster’s resources for
                                        their execution.
                                    </li>
                                    <li>Solve optimizations problems by simulating the process of biological
                                        evolution.
                                    </li>
                                    <li>Apply machine learning algorithms supported by Apache Ignite.</li>
                                </ul>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/Stanford-Data-Science-Machine-Learning-Meetup/events/256812708"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>

                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/Stanford-Data-Science-Machine-Learning-Meetup/events/256812708"
                                         data-a2a-title="Workshop: Machine Learning 101 with In-Memory Computing ">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="open-source-data-science-256974934">
                                <h3>Workshop: In-Memory Computing Essentials for Data
                                    Scientists
                                    <a href="/events.html#open-source-data-science-256974934" aria-label="Event Meetup"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">BOSTON #ODSC, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">January 15, 2019</div>
                                <p>
                                    Attendees will be introduced to the fundamental capabilities of in-memory computing
                                    platforms
                                    that boost highly-loaded applications, research projects, risk analysis and fraud
                                    detection
                                    tasks by storing and processing massive amounts of data in memory and on disk across
                                    a cluster of machines.
                                    By the end of the workshop the attendees will learn how to:
                                </p>
                                <ul class="page-list">
                                    <li>Deploy a distributed Apache Ignite cluster.</li>
                                    <li>Preload data into the cluster deciding how much RAM is to be available for
                                        storage needs.
                                    </li>
                                    <li>Create custom calculations and algorithms and utilize cluster’s resources for
                                        their execution.
                                    </li>
                                    <li>Solve optimizations problems by simulating the process of biological
                                        evolution.
                                    </li>
                                    <li>Apply machine learning algorithms supported by Apache Ignite.</li>
                                </ul>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/open-source-data-science/events/256974934/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>

                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/open-source-data-science/events/256974934/"
                                         data-a2a-title="Workshop: In-Memory Computing Essentials for Data Scientists">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="NYC-In-Memory-Computing-Meetup-257355223">
                                <h3>Relational DBMSs: Faster Transactions and
                                    Analytics with In-Memory Computing
                                    <a href="/events.html#NYC-In-Memory-Computing-Meetup-257355223"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">NYC In-Memory Computing Meetup, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">January 14, 2019</div>
                                <p>
                                    Combining Apache Ignite with a Relational DBMS can offer enterprises the best of
                                    both open-source worlds:
                                    a highly-scalable high-velocity grid-based in-memory SQL database, with a robust
                                    fully-featured
                                    SQL persistent datastore for advanced analytics and data-warehouse capabilities.
                                </p>
                                <p>Topics to be covered:</p>
                                <ul class="page-list">
                                    <li>How to complement a Relational DBMS for Hybrid Transactional/Analytical
                                        Processing (HTAP) by leveraging the massive parallel processing and SQL
                                        capabilities of Apache Ignite.
                                    </li>
                                    <li>How to use Apache Ignite as an In-Memory Data Grid that stores data in memory
                                        and boosts applications performance by offloading reads from a Relational DBMS.
                                    </li>
                                    <li>The strategic benefits of using Apache Ignite instead of Memcache, Redis,
                                        GigaSpaces, or Oracle Coherence.
                                    </li>
                                </ul>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/NYC-In-Memory-Computing-Meetup/events/257355223"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>

                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/NYC-In-Memory-Computing-Meetup/events/257355223"
                                         data-a2a-title="Relational DBMSs: Faster Transactions and Analytics with In-Memory Computing">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                </div>
                <div class="tab-pane" id="events-2018">
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup Logo">
                                <p>Meetups</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="Amsterdam-Kubernetes-Meetup-256234544">
                                <h3>Distributed Database DevOps Dilemmas? Kubernetes
                                    to the rescue!
                                    <a href="/events.html#Amsterdam-Kubernetes-Meetup-256234544"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Amsterdam Kubernetes/Cloud-Native Meetup, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">December 6, 2018</div>
                                <p>
                                    Distributed databases can make so many things easier for a developer, but not always
                                    for DevOps.
                                    Kubernetes has come to the rescue with an easy application orchestration! It is
                                    straightforward to do the orchestration leaning on relational databases as a data
                                    layer.
                                    However, it is more difficult to do the same when a distributed SQL database or
                                    other kind of distributed storage is used instead.
                                    In this presentation, attendees will learn how Kubernetes can orchestrate a
                                    distributed database like Apache Ignite, in particular:
                                </p>
                                <ul class="page-list">
                                    <li>Cluster Assembling - database nodes auto-discovery in Kubernetes</li>
                                    <li>Database Resilience - automated horizontal scalability</li>
                                    <li>Database Availability - what’s the role of Kubernetes and the database</li>
                                    <li>Utilizing both RAM and disk - set up Apache Ignite in a way to get in-memory
                                        performance with the durability of disk
                                    </li>
                                </ul>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/Amsterdam-Kubernetes-Meetup/events/256234544"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/Amsterdam-Kubernetes-Meetup/events/256234544"
                                         data-a2a-title="Distributed Database DevOps Dilemmas? Kubernetes to the rescue!">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup Logo">
                                <p>Meetups</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="Hamburg-Kubernetes-Meetup-256200849">
                                <h3>Distributed Database DevOps Dilemmas? Kubernetes
                                    to the rescue!
                                    <a href="/events.html#Hamburg-Kubernetes-Meetup-256200849"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Hamburg Kubernetes/Cloud-Native Meetup, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">December 5, 2018</div>
                                <p>
                                    Distributed databases can make so many things easier for a developer, but not always
                                    for DevOps.
                                    Kubernetes has come to the rescue with an easy application orchestration! It is
                                    straightforward to do the orchestration leaning on relational databases as a data
                                    layer.
                                    However, it is more difficult to do the same when a distributed SQL database or
                                    other kind of distributed storage is used instead.
                                    In this presentation, attendees will learn how Kubernetes can orchestrate a
                                    distributed database like Apache Ignite, in particular:
                                </p>
                                <ul class="page-list">
                                    <li>Cluster Assembling - database nodes auto-discovery in Kubernetes</li>
                                    <li>Database Resilience - automated horizontal scalability</li>
                                    <li>Database Availability - what’s the role of Kubernetes and the database</li>
                                    <li>Utilizing both RAM and disk - set up Apache Ignite in a way to get in-memory
                                        performance with the durability of disk
                                    </li>
                                </ul>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/Hamburg-Kubernetes-Meetup/events/256200849/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>

                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/Hamburg-Kubernetes-Meetup/events/256200849/"
                                         data-a2a-title="Distributed Database DevOps Dilemmas? Kubernetes to the rescue!">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup Logo">
                                <p>Meetups</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="Munchen-Kubernetes-Meetup-256177844">
                                <h3>Distributed Database DevOps Dilemmas? Kubernetes
                                    to the rescue!
                                    <a href="/events.html#Munchen-Kubernetes-Meetup-256177844"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">München Kubernetes/Cloud-Native Meetup, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">December 4, 2018</div>
                                <p>
                                    Distributed databases can make so many things easier for a developer, but not always
                                    for DevOps.
                                    Kubernetes has come to the rescue with an easy application orchestration! It is
                                    straightforward to do the orchestration leaning on relational databases as a data
                                    layer.
                                    However, it is more difficult to do the same when a distributed SQL database or
                                    other kind of distributed storage is used instead.
                                    In this presentation, attendees will learn how Kubernetes can orchestrate a
                                    distributed database like Apache Ignite, in particular:
                                </p>
                                <ul class="page-list">
                                    <li>Cluster Assembling - database nodes auto-discovery in Kubernetes</li>
                                    <li>Database Resilience - automated horizontal scalability</li>
                                    <li>Database Availability - what’s the role of Kubernetes and the database</li>
                                    <li>Utilizing both RAM and disk - set up Apache Ignite in a way to get in-memory
                                        performance with the durability of disk
                                    </li>
                                </ul>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/Munchen-Kubernetes-Meetup/events/256177844/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>

                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/Munchen-Kubernetes-Meetup/events/256177844/"
                                         data-a2a-title="Distributed Database DevOps Dilemmas? Kubernetes to the rescue!">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup Logo">
                                <p>Meetups</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="NYC-In-Memory-Computing-Meetup-256580648">
                                <h3>Memory-Centric Architecture - A New Approach to
                                    Distributed Systems
                                    <a href="/events.html#NYC-In-Memory-Computing-Meetup-256580648"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">NYC In-Memory Computing Meetup, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">November 29, 2018</div>
                                <p>
                                    In this presentation, attendees will learn how to achieve the best performance and
                                    scale with
                                    the new memory-centric approach to distributed architectures. The presentation will
                                    review traditional
                                    in-memory and disk-based systems, compare their strengths and weaknesses, cover
                                    features such as
                                    ACID compliance, SQL compatibility, persistence, replication, security, fault
                                    tolerance and more.
                                    Additionally, the presentation will cover some of the most common use cases for
                                    distributed
                                    computing and analyze some large Apache Ignite and GridGain deployments. Finally,
                                    attendees will learn
                                    how to build the most effective and scalable systems by borrowing the best of
                                    two worlds - disk-first and memory-first approaches.

                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/NYC-In-Memory-Computing-Meetup/events/256580648/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>

                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/NYC-In-Memory-Computing-Meetup/events/256580648/"
                                         data-a2a-title="Memory-Centric Architecture - A New Approach to Distributed Systems">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup Logo">
                                <p>Meetups</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="Kafka-ATL-256500714">
                                <h3>Stream Processing Best Practices - In the Cloud
                                    and with Apache Ignite
                                    <a href="/events.html#Kafka-ATL-256500714" aria-label="Event Meetup"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Apache Kafka Atlanta, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">November 28, 2018</div>
                                <p>
                                    Learn some of the best practices companies have used for making Apache Kafka and
                                    Apache Ignite scale.
                                    Making stream processing scale requires making all the components --including
                                    messaging,
                                    processing, storage -- scale together. During this talk, Akmal will explain:
                                </p>
                                <ul class="page-list">
                                    <li>The integration between Apache Ignite and Kafka</li>
                                    <li>Examples of how Ignite and Kafka are used together</li>
                                    <li>Recommended approaches for deployment, monitoring and management</li>
                                    <li>Tips and tricks for performance and scalability tuning</li>
                                </ul>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/Kafka-ATL/events/256500714/" target="_blank"
                                           rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>

                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/Kafka-ATL/events/256500714/"
                                         data-a2a-title="Stream Processing Best Practices - In the Cloud and with Apache Ignite">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup Logo">
                                <p>Meetups</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="Apache-Kafka-DC-256476441">
                                <h3>Best Practices for Stream Processing with Kafka
                                    and Apache Ignite
                                    <a href="/events.html#Apache-Kafka-DC-256476441" aria-label="Event Meetup"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Apache Kafka DC, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">November 27, 2018</div>
                                <p>
                                    Learn some of the best practices companies have used for making Apache Kafka and
                                    Apache Ignite scale.
                                    Making stream processing scale requires making all the components --including
                                    messaging,
                                    processing, storage -- scale together. During this talk, Akmal will explain:
                                </p>
                                <ul class="page-list">
                                    <li>The integration between Apache Ignite and Kafka</li>
                                    <li>Examples of how Ignite and Kafka are used together</li>
                                    <li>Recommended approaches for deployment, monitoring and management</li>
                                    <li>Tips and tricks for performance and scalability tuning</li>
                                </ul>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/Apache-Kafka-DC/events/256476441"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>

                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/Apache-Kafka-DC/events/256476441"
                                         data-a2a-title="Best Practices for Stream Processing with Kafka and Apache Ignite">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup Logo">
                                <p>Meetups</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="moscow-apache-ignite-meetup-818220">
                                <h3>Apache Ignite performance measurement. How we do
                                    benchmarks
                                    <a href="/events.html#moscow-apache-ignite-meetup-818220" aria-label="Event Meetup"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Moscow Apache Ignite Meetup, Speakers - Ilya Suntsov, Dmitry Pavlov, Nikolay Kulagin, Nikolay Izhikov</div>
                                <div class="event-date">November 14, 2018</div>
                                <p>
                                    We invite you to the next meeting of Apache Ignite Community in Moscow.
                                    Let's talk about benchmarks, what to do with unstable tests and how major open
                                    source features are
                                    created using the example of Transparent Data Encryption in Apache Ignite.

                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.gridgain.com/resources/meetups/moscow-apache-ignite-meetup"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>

                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.gridgain.com/resources/meetups/moscow-apache-ignite-meetup"
                                         data-a2a-title="Apache Ignite performance measurement. How we do benchmarks">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup Logo">
                                <p>Meetups</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="KafkaBayArea--255670377">
                                <h3>Best Practices for Stream Processing with Kafka
                                    and Apache Ignite
                                    <a href="/events.html#KafkaBayArea--255670377" aria-label="Event Meetup"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Bay Area Apache Kafka Meetup, Speaker - Denis Magda</div>
                                <div class="event-date">November 7, 2018</div>
                                <p>
                                    Learn some of the best practices companies have used for making Apache Kafka and
                                    Apache Ignite scale.
                                    Making stream processing scale requires making all the components --including
                                    messaging, processing, storage -- scale together. During this talk, Denis will
                                    explain:
                                </p>
                                <ul class="page-list">
                                    <li>The integration between Apache Ignite and Kafka and the commercially supported
                                        versions, GridGain and Confluent
                                    </li>
                                    <li>Examples of how Ignite and Kafka are used together</li>
                                    <li>Recommended approaches for deployment, monitoring and management</li>
                                    <li>Tips and tricks for performance and scalability tuning</li>
                                </ul>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/KafkaBayArea/events/255670377/" target="_blank"
                                           rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>

                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/KafkaBayArea/events/255670377/"
                                         data-a2a-title="Best Practices for Stream Processing with Kafka and Apache Ignite">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup Logo">
                                <p>Meetups</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="Bay-Area-In-Memory-Computing-255491989">
                                <h3>In-Memory Computing Essentials for Data Scientist
                                    <a href="/events.html#Bay-Area-In-Memory-Computing-255491989"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Bay Area In-Memory Computing Meetup, Speaker - Lucas Beeler</div>
                                <div class="event-date">November 1, 2018</div>
                                <p>
                                    Lucas will talk about the fundamental capabilities of in-memory computing platforms
                                    that specifically boost high-load applications and services.
                                    These cost-effective capabilities bring existing IT architecture to the next level
                                    by storing and processing massive quantities of data both in RAM and, optionally, on
                                    disk.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/Bay-Area-In-Memory-Computing/events/255491989/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>

                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/Bay-Area-In-Memory-Computing/events/255491989/"
                                         data-a2a-title="In-Memory Computing Essentials for Data Scientist">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup Logo">
                                <p>Meetups</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="DevOps-Exchange-SanFrancisco-254969027">
                                <h3>Distributed Database DevOps Dilemmas? Kubernetes
                                    to the rescue!
                                    <a href="/events.html#DevOps-Exchange-SanFrancisco-254969027"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">DevOps Exchange San Francisco, Speaker - Valentin Kulichenko</div>
                                <div class="event-date">October 25, 2018</div>
                                <p>
                                    Distributed databases can make so many things easier for a developer, but not always
                                    for DevOps.
                                    Kubernetes has come to the rescue with an easy application orchestration! It is
                                    straightforward to do the orchestration
                                    leaning on relational databases as a data layer. However, it is more difficult to do
                                    the same when a distributed SQL database or
                                    other kinds of distributed storage is used instead. In this presentation, attendees
                                    will learn how Kubernetes can orchestrate a distributed database.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/DevOps-Exchange-SanFrancisco/events/254969027"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>

                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/DevOps-Exchange-SanFrancisco/events/254969027"
                                         data-a2a-title="Distributed Database DevOps Dilemmas? Kubernetes to the rescue!">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup Logo">
                                <p>Meetups</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="NYC-In-Memory-Computing-Meetup-254701726">
                                <h3>Powering up banks and financial institutions with
                                    distributed systems
                                    <a href="/events.html#NYC-In-Memory-Computing-Meetup-254701726"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">NYC In-Memory Computing Meetup, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">October 25, 2018</div>
                                <p>
                                    In this talk, attendees will learn about the key capabilities and features of
                                    in-memory computing
                                    platforms that are important for financial applications -- including ACID
                                    compliance, SQL compatibility,
                                    persistence, replication, security, fault tolerance, fraud detection and more.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/NYC-In-Memory-Computing-Meetup/events/254701726/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>

                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/NYC-In-Memory-Computing-Meetup/events/254701726/"
                                         data-a2a-title="Powering up banks and financial institutions with distributed systems">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup Logo">
                                <p>Meetups</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="futureofdata-newyork-253873404">
                                <h3>Best practices for stream ingestion, processing
                                    and analytics using in-memory computing
                                    <a href="/events.html#futureofdata-newyork-253873404" aria-label="Event Meetup"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Future of Data: New York, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">October 24, 2018</div>
                                <p>
                                    In this talk, Akmal Chaudhri will share the best practices used for real-time stream
                                    ingestion,
                                    processing and analytics using Apache Ignite, Apache Kafka, Apache Spark and other
                                    technologies.
                                    Akmal, will explain how to:
                                </p>
                                <ul class="page-list">
                                    <li>Optimize stream ingestion from Kafka and other popular messaging and streaming
                                        technologies
                                    </li>
                                    <li>Architect pre-processing and analytics for performance and scalability</li>
                                    <li>Implement and tune Apache Ignite or GridGain and Spark together</li>
                                    <li>Design to ensure performance for real-time reports</li>
                                </ul>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/futureofdata-newyork/events/253873404"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>

                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/futureofdata-newyork/events/253873404"
                                         data-a2a-title="Best practices for stream ingestion, processing and analytics using in-memory computing">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup Logo">
                                <p>Meetups</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="Metis-New-York-Data-Science-254379968">
                                <h3>Apache Ignite: The In-Memory Hammer In Your Data
                                    Science Toolkit
                                    <a href="/events.html#Metis-New-York-Data-Science-254379968"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Metis: New York Data Science, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">October 23, 2018</div>
                                <p>
                                    In this presentation we will look at some of the main components of Apache Ignite,
                                    such as the Compute Grid,
                                    Data Grid and the Machine Learning Grid. Through examples, attendees will learn how
                                    Apache Ignite can be used for data analysis.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/Metis-New-York-Data-Science/events/254379968"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>

                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/Metis-New-York-Data-Science/events/254379968"
                                         data-a2a-title="Apache Ignite: The In-Memory Hammer In Your Data Science Toolkit">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup Logo">
                                <p>Meetups</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="it-dev-connections-dallas">
                                <h3>Scale Out and Conquer: Architectural Decisions
                                    Behind Distributed In-Memory Systems
                                    <a href="/events.html#it-dev-connections-dallas" aria-label="Event Meetup"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">IT/Dev Connections, Dallas, Speaker - Denis Magda</div>
                                <div class="event-date">October 18, 2018</div>
                                <p>
                                    In this session, attendees will learn about the compromises and pitfalls architects
                                    face when designing
                                    distributed systems. They will also learn the advantages and disadvantages of
                                    different
                                    data-sharding algorithms, effective data models for distributed environments,
                                    synchronization and
                                    coordination in distributed systems, and local scalability issues of speeding up
                                    local processing on cluster nodes.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://tmt.knect365.com/it-dev-connections/speakers/denis-magda-1#far-east-room_scale-out-and-conquer-architectural-decisions-behind-distributed-in-memory-systems"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>

                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://tmt.knect365.com/it-dev-connections/speakers/denis-magda-1#far-east-room_scale-out-and-conquer-architectural-decisions-behind-distributed-in-memory-systems"
                                         data-a2a-title="Scale Out and Conquer: Architectural Decisions Behind Distributed In-Memory Systems">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup Logo">
                                <p>Meetups</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="Bay-Area-In-Memory-Computing-254629901">
                                <h3>Best Practices for Stream Ingestion, Processing
                                    and Analytics Using In-Memory Computing
                                    <a href="/events.html#Bay-Area-In-Memory-Computing-254629901"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Bay Area In-Memory Computing Meetup, Speaker - Valentin Kulichenko</div>
                                <div class="event-date">September 26, 2018</div>
                                <p>
                                    Learn the best practices used for real-time stream ingestion, processing and
                                    analytics using Apache® Ignite®, GridGain®, Apache Kafka™, Apache Spark™ and other
                                    technologies.
                                    In this session Valentin will explain how to:
                                </p>
                                <ul class="page-list">
                                    <li>Optimize stream ingestion from Kafka and other popular messaging and streaming
                                        technologies
                                    </li>
                                    <li>Architect pre-processing and analytics for performance and scalability</li>
                                    <li>Implement and tune Apache Ignite or GridGain and Spark together</li>
                                    <li>Design to ensure performance for real-time reports</li>
                                </ul>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/Bay-Area-In-Memory-Computing/events/254629901/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>

                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/Bay-Area-In-Memory-Computing/events/254629901/"
                                         data-a2a-title="Best Practices for Stream Ingestion, Processing and Analytics Using In-Memory Computing">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/conferences.svg" alt="Conferences">
                                <p>Conference</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="db-tech-showcase-tokyo">
                                <h3>Apache Ignite: From In-Memory Data Grid to
                                    Memory-Centric Distributed Database
                                    <a href="/events.html#db-tech-showcase-tokyo" aria-label="Event Meetup"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">DB Tech Showcase, Tokyo, Speaker - Roman Shtykh</div>
                                <div class="event-date">September 21, 2018</div>
                                <p>
                                    In this session Roman will explain how Apache Ignite evolved from in-memory data
                                    grid to memory-centric database, and you will learn about its peculiarities and
                                    strengths for fast data storing and processing.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.db-tech-showcase.com/dbts/tokyo" target="_blank"
                                           rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>

                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.db-tech-showcase.com/dbts/tokyo"
                                         data-a2a-title="Apache Ignite: From In-Memory Data Grid to Memory-Centric Distributed Database">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="Big-Data-Paris-251647148">
                                <h3>How to become a Big Data Rockstar in 15 minutes!
                                    <a href="/events.html#Big-Data-Paris-251647148" aria-label="Event Meetup"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Data Natives European Tour, Paris, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">September 17, 2018</div>
                                <p>
                                    The secret? Apache Ignite! Apache Ignite is a memory-centric distributed database,
                                    caching, and processing platform.
                                    It is designed for transactional, analytical, and streaming workloads, delivering
                                    in-memory performance at scale.<br/>
                                    In this presentation attendees will learn about some of the key capabilities of
                                    Ignite, such as:
                                </p>
                                <ul class="page-list">
                                    <li>Turbocharging SQL queries when working with existing Relational database
                                        systems
                                    </li>
                                    <li>Sharing data and state across multiple Spark jobs using RDDs and DataFrames</li>
                                    <li>Using Ignite’s Machine Learning library for Data Science</li>
                                    <li>Easing DevOps dilemmas by using Ignite with Kubernetes</li>
                                </ul>
                                <p>Attendees will also learn how to download and install Ignite and start to be
                                    productive in under 5 minutes.</p>

                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/Big-Data-Paris/events/251647148" target="_blank"
                                           rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>

                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/Big-Data-Paris/events/251647148"
                                         data-a2a-title="How to become a Big Data Rockstar in 15 minutes!">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="Metis-New-York-Data-Science-253834339">
                                <h3>In-Memory Computing Essentials for Data
                                    Scientists
                                    <a href="/events.html#Metis-New-York-Data-Science-253834339"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">New York Data Science, Speaker - Denis Magda</div>
                                <div class="event-date">September 12, 2018</div>
                                <p>
                                    Attendees will be introduced to the fundamental capabilities of in-memory computing
                                    platforms that
                                    boost highly-loaded applications, research projects, risk analysis and fraud
                                    detection tasks by storing
                                    and processing massive amounts of data in memory and on disk across a cluster of
                                    machines. By the end of the workshop the attendees will learn how to:

                                </p>
                                <ul class="page-list">
                                    <li>Deploy a distributed Apache Ignite cluster.</li>
                                    <li>Preload data into the cluster deciding how much RAM is to be available for
                                        storage needs.
                                    </li>
                                    <li>TCreate custom calculations and algorithms and utilize cluster’s resources for
                                        their execution.
                                    </li>
                                    <li>Solve optimizations problems by simulating the process of biological
                                        evolution.
                                    </li>
                                    <li>Apply machine learning algorithms supported by Apache Ignite.</li>
                                </ul>
                                <p>This two-hour workshop is a must-attend event for all data scientists!</p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/Metis-New-York-Data-Science/events/253834339/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/Metis-New-York-Data-Science/events/253834339/"
                                         data-a2a-title="In-Memory Computing Essentials for Data Scientists">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="postgres-nyc-252852884">
                                <h3>PostgreSQL with Apache Ignite: Faster
                                    Transactions and Analytics
                                    <a href="/events.html#postgres-nyc-252852884" aria-label="Event Meetup"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">New York City PostgreSQL User Group, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">August 30, 2018</div>
                                <p>
                                    Combining Apache Ignite with PostgreSQL can offer enterprises the best of both
                                    open-source worlds:
                                    a highly-scalable high-velocity grid-based in-memory SQL database, with a robust
                                    fully-featured SQL
                                    persistent datastore for advanced analytics and data-warehouse capabilities. Topics
                                    to be covered:
                                </p>
                                <ul class="page-list">
                                    <li>How to complement PostgreSQL for Hybrid Transactional/Analytical Processing
                                        (HTAP) by leveraging the massive parallel processing and SQL capabilities of
                                        Apache Ignite.
                                    </li>
                                    <li>How to use Apache Ignite as an In-Memory Data Grid that stores data in memory
                                        and boosts applications performance by offloading reads from PostgreSQL.
                                    </li>
                                    <li>The strategic benefits of using Apache Ignite instead of Memcache, Redis,
                                        GigaSpaces, or Oracle Coherence.
                                    </li>
                                </ul>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/postgres-nyc/events/252852884/" target="_blank"
                                           rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>

                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/postgres-nyc/events/252852884/"
                                         data-a2a-title="PostgreSQL with Apache Ignite: Faster Transactions and Analytics">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="NYC-In-Memory-Computing-Meetup-253100350">
                                <h3>Machine and Deep Learning with an Apache Ignite
                                    <a href="/events.html#NYC-In-Memory-Computing-Meetup-253100350"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">NYC In-Memory Computing Meetup, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">August 29, 2018</div>
                                <p>
                                    Apache Ignite Release 2.4 added built-in machine learning (ML) and deep learning
                                    (DL).
                                    It not only eliminates any delays caused by transferring data to a different
                                    database or store.
                                    It delivers near real-time performance by running a variety of ML and DL algorithms
                                    in place,
                                    in memory, that are optimized for collocated processing.
                                </p>
                                <p>Learn more about these new capabilities and how to use them in Apache Ignite 2.4. In
                                    his talk, Akmal will provide:</p>
                                <ul class="page-list">
                                    <li>An overview of the ML and DL algorithms and how they work</li>
                                    <li>Examples of how to implement each ML and DL algorithm</li>
                                    <li>Tips and tricks for getting the most performance out of ML and DL</li>
                                </ul>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/NYC-In-Memory-Computing-Meetup/events/253100350/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>

                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/NYC-In-Memory-Computing-Meetup/events/253100350/"
                                         data-a2a-title="Machine and Deep Learning with an Apache Ignite">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="big-bang-Data-science-Solutions-253752437">
                                <h3>Improving Apache Spark™ In-Memory Computing with
                                    Apache Ignite<sup>®</sup>
                                    <a href="/events.html#big-bang-Data-science-Solutions-253752437"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Big Bang Data Science - Georgia, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">August 28, 2018</div>
                                <p>
                                    Learn how Apache Ignite simplifies development and improves performance for Apache
                                    Spark. In his talk, Akmal Chaudhri will explain
                                    how Apache Spark and Ignite are integrated, and how they are used together for
                                    analytics, stream processing and machine learning.
                                </p>
                                <p>By the end of this talk you will understand:</p>
                                <ul class="page-list">
                                    <li>How Apache Ignite's native RDD and new native DataFrame APIs work</li>
                                    <li>How to use Ignite as an in-memory database and massively parallel processing
                                        (MPP) style collocated processing for preparing and managing data for Spark
                                    </li>
                                    <li>How to leverage Ignite to easily share state across Spark jobs using mutable
                                        RDDs and DataFrames
                                    </li>
                                    <li>How to leverage Ignite distributed SQL and advanced indexing in memory to
                                        improve SQL performance
                                    </li>
                                </ul>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/big-bang-Data-science-Solutions/events/253752437/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>

                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/big-bang-Data-science-Solutions/events/253752437/"
                                         data-a2a-title="Improving Apache Spark™ In-Memory Computing with Apache Ignite™">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="Greater-Atlanta-Internet-of-Things-253619287">
                                <h3>Speeding-up the IoT: Best practices for stream
                                    ingestion, processing and analytics using in-memory computing
                                    <a href="/events.html#Greater-Atlanta-Internet-of-Things-253619287"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Greater Atlanta Internet of Things, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">August 27, 2018</div>
                                <p>
                                    In this talk, Akmal Chaudhri will share the best practices used for real-time stream
                                    ingestion,
                                    processing and analytics using Apache Ignite, Apache Kafka, Apache Spark and other
                                    technologies. Akmal will explain how to:
                                </p>
                                <ul class="page-list">
                                    <li>Optimize stream ingestion from Kafka and other popular messaging and streaming
                                        technologies
                                    </li>
                                    <li>Architect pre-processing and analytics for performance and scalability</li>
                                    <li>Implement and tune Apache Ignite and Spark together</li>
                                    <li>Design to ensure performance for real-time reports</li>
                                </ul>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/Greater-Atlanta-Internet-of-Things/events/253619287/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>

                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/Greater-Atlanta-Internet-of-Things/events/253619287/"
                                         data-a2a-title="Speeding-up the IoT: Best practices for stream ingestion, processing and analytics using in-memory computing">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="Bay-Area-In-Memory-Computing-252983625">
                                <h3>Best Practices for Deploying Distributed
                                    Databases and In-Memory Computing Platforms with Kubernetes
                                    <a href="/events.html#Bay-Area-In-Memory-Computing-252983625"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Bay Area In-Memory Computing Meetup, Menlo Park, Speaker - Denis Magda</div>
                                <div class="event-date">August 23, 2018</div>
                                <p>
                                    Denis will explain how Kubernetes can orchestrate a distributed database or
                                    in-memory computing solutions using Apache Ignite as an example. He'll demonstrate
                                    how to:
                                </p>
                                <ul class="page-list">
                                    <li>Deploy, provision and manage an IMDG or IMDB when you wish to keep data in RAM
                                    </li>
                                    <li>Set up and manage persistence for the in-memory technologies above or configure
                                        a disk-based distributed database
                                    </li>
                                    <li>Set up auto-discovery and automated horizontal scalability, and use other tricks
                                        for high availability
                                    </li>
                                </ul>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/Bay-Area-In-Memory-Computing/events/252983625"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/Bay-Area-In-Memory-Computing/events/252983625"
                                         data-a2a-title="Best Practices for Deploying Distributed Databases and In-Memory Computing Platforms with Kubernetes">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="Metis-San-Francisco-Data-Science-253823997">
                                <h3>In-Memory Computing Essentials for Data
                                    Scientists
                                    <a href="/events.html#Metis-San-Francisco-Data-Science-253823997"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Metis: San Francisco Data Science, Speaker - Valentin Kulichenko</div>
                                <div class="event-date">August 22, 2018</div>
                                <p>
                                    Attendees will be introduced to the fundamental capabilities of in-memory computing
                                    platforms that
                                    boost highly-loaded applications, research projects, risk analysis and fraud
                                    detection tasks by
                                    storing and processing massive amounts of data in memory and on disk across a
                                    cluster of machines.
                                    These capabilities and benefits will be demonstrated with the usage of Apache Ignite
                                    which is the
                                    in-memory computing platform that is durable, strongly consistent, and highly
                                    available with powerful SQL, key-value and processing APIs.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/Metis-San-Francisco-Data-Science/events/253823997"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>

                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/Metis-San-Francisco-Data-Science/events/253823997"
                                         data-a2a-title="In-Memory Computing Essentials for Data Scientists">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/conferences.svg" alt="Conference">
                                <p>Conference</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="datasummer-ukraine">
                                <h3>Apache Ignite + Apache Spark RDDs and DataFrames
                                    integration (ENG)
                                    <a href="/events.html#datasummer-ukraine" aria-label="Event Meetup"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Data Summer Conf, Ukraine, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">July 21, 2018</div>
                                <p>
                                    This session will explain how Apache Spark and Ignite are integrated, and how they
                                    are used to together for
                                    analytics, stream processing and machine learning. By the end of this session
                                    attendees will understand:
                                </p>
                                <ul class="page-list">
                                    <li>How Apache Ignite’s native RDD and new native DataFrame APIs work</li>
                                    <li>How to use Ignite as an in-memory database and massively parallel processing
                                        (MPP) style collocated processing for preparing and managing data for Spark
                                    </li>
                                    <li>How to leverage Ignite to easily share state across Spark jobs using mutable
                                        RDDs and DataFrames
                                    </li>
                                    <li>How to leverage Ignite distributed SQL and advanced indexing in memory to
                                        improve SQL performance
                                    </li>
                                </ul>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://provectus.com/datasummer/#agenda" target="_blank"
                                           rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://provectus.com/datasummer/#agenda"
                                         data-a2a-title="Apache Ignite + Apache Spark RDDs and DataFrames integration (ENG)">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/conferences.svg" alt="Conference">
                                <p>Conference</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="big-data-san-francisco-v-50-tickets-46971191097">
                                <h3>Adding Speed and Scale to Existing Applications
                                    with No Rip and Replace Using Apache Ignite
                                    <a href="/events.html#big-data-san-francisco-v-50-tickets-46971191097"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Big Data, San Francisco v 5.0, Speaker - Denis Magda</div>
                                <div class="event-date">July 18, 2018</div>
                                <p>
                                    Learn how companies are not only adding speed and scale without ripping out,
                                    rewriting or replacing
                                    their existing applications and databases, but also how they're setting themselves
                                    up for future
                                    projects to improve the customer experience. In this talk, Denis will explain how
                                    to:
                                </p>
                                <ul class="page-list">
                                    <li>Get started with Apache Ignite as In-Memory Data Grid (IMDG) deployed on top of
                                        RDBMS or NoSQL database
                                    </li>
                                    <li>Keep data in sync across RAM (Apache Ignite) and disk (RDBMS/NoSQL database)
                                    </li>
                                    <li>Leverage from Apache Ignite distributed SQL and ACID transaction for IMDG
                                        scenarios
                                    </li>
                                    <li>Move further and start to build HTAP applications, real-time analytics, and
                                        machine learning, on the same IMDG
                                    </li>
                                </ul>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.eventbrite.co.uk/e/big-data-san-francisco-v-50-tickets-46971191097"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div class=" col-md-3 ">

                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.eventbrite.co.uk/e/big-data-san-francisco-v-50-tickets-46971191097"
                                         data-a2a-title="Adding Speed and Scale to Existing Applications with No Rip and Replace Using Apache Ignite">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="London-In-Memory-Computing-Meetup-252516279">
                                <h3>Machine and Deep Learning with in-memory
                                    computing
                                    <a href="/events.html#London-In-Memory-Computing-Meetup-252516279"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">London In-Memory Computing Meetup, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">July 18, 2018</div>
                                <p> Apache Ignite is an open-source distributed database, caching and processing
                                    platform designed
                                    to store and compute on large volumes of data across a cluster of nodes.
                                    Using this free, open-source software, Akmal will give:
                                </p>
                                <ul class="page-list">
                                    <li>An overview of the ML and DL algorithms and how they work</li>
                                    <li>Examples of how to implement each ML and DL algorithm</li>
                                    <li>Tips and tricks for getting the most performance out of ML and DL</li>
                                </ul>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/London-In-Memory-Computing-Meetup/events/252516279"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/London-In-Memory-Computing-Meetup/events/252516279"
                                         data-a2a-title="Machine and Deep Learning with in-memory computing">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinars">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section
                                    id="webinars-best-practices-deploying-distributed-databases-and-in-memory-computing-platforms">
                                <h3>Best Practices for Deploying Distributed
                                    Databases and In-Memory Computing Platforms with Kubernetes
                                    <a href="/events.html#webinars-best-practices-deploying-distributed-databases-and-in-memory-computing-platforms"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Speaker - Denis Magda</div>
                                <div class="event-date">July 11, 2018</div>
                                <p>
                                    In-memory computing technologies such as in-memory data grids (IMDG) and databases
                                    (IMDB), NoSQL and NewSQL
                                    databases can make so many things easier for a developer. But implementing DevOps
                                    for these distributed technologies
                                    and the related storage can be difficult. Luckily Kubernetes has come to the rescue!
                                </p>
                                <p>
                                    In this webinar, learn how Kubernetes can orchestrate a distributed database or
                                    in-memory computing solutions using Apache Ignite as an example.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.gridgain.com/resources/webinars/best-practices-deploying-distributed-databases-and-in-memory-computing-platforms"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.gridgain.com/resources/webinars/best-practices-deploying-distributed-databases-and-in-memory-computing-platforms"
                                         data-a2a-title="Best Practices for Deploying Distributed Databases and In-Memory Computing Platforms with Kubernetes">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinars">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="webinars-in-memory-computing-essentials-architects-and-developers-part-1-0">
                                <h3>In-Memory Computing Essentials for Architects and
                                    Developers: Part 1
                                    <a href="/events.html#webinars-in-memory-computing-essentials-architects-and-developers-part-1-0"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">July 03, 2018</div>
                                <p>
                                    In this webinar, Akmal Chaudhri will introduce the fundamental capabilities and
                                    components of
                                    an in-memory computing platform with a focus on Apache Ignite, and demonstrate how
                                    to apply the theory in practice.
                                    With increasingly advanced coding examples, architects and developers will learn
                                    about:
                                </p>
                                <ul class="page-list">
                                    <li>Cluster configuration and deployment</li>
                                    <li>Data processing with key-value APIs</li>
                                    <li>Data processing with SQL</li>
                                </ul>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.gridgain.com/resources/webinars/in-memory-computing-essentials-architects-and-developers-part-1-0"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.gridgain.com/resources/webinars/in-memory-computing-essentials-architects-and-developers-part-1-0"
                                         data-a2a-title="In-Memory Computing Essentials for Architects and Developers: Part 1">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/conferences.svg" alt="Conference">
                                <p>Conference</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="docker-new-york">
                                <h3>Distributed Database DevOps Dilemmas? Kubernetes
                                    to the rescue!
                                    <a href="/events.html#docker-new-york" aria-label="Event Meetup"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">DockerNYC, Speaker - Denis Magda</div>
                                <div class="event-date">June 28, 2018</div>
                                <p>
                                    Distributed databases can make so many things easier for a developer, but not always
                                    for DevOps.
                                    Kubernetes has come to the rescue with an easy application orchestration! It is
                                    straightforward to do the orchestration leaning on relational databases as a data
                                    layer.
                                    However, it is more difficult to do the same when a distributed SQL database or
                                    other kind of distributed storage is used instead.
                                    In this presentation, attendees will learn how Kubernetes can orchestrate a
                                    distributed database like Apache Ignite, in particular:
                                </p>
                                <ul class="page-list">
                                    <li>Cluster Assembling - database nodes auto-discovery in Kubernetes</li>
                                    <li>Database Resilience - automated horizontal scalability</li>
                                    <li>Database Availability - what’s the role of Kubernetes and the database</li>
                                    <li>Utilizing both RAM and disk - set up Apache Ignite in a way to get in-memory
                                        performance with the durability of disk
                                    </li>
                                </ul>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://events.docker.com/events/details/docker-new-york-presents-dockernyc-with-gridgain"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://events.docker.com/events/details/docker-new-york-presents-dockernyc-with-gridgain"
                                         data-a2a-title="Distributed Database DevOps Dilemmas? Kubernetes to the rescue!">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="NYC-In-Memory-Computing-Meetup-251244661">
                                <h3>Scale Out and Conquer: Architectural Decisions
                                    Behind Distributed In-Memory Systems
                                    <a href="/events.html#NYC-In-Memory-Computing-Meetup-251244661"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">NYC In-Memory Computing Meetup, Speaker - Denis Magda</div>
                                <div class="event-date">June 27, 2018</div>
                                <p>
                                    In this talk attendees will learn about the compromises and pitfalls architects face
                                    when designing distributed systems:
                                </p>
                                <ul class="page-list">
                                    <li>Advantages and disadvantages of different data-sharding algorithms</li>
                                    <li>Effective data models for distributed environments</li>
                                    <li>Synchronization and coordination in distributed systems</li>
                                    <li>Local scalability issues of speeding up local processing on cluster nodes</li>
                                </ul>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/NYC-In-Memory-Computing-Meetup/events/251244661/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/NYC-In-Memory-Computing-Meetup/events/251244661/"
                                         data-a2a-title="Scale Out and Conquer: Architectural Decisions Behind Distributed In-Memory Systems">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="mysqlnyc-251606063">
                                <h3>Apache Cassandra vs Apache Ignite for HTAP
                                    <a href="/events.html#mysqlnyc-251606063" aria-label="Event Meetup"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">SQL NYC Database Meetup, Speaker - Denis Magda</div>
                                <div class="event-date">June 26, 2018</div>
                                <p>
                                    Join Denis Magda to learn the current best-practices for HTAP along with the
                                    differences
                                    between Apache Cassandra and Apache Ignite, two of the most-common technologies
                                    utilized
                                    for Hybrid Transactional/Analytical Processing.
                                    This session will cover:
                                </p>
                                <ul class="page-list">
                                    <li>A detailed comparison of Apache Ignite and Apache Cassandra for HTAP
                                        applications
                                    </li>
                                    <li>The requirements for real-time, high volume HTAP applications</li>
                                    <li>Architectural best practices, including how in-memory computing fits in and has
                                        eliminated tradeoffs between consistency, speed and scale
                                    </li>
                                </ul>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/mysqlnyc/events/251606063/" target="_blank"
                                           rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/mysqlnyc/events/251606063/"
                                         data-a2a-title="Apache Cassandra vs Apache Ignite for HTAP">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinars">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section
                                    id="webinar-building-new-hybrid-transactionaloperational-processing-htap-applications">
                                <h3>Building New Hybrid Transactional/Operational
                                    Processing (HTAP) Applications With Apache® Ignite®
                                    <a href="/events.html#webinar-building-new-hybrid-transactionaloperational-processing-htap-applications"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Speaker - Denis Magda</div>
                                <div class="event-date">June 20, 2018</div>
                                <p>
                                    Learn how companies build new HTAP applications with in-memory computing that
                                    leverage analytics
                                    within transactions to improve business outcomes. This is how many retail innovators
                                    like Amazon,
                                    Expedia/HomeAway or SaaS innovators like Workday have succeeded. This webinar will
                                    explain with examples on how to:
                                </p>
                                <ul class="page-list">
                                    <li>Merge operational data and analytics together, so that analytics can work
                                        against the most recent data
                                    </li>
                                    <li>Improve processing and analytics scalability with massively parallel processing
                                        (MPP)
                                    </li>
                                    <li>Increase transaction throughput using a combination of distributed SQL, ACID
                                        transaction support and native persistence
                                    </li>
                                    <li>Synchronize data and transactions with existing systems</li>
                                </ul>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.gridgain.com/resources/webinars/part-2-building-new-hybrid-transactionaloperational-processing-htap-applications"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.gridgain.com/resources/webinars/part-2-building-new-hybrid-transactionaloperational-processing-htap-applications"
                                         data-a2a-title="Building New Hybrid Transactional/Operational Processing (HTAP) Applications With Apache® Ignite®">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/conferences.svg" alt="Conferences">
                                <p>Conference</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="containerdays-distributed-database-devops-dilemmas">
                                <h3>Distributed Database DevOps Dilemmas? Kubernetes
                                    to the rescue!
                                    <a href="/events.html#containerdays-distributed-database-devops-dilemmas"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Containerdays, Hamburg, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">June 19, 2018</div>
                                <p>
                                    Distributed databases can make so many things easier for a developer, but not always
                                    for DevOps.
                                    Kubernetes has come to the rescue with an easy application orchestration! It is
                                    straightforward to
                                    do the orchestration leaning on relational databases as a data layer. However, it is
                                    more difficult
                                    to do the same when a distributed SQL database or other kind of distributed storage
                                    is used instead.
                                    In this presentation, attendees will learn how Kubernetes can orchestrate a
                                    distributed database
                                    like Apache Ignite, in particular:
                                </p>
                                <ul class="page-list">
                                    <li>Cluster Assembling - database nodes auto-discovery in Kubernetes</li>
                                    <li>Database Resilience - automated horizontal scalability</li>
                                    <li>Database Availability - what's the role of Kubernetes and the database</li>
                                    <li>Utilizing both RAM and disk - set up Apache Ignite in a way to get in-memory
                                        performance with the durability of disk
                                    </li>
                                </ul>

                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://containerdays.io/program/distributed-database-devops-dilemmas-kubernetes-to-the-rescue,2830.html"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://containerdays.io/program/distributed-database-devops-dilemmas-kubernetes-to-the-rescue,2830.html"
                                         data-a2a-title="Distributed Database DevOps Dilemmas? Kubernetes to the rescue!">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/conferences.svg" alt="Conferences">
                                <p>Conference</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="euroadshow18-iot-schedule">
                                <h3>Apache Spark and Apache Ignite: Where Fast Data
                                    Meets the IoT
                                    <a href="/events.html#euroadshow18-iot-schedule" aria-label="Event Meetup"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Apache EU Roadshow, Berlin, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">June 14, 2018</div>
                                <p>
                                    This session will show attendees how to build a Fast Data solution that will receive
                                    endless streams
                                    from the IoT side and will be capable of processing the streams in real-time using
                                    Apache Ignite's cluster resources.
                                    In particular, attendees will learn about data streaming to an Apache Ignite cluster
                                    from
                                    embedded devices and real-time data processing with Apache Spark.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="http://www.apachecon.com/euroadshow18/iot-schedule.html"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="http://www.apachecon.com/euroadshow18/iot-schedule.html"
                                         data-a2a-title="Apache Spark and Apache Ignite: Where Fast Data Meets the IoT">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="Bay-Area-In-Memory-Computing-251308516">
                                <h3>In-memory computing hot topics & emerging trends:
                                    Panel discussion in Menlo Park
                                    <a href="/events.html#Bay-Area-In-Memory-Computing-251308516"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Bay Area In-Memory Computing Meetup, Speaker - Denis Magda</div>
                                <div class="event-date">June 13, 2018</div>
                                <p>
                                    While the cost of memory is still slightly higher than disk-based storage, an
                                    in-memory computing
                                    solution offers a tremendous increase in performance and much greater flexibility to
                                    incorporate new
                                    capabilities in the future. The benefit? A far superior return on investment (ROI),
                                    especially when
                                    competitive advantage and customer experience is taken into account.
                                </p>
                                <p>
                                    You are invited to attend our June 13 gathering at BootUp in Menlo Park for an
                                    insightful panel
                                    discussion on in-memory computing hot topics and emerging trends (and more). The
                                    panel of experts
                                    will also field your questions, suggestions and ideas.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/Bay-Area-In-Memory-Computing/events/251308516/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/Bay-Area-In-Memory-Computing/events/251308516/"
                                         data-a2a-title="In-memory computing hot topics & emerging trends: Panel discussion in Menlo Park">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="javamug-lvktppyxjbrb">
                                <h3>Skyrocket Java applications with the open-source
                                    Apache Ignite
                                    <a href="/events.html#javamug-lvktppyxjbrb" aria-label="Event Meetup"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Java Metroplex User Group (JavaMUG), Speaker - Dani Taphagen</div>
                                <div class="event-date">June 13, 2018</div>
                                <p>
                                    In her talk, Dani will introduce the many components of the open-source Apache
                                    Ignite.
                                    As Java professionals, you will learn how to solve some of the most demanding
                                    scalability and
                                    performance challenges. She’ll also cover a few typical use cases and work through
                                    some code examples.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/javamug/events/lvktppyxjbrb/" target="_blank"
                                           rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/javamug/events/lvktppyxjbrb/"
                                         data-a2a-title="Skyrocket Java applications with the open-source Apache Ignite">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinars">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="adding-speed-and-scale-existing-applications-no-rip-and-replace-using">
                                <h3>Adding Speed and Scale to Existing Applications
                                    with No Rip and Replace Using Apache® Ignite®
                                    <a href="/events.html#adding-speed-and-scale-existing-applications-no-rip-and-replace-using"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Speaker - Denis magda</div>
                                <div class="event-date">May 30, 2018</div>
                                <p>
                                    Learn how companies are not only adding speed and scale without ripping out,
                                    rewriting or replacing
                                    their existing applications and databases, but also how they're setting themselves
                                    up for future
                                    projects to improve the customer experience. This webinar will explain, with
                                    examples, how to:
                                </p>
                                <ul class="page-list">
                                    <li>Get started with Apache Ignite as In-Memory Data Grid (IMDG) deployed on top of
                                        RDBMS or NoSQL database
                                    </li>
                                    <li>Keep data in sync across RAM (Apache Ignite) and disk (RDBMS/NoSQL database)
                                    </li>
                                    <li>Leverage from Apache Ignite distributed SQL and ACID transaction for IMDG
                                        scenarios
                                    </li>
                                    <li>Move further and start to build HTAP applications, real-time analytics, and
                                        machine learning, on the same IMDG
                                    </li>
                                </ul>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.gridgain.com/resources/webinars/part-1-adding-speed-and-scale-existing-applications-no-rip-and-replace-using"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.gridgain.com/resources/webinars/part-1-adding-speed-and-scale-existing-applications-no-rip-and-replace-using"
                                         data-a2a-title="Adding Speed and Scale to Existing Applications with No Rip and Replace Using Apache® Ignite®">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="Bay-Area-In-Memory-Computing-250456740">
                                <h3>Improving Apache Spark™ In-Memory Computing with
                                    Apache Ignite®
                                    <a href="/events.html#Bay-Area-In-Memory-Computing-250456740"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Bay Area In-Memory Computing Meetup, Speaker - Valentin Kulichenko</div>
                                <div class="event-date">May 17, 2018</div>
                                <p>
                                    Val will explain how Apache Ignite® simplifies development and improves performance
                                    for Apache Spark™.
                                    He'll demonstrate how Apache Spark and Ignite are integrated, and how they are used
                                    to together for analytics,
                                    stream processing and machine learning. By the end of his presentation you'll
                                    understand:
                                </p>
                                <ul class="page-list">
                                    <li>How Apache Ignite’s native RDD and new native DataFrame APIs work</li>
                                    <li>How to use Ignite as an in-memory database and massively parallel processing
                                        (MPP) style collocated processing for preparing and managing data for Spark
                                    </li>
                                    <li>How to leverage Ignite to easily share state across Spark jobs using mutable
                                        RDDs and DataFrames
                                    </li>
                                    <li>How to leverage Ignite distributed SQL and advanced indexing in memory to
                                        improve SQL performance
                                    </li>
                                </ul>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/Bay-Area-In-Memory-Computing/events/250456740/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/Bay-Area-In-Memory-Computing/events/250456740/"
                                         data-a2a-title="Improving Apache Spark™ In-Memory Computing with Apache Ignite®">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/conferences.svg" alt="Conferences">
                                <p>Conference</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="iot-world-santa-clara">
                                <h3>Apache Spark and Apache Ignite: Where Fast Data
                                    Meets the IoT
                                    <a href="/events.html#iot-world-santa-clara" aria-label="Event Meetup"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">IOT World, Santa Clara Convention Center, CA, Speaker - Denis Magda</div>
                                <div class="event-date">May 16, 2018</div>
                                <p>
                                    This session will show attendees how to build a Fast Data solution that will receive
                                    endless streams
                                    from the IoT side and will be capable of processing the streams in real-time using
                                    Apache Ignite's cluster resources.
                                    Attendees will learn about data streaming to an Apache Ignite cluster from embedded
                                    devices and real-time data processing with Apache Spark.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://tmt.knect365.com/iot-world/speakers/denis-magda"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://tmt.knect365.com/iot-world/speakers/denis-magda"
                                         data-a2a-title="Apache Spark and Apache Ignite: Where Fast Data Meets the IoT">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinars">
                                <p>Webinars</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="machine-learning-and-deep-learning-apacher-ignitetm">
                                <h3>Machine Learning and Deep Learning with Apache®
                                    Ignite®
                                    <a href="/events.html#machine-learning-and-deep-learning-apacher-ignitetm"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">May 16, 2018</div>
                                <p>
                                    Apache Ignite Release 2.4 added built-in machine learning (ML) and deep learning
                                    (DL).
                                    It not only eliminates any delays caused by transferring data to a different
                                    database or store.
                                    It delivers near real-time performance by running a variety of ML and DL algorithms
                                    in place, in memory,
                                    that are optimized for collocated processing. Learn more about these new
                                    capabilities and how
                                    to use them in Apache Ignite 2.4.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.gridgain.com/resources/webinars/machine-learning-and-deep-learning-apacher-ignitetm"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.gridgain.com/resources/webinars/machine-learning-and-deep-learning-apacher-ignitetm"
                                         data-a2a-title="Machine Learning and Deep Learning with Apache® Ignite®">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetups">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="London-In-Memory-Computing-Meetup-250316825">
                                <h3>Comparing Apache Ignite and Cassandra for Hybrid
                                    Transactional/Analytical Processing (HTAP)
                                    <a href="/events.html#London-In-Memory-Computing-Meetup-250316825"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">London In-Memory Computing Meetup, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">May 09, 2018</div>
                                <p>
                                    The 10x growth of transaction volumes, 50x growth in data volumes -- along with the
                                    drive for
                                    real-time visibility and responsiveness over the last decade -- have pushed
                                    traditional technologies
                                    including databases beyond their limits. Your choices are either buy expensive
                                    hardware to
                                    accelerate the wrong architecture, or do what other companies have started to do and
                                    invest in
                                    technologies being used for modern hybrid transactional/analytical processing
                                    (HTAP).
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/London-In-Memory-Computing-Meetup/events/250316825/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/London-In-Memory-Computing-Meetup/events/250316825/"
                                         data-a2a-title="Comparing Apache Ignite and Cassandra for Hybrid Transactional/Analytical Processing (HTAP)">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetups">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="NYC-In-Memory-Computing-Meetup-events-249201183">
                                <h3>Comparing Apache Ignite and Cassandra for Hybrid
                                    Transactional/Analytical Processing (HTAP)
                                    <a href="/events.html#NYC-In-Memory-Computing-Meetup-events-249201183"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">NYC In-Memory Computing Meetup, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">April 26, 2018</div>
                                <p>
                                    Learn some of the current best practices in building HTAP applications, and the
                                    differences between two of the more common technologies companies use: Apache®
                                    Cassandra™ and Apache® Ignite®.
                                    This session will cover:
                                </p>
                                <ul class="page-list">
                                    <li>The requirements for real-time, high volume HTAP applications</li>
                                    <li>Architectural best practices, including how in-memory computing fits in and has
                                        eliminated tradeoffs between consistency, speed and scale
                                    </li>
                                    <li>A detailed comparison of Apache Ignite and GridGain® for HTAP applications</li>
                                </ul>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/NYC-In-Memory-Computing-Meetup/events/249201183/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/NYC-In-Memory-Computing-Meetup/events/249201183/"
                                         data-a2a-title="Comparing Apache Ignite and Cassandra for Hybrid Transactional/Analytical Processing (HTAP)">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinars">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="webinar-improving-apache-spark-in-memory-computing-apache-ignite">
                                <h3>Improving Apache Spark™ In-Memory Computing with
                                    Apache Ignite®
                                    <a href="/events.html#webinar-improving-apache-spark-in-memory-computing-apache-ignite"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">April 25, 2018</div>
                                <p>
                                    Learn how Apache Ignite® simplifies development and improves performance for Apache
                                    Spark™.
                                    This session will explain how Apache Spark and Ignite are integrated, and how they
                                    are used
                                    to together for analytics, stream processing and machine learning. By the end of
                                    this session you will understand:
                                </p>
                                <ul class="page-list">
                                    <li>How Apache Ignite's native RDD and new native DataFrame APIs work</li>
                                    <li>How to use Ignite as an in-memory database and massively parallel processing
                                        (MPP) style collocated processing for preparing and managing data for Spark
                                    </li>
                                    <li>How to leverage Ignite to easily share state across Spark jobs using mutable
                                        RDDs and DataFrames
                                    </li>
                                    <li>How to leverage Ignite distributed SQL and advanced indexing in memory to
                                        improve SQL performance
                                    </li>
                                </ul>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.gridgain.com/resources/webinars/improving-apache-spark-in-memory-computing-apache-ignite"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.gridgain.com/resources/webinars/improving-apache-spark-in-memory-computing-apache-ignite"
                                         data-a2a-title="Improving Apache Spark™ In-Memory Computing with Apache Ignite®">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetups">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="Bay-Area-In-Memory-Computing-events-248615199">
                                <h3>Comparing Apache Ignite and Cassandra for Hybrid
                                    Transactional/Analytical Processing (HTAP)
                                    <a href="/events.html#Bay-Area-In-Memory-Computing-events-248615199"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Bay Area In-Memory Computing Meetup, Speaker - Dmitriy Setrakyan</div>
                                <div class="event-date">April 11, 2018</div>
                                <p>
                                    Learn some of the current best practices in building HTAP applications, and the
                                    differences between two of the more common technologies companies use: Apache®
                                    Cassandra™ and Apache® Ignite®.
                                    This session will cover:
                                </p>
                                <ul class="page-list">
                                    <li>The requirements for real-time, high volume HTAP applications</li>
                                    <li>Architectural best practices, including how in-memory computing fits in and has
                                        eliminated tradeoffs between consistency, speed and scale
                                    </li>
                                    <li>A detailed comparison of Apache Ignite and GridGain® for HTAP applications</li>
                                </ul>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/Bay-Area-In-Memory-Computing/events/248615199/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/Bay-Area-In-Memory-Computing/events/248615199/"
                                         data-a2a-title="Comparing Apache Ignite and Cassandra for Hybrid Transactional/Analytical Processing (HTAP)">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetups">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="Apache-Spark-Maryland-events-248437125">
                                <h3>Apache Spark and Apache Ignite: Make streaming
                                    analytics real with in-memory computing
                                    <a href="/events.html#Apache-Spark-Maryland-events-248437125"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Apache Spark and Distributed Computing Maryland, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">April 05, 2018</div>
                                <p>
                                    Learn how Apache Spark is integrated with Apache Ignite through standard Spark APIs,
                                    and how Spark benefits from processing data in-memory in Apache Ignite. In this
                                    session Akmal will demonstrate how to:
                                </p>
                                <ul class="page-list">
                                    <li>Use Ignite as an in-memory database for Spark applications</li>
                                    <li>Perform streaming analytics by deploying Spark stream pipeline</li>
                                    <li>Process data stored in Ignite with Spark RDDs and DataFrames</li>
                                    <li>Speed up SQL queries by leveraging the Ignite SQL engine and indexing</li>
                                </ul>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/Apache-Spark-Maryland/events/248437125/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/Apache-Spark-Maryland/events/248437125/"
                                         data-a2a-title="Apache Spark and Apache Ignite: Make streaming analytics real with in-memory computing">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetups">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="NOVA-Data-Science-events-249015197">
                                <h3>Apache Ignite: the in-memory hammer in your data
                                    science toolkit.
                                    <a href="/events.html#NOVA-Data-Science-events-249015197" aria-label="Event Meetup"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">NOVA Data Science, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">April 04, 2018</div>
                                <p>
                                    In this presentation, Akmal will look at some of the main components of Apache
                                    Ignite, such as
                                    the Compute Grid, Data Grid and the Machine Learning Grid. Through examples,
                                    attendees will learn how Apache Ignite can be used for data analysis.

                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/NOVA-Data-Science/events/249015197/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/NOVA-Data-Science/events/249015197/"
                                         data-a2a-title="Apache Ignite: the in-memory hammer in your data science toolkit.">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetups">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="DC-Spring-Framework-events-247811860">
                                <h3>Faster data access and processing? Our experiment
                                    with Apache Ignite
                                    <a href="/events.html#DC-Spring-Framework-events-247811860"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">DC Spring Framework Meetup, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">April 03, 2018</div>
                                <p>
                                    Slow database performance is a common complaint for Java developers. Is Apache
                                    Ignite the solution? Akmal Chaudhri will cover a few typical use cases and work
                                    through some code examples using Apache Ignite.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/DC-Spring-Framework/events/247811860/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/DC-Spring-Framework/events/247811860/"
                                         data-a2a-title="Faster data access and processing? Our experiment with Apache Ignite">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetups">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="big-data-washington-dc-v-20-tickets-42867967244">
                                <h3>The In-Memory Hammer In Your Data Science Toolkit
                                    <a href="/events.html#big-data-washington-dc-v-20-tickets-42867967244"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Big Data, Washington DC v 2.0, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">April 02, 2018</div>
                                <p>
                                    In this presentation, Akmal will explain some of the main components of Apache
                                    Ignite,
                                    such as the Compute Grid, Data Grid and the Machine Learning Grid.
                                    Through examples, attendees will learn how Apache Ignite can be used for data
                                    analysis.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.eventbrite.com/e/big-data-washington-dc-v-20-tickets-42867967244"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.eventbrite.com/e/big-data-washington-dc-v-20-tickets-42867967244"
                                         data-a2a-title="The In-Memory Hammer In Your Data Science Toolkit">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinars">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section
                                    id="brighttalk-comparing-apacher-ignitetm-and-cassandratm-hybrid-transactional-applications">
                                <h3>Comparing Apache® Ignite® and Cassandra™ for
                                    Hybrid Transactional Applications (HTAP)
                                    <a href="/events.html#brighttalk-comparing-apacher-ignitetm-and-cassandratm-hybrid-transactional-applications"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">BrightTALK Webinar, Denis Magda</div>
                                <div class="event-date">March 28, 2018</div>
                                <p>
                                    Learn some of the current best practices in building HTAP applications, and the
                                    differences between two of the more common technologies companies use: Apache®
                                    Cassandra™ and Apache® Ignite®.
                                    This session will cover:
                                </p>
                                <ul class="page-list">
                                    <li>The requirements for real-time, high volume HTAP applications</li>
                                    <li>Architectural best practices, including how in-memory computing fits in and has
                                        eliminated tradeoffs between consistency, speed and scale
                                    </li>
                                    <li>A detailed comparison of Apache Ignite and GridGain® for HTAP applications</li>
                                </ul>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.brighttalk.com/webcast/9059/306965?utm_campaign=webcasts-search-results-feed&utm_content=Ignite&utm_source=brighttalk-portal&utm_medium=web"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.brighttalk.com/webcast/9059/306965?utm_campaign=webcasts-search-results-feed&utm_content=Ignite&utm_source=brighttalk-portal&utm_medium=web"
                                         data-a2a-title="Comparing Apache® Ignite® and Cassandra™ for Hybrid Transactional Applications (HTAP)">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinars">
                                <p>Webinars</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="comparing-apacher-ignitetm-and-cassandratm-hybrid-transactional-applications">
                                <h3>Comparing Apache® Ignite® and Cassandra™ for
                                    Hybrid Transactional Applications (HTAP)
                                    <a href="/events.html#comparing-apacher-ignitetm-and-cassandratm-hybrid-transactional-applications"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Denis Magda</div>
                                <div class="event-date">March 28, 2018</div>
                                <p>
                                    Learn some of the current best practices in building HTAP applications, and the
                                    differences between two of the more common technologies companies use: Apache®
                                    Cassandra™ and Apache® Ignite®.
                                    This session will cover:
                                </p>
                                <ul class="page-list">
                                    <li>The requirements for real-time, high volume HTAP applications</li>
                                    <li>Architectural best practices, including how in-memory computing fits in and has
                                        eliminated tradeoffs between consistency, speed and scale
                                    </li>
                                    <li>A detailed comparison of Apache Ignite and GridGain® for HTAP applications</li>
                                </ul>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.gridgain.com/resources/webinars/comparing-apacher-ignitetm-and-cassandratm-hybrid-transactional-applications"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.gridgain.com/resources/webinars/comparing-apacher-ignitetm-and-cassandratm-hybrid-transactional-applications"
                                         data-a2a-title="Comparing Apache® Ignite® and Cassandra™ for Hybrid Transactional Applications (HTAP)">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="in-memory-computing-essentials-for-data-scientists">
                                <h3>In-Memory Computing Essentials for Data
                                    Scientists
                                    <a href="/events.html#in-memory-computing-essentials-for-data-scientists"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Symbion IoT Meetup (Copenhagen, Denmark), Speaker - Akmal Chaudhri</div>
                                <div class="event-date">March 28, 2018</div>
                                <p>
                                    In this hands on workshop, attendees will be introduced to the fundamental
                                    capabilities of in-memory computing platforms that
                                    boost highly-loaded applications, research projects, risk analysis and fraud
                                    detection tasks by
                                    storing and processing massive amounts of data in memory and on disk across a
                                    cluster of machines.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://symbion.dk/event/in-memory-computing-essentials-for-data-scientists/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://symbion.dk/event/in-memory-computing-essentials-for-data-scientists/"
                                         data-a2a-title="In-Memory Computing Essentials for Data Scientists">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="apache-ignite-the-in-memory-hammer-in-your-data-science-toolkit">
                                <h3>Apache Ignite: the in-memory hammer in your data
                                    science toolkit
                                    <a href="/events.html#apache-ignite-the-in-memory-hammer-in-your-data-science-toolkit"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Symbion IoT Meetup (Copenhagen, Denmark), Speaker - Akmal Chaudhri</div>
                                <div class="event-date">March 27, 2018</div>
                                <p>
                                    In this presentation, Akmal will explain some of the main components of Apache
                                    Ignite,
                                    such as the Compute Grid, Data Grid and the Machine Learning Grid.
                                    Through examples, attendees will learn how Apache Ignite can be used for data
                                    analysis.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://symbion.dk/event/apache-ignite-the-in-memory-hammer-in-your-data-science-toolkit/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://symbion.dk/event/apache-ignite-the-in-memory-hammer-in-your-data-science-toolkit/"
                                         data-a2a-title="Apache Ignite: the in-memory hammer in your data science toolkit">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="Atlanta-Apache-Spark-User-Group-events-247807609">
                                <h3>How to Share State Across Multiple Spark Jobs
                                    using Apache Ignite
                                    <a href="/events.html#Atlanta-Apache-Spark-User-Group-events-247807609"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Atlanta Apache Spark User Group, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">March 20, 2018</div>
                                <p>
                                    This session will demonstrate how to easily share state in-memory across multiple
                                    Spark jobs,
                                    either within the same application or between different Spark applications using an
                                    implementation of the Spark RDD abstraction provided in Apache Ignite
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/Atlanta-Apache-Spark-User-Group/events/247807609/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/Atlanta-Apache-Spark-User-Group/events/247807609/"
                                         data-a2a-title="How to Share State Across Multiple Spark Jobs using Apache Ignite">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="big-bang-Data-science-Solutions-events-247996429">
                                <h3>Apache Ignite: The in-memory hammer in your data
                                    science toolkit
                                    <a href="/events.html#big-bang-Data-science-Solutions-events-247996429"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Big Bang Data Science - Georgia, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">March 19, 2018</div>
                                <p>
                                    Join Big Bang Data Science as we learn from Dr. Akmal Chaudhri about some of the
                                    main components
                                    of Apache Ignite, such as the Compute Grid, Data Grid, and the Machine Learning
                                    Grid.
                                    Through examples, attendees will learn how Apache Ignite can be used for data
                                    analysis.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/big-bang-Data-science-Solutions/events/247996429/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/big-bang-Data-science-Solutions/events/247996429/"
                                         data-a2a-title="Apache Ignite: The in-memory hammer in your data science toolkit">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinars">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="webinar-choosing-right-in-memory-computing-technology">
                                <h3>Choosing the Right In-Memory Computing Technology
                                    <a href="/events.html#webinar-choosing-right-in-memory-computing-technology"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Dmitriy Setrakyan</div>
                                <div class="event-date">March 14, 2018</div>
                                <p>
                                    The need for real-time computing has resulted in the growth of many different
                                    in-memory computing technologies
                                    including caches, in-memory data grids, in-memory databases, streaming technologies
                                    and broader
                                    in-memory computing platforms. But what are the best technologies for each type of
                                    project?
                                    Learn about your options from one of the leading in-memory computing veterans.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.gridgain.com/resources/webinars/choosing-right-in-memory-computing-technology"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.gridgain.com/resources/webinars/choosing-right-in-memory-computing-technology"
                                         data-a2a-title="Choosing the Right In-Memory Computing Technology">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="NYC-In-Memory-Computing-Meetup-events-248077601">
                                <h3>All the Cool Kids are Doing it: The Whys and Hows
                                    of Architecting a Distributed Caching solution for your use case with Apache Ignite
                                    <a href="/events.html#NYC-In-Memory-Computing-Meetup-events-248077601"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">NYC In-Memory Computing Meetup, Speaker - Fotios Filacouris</div>
                                <div class="event-date">March 14, 2018</div>
                                <p>
                                    Are you considering a distributed cache to help accelerate and scale your existing
                                    application?
                                    Or do you have a new project that you know the SLAs are going to require an act of
                                    magic to produce?
                                    Have no fear, Foti is here to walk your through some reference architectures on
                                    various use cases that have
                                    benefited from using Apache Ignite. He will cover the Why and How of each use case
                                    and the pros and cons
                                    of different technology choices. How to use Kafka, noSQL, RDBMS, Kubernetes and
                                    container deployment, Spark,
                                    etc will all be discussed in terms of various best practices in architecting the
                                    right solution with Apache Ignite.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/NYC-In-Memory-Computing-Meetup/events/248077601/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/NYC-In-Memory-Computing-Meetup/events/248077601/"
                                         data-a2a-title="All the Cool Kids are Doing it: The Whys and Hows of Architecting a Distributed Caching solution for your use case with Apache Ignite">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="Moscow-Apache-Ignite-Meetup-events-247608182">
                                <h3>In-Memory Computing Essentials for Architects and
                                    Developers - Part 1
                                    <a href="/events.html#Moscow-Apache-Ignite-Meetup-events-247608182"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Moscow Apache Ignite Meetup, Speaker - Denis Magda</div>
                                <div class="event-date">March 13, 2018</div>
                                <p>
                                    Denis Magda will talk about the main features and components of In-Memory Computing
                                    solutions using the example of Apache Ignite.
                                    The webinar combines theory and practice, after which participants will be able to
                                    design and write code for similar systems.
                                    On specific examples of the code you will learn about:
                                <ul class="page-list">
                                    <li>Configuration and launch of clusters</li>
                                    <li>Data processing using key-value API</li>
                                    <li>Optimal data processing with distributed SQL</li>
                                </ul>
                                <br/>
                                <i>This webinar is in Russian.</i>
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/Moscow-Apache-Ignite-Meetup/events/247608182/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/Moscow-Apache-Ignite-Meetup/events/247608182/"
                                         data-a2a-title="In-Memory Computing Essentials for Architects and Developers: Part 1">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/conferences.svg" alt="Conference">
                                <p>Conference</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="elciotna18-event-DYLq">
                                <h3>Apache Spark and Apache Ignite: Where Fast Data
                                    Meets the IoT
                                    <a href="/events.html#elciotna18-event-DYLq" aria-label="Event Meetup"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">OpenIoTSummit North America, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">March 12, 2018</div>
                                <p>
                                    This session will show attendees how to build a Fast Data solution that will receive
                                    endless streams
                                    from the IoT side and will be capable of processing the streams in real-time using
                                    Apache Ignite's cluster resources.
                                    In particular, attendees will learn about data streaming to an Apache Ignite cluster
                                    from
                                    embedded devices and real-time data processing with Apache Spark.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://elciotna18.sched.com/event/DYLq" target="_blank" rel="noopener"
                                           aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://elciotna18.sched.com/event/DYLq"
                                         data-a2a-title="Apache Spark and Apache Ignite: Where Fast Data Meets the IoT">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="Amsterdam-Java-User-Group-events-246975240">
                                <h3>In-Memory Computing Essentials for Java
                                    Developers
                                    <a href="/events.html#Amsterdam-Java-User-Group-events-246975240"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Amsterdam Java User Group Workshop, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">March 08, 2018</div>
                                <p>
                                    Akmal Chaudhri will introduce to the fundamental capabilities of in-memory computing
                                    platforms that
                                    boost high-load applications and services, and bring existing IT architecture to the
                                    next level by
                                    storing and processing a massive amount of data both in RAM and, optionally, on
                                    disk.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/Amsterdam-Java-User-Group/events/246975240/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/Amsterdam-Java-User-Group/events/246975240/"
                                         data-a2a-title="In-Memory Computing Essentials for Java Developers">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="Amsterdam-Java-User-Group-events-244797561">
                                <h3>Catch an intro to the Java-powered Apache Ignite
                                    - memory-centric distributed platform
                                    <a href="/events.html#Amsterdam-Java-User-Group-events-244797561"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Amsterdam Java User Group, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">March 07, 2018</div>
                                <p>
                                    In his talk, Akmal will introduce the many components of the open-source Apache
                                    Ignite.
                                    You will learn how to solve some of the most demanding scalability and performance
                                    challenges.
                                    Akmal will also cover a few typical use cases and work through some code examples.
                                    Hope to see you there so you can leave ready to fire up your database deployments!
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/Amsterdam-Java-User-Group/events/244797561/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/Amsterdam-Java-User-Group/events/244797561/"
                                         data-a2a-title="Catch an intro to the Java-powered Apache Ignite - memory-centric distributed platform">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="Amsterdam-Kubernetes-Meetup-events-247989650">
                                <h3>Distributed Database DevOps Dilemmas? Kubernetes
                                    to the rescue!
                                    <a href="/events.html#Amsterdam-Kubernetes-Meetup-events-247989650"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Amsterdam Kubernetes/Cloud-Native Meetup, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">March 06, 2018</div>
                                <p>
                                    Attendees will be introduced to the fundamental capabilities of in-memory computing
                                    platforms that
                                    boost highly-loaded applications, research projects, risk analysis and fraud
                                    detection tasks by
                                    storing and processing massive amounts of data in memory and on disk across a
                                    cluster of machines.
                                    These capabilities and benefits will be demonstrated with the usage of Apache Ignite
                                    which is the
                                    in-memory computing platform that is durable, strongly consistent, and highly
                                    available with
                                    powerful SQL, key-value and processing APIs.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/Amsterdam-Kubernetes-Meetup/events/247989650/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/Amsterdam-Kubernetes-Meetup/events/247989650/"
                                         data-a2a-title="Distributed Database DevOps Dilemmas? Kubernetes to the rescue!">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="BruJUG-events-247929324">
                                <h3>Skyrocket Java applications with the open-source
                                    Apache Ignite
                                    <a href="/events.html#BruJUG-events-247929324" aria-label="Event Meetup"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">The Brussels Java User Group, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">March 05, 2018</div>
                                <p>
                                    In his talk, Akmal will introduce the many components of the open-source Apache
                                    Ignite.
                                    As Java professionals, you will learn how to solve some of the most demanding
                                    scalability and performance challenges.
                                    He’ll also cover a few typical use cases and work through some code examples.
                                    Attendees would leave ready to fire up their own database deployments!
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/BruJUG/events/247929324/" target="_blank"
                                           rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/BruJUG/events/247929324/"
                                         data-a2a-title="Skyrocket Java applications with the open-source Apache Ignite">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinars">
                                <p>Webinars</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="webinars-essentials-in-russian-part1">
                                <h3>Basics of In-Memory Computing for architects and
                                    developers: Part 1
                                    <a href="/events.html#webinars-essentials-in-russian-part1"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Denis Magda</div>
                                <div class="event-date">Febuary 28, 2018</div>
                                <p>
                                    Denis Magda will talk about the main features and components of In-Memory Computing
                                    solutions using the example of Apache Ignite.
                                    The webinar combines theory and practice, after which participants will be able to
                                    design and write code for similar systems.
                                    On specific examples of the code you will learn about:
                                <ul class="page-list">
                                    <li>Configuration and launch of clusters</li>
                                    <li>Data processing using key-value API</li>
                                    <li>Optimal data processing with distributed SQL</li>
                                </ul>
                                <br/>
                                <i>This webinar is in Russian.</i>
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.gridgain.com/resources/webinars/essentials-in-russian-part1"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.gridgain.com/resources/webinars/essentials-in-russian-part1"
                                         data-a2a-title="Basics of In-Memory Computing for architects and developers: Part 1">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="Big-Data-Berlin-events-247348848">
                                <h3>The In-Memory Hammer In Your Data Science Toolkit
                                    <a href="/events.html#Big-Data-Berlin-events-247348848" aria-label="Event Meetup"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Big Data, Berlin, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">Febuary 22, 2018</div>
                                <p>
                                    In this presentation, Akmal will explain some of the main components of Apache
                                    Ignite,
                                    such as the Compute Grid, Data Grid and the Machine Learning Grid.
                                    Through examples, attendees will learn how Apache Ignite can be used for data
                                    analysis.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/Big-Data-Berlin/events/247348848/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/Big-Data-Berlin/events/247348848/"
                                         data-a2a-title="The In-Memory Hammer In Your Data Science Toolkit">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="Bay-Area-In-Memory-Computing-events-247427747">
                                <h3>Building consistent and highly available
                                    distributed systems with Apache Ignite and GridGain
                                    <a href="/events.html#Bay-Area-In-Memory-Computing-events-247427747"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Bay Area In-Memory Computing Meetup, Speaker - Valentin Kulichenko</div>
                                <div class="event-date">Febuary 21, 2018</div>
                                <p>
                                    In this session, meetup attendees will be given an overview of Apache® Ignite® and
                                    GridGain capabilities that allow the delivery of high availability, while not
                                    breaking data consistency. Specific guidelines will be presented on how to build
                                    such systems covering topics such as:
                                <ul class="page-list">
                                    <li>In-memory backups</li>
                                    <li>Data persistence</li>
                                    <li>Data center replication</li>
                                    <li>Full and incremental snapshots</li>
                                </ul>
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/Bay-Area-In-Memory-Computing/events/247427747/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/Bay-Area-In-Memory-Computing/events/247427747/"
                                         data-a2a-title="Building consistent and highly available distributed systems with Apache Ignite and GridGain">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="Berlin-Kubernetes-Meetup-events-247357559">
                                <h3>Kubernetes: Good, Bad, Ugly of GKE and
                                    Distributed Databases in Kubernetes
                                    <a href="/events.html#Berlin-Kubernetes-Meetup-events-247357559"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Berlin Kubernetes Meetup, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">Febuary 21, 2018</div>
                                <p>
                                    In this talk you will learn how Kubernetes can orchestrate distributed database like
                                    Apache Ignite, in particular:
                                <ul class="page-list">
                                    <li>Cluster Assembling - database nodes auto-discovery in Kubernetes</li>
                                    <li>Database Resilience - automated horizontal scalability</li>
                                    <li>Database Availability - what’s the role of Kubernetes and the database</li>
                                    <li>Utilizing both RAM and disk - set up Apache Ignite in a way to get in-memory
                                        performance with durability of disk
                                    </li>
                                </ul>
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/Berlin-Kubernetes-Meetup/events/247357559/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/Berlin-Kubernetes-Meetup/events/247357559/"
                                         data-a2a-title="Kubernetes: Good, Bad, Ugly of GKE and Distributed Databases in Kubernetes">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/conferences.svg" alt="Conference">
                                <p>Conference</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="ibm-indexconf-sessions">
                                <h3>Apache Spark and Apache Ignite: Where Fast Data
                                    Meets the IoT
                                    <a href="/events.html#ibm-indexconf-sessions" aria-label="Event Meetup"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Index Developer Conference, Speaker - Denis Magda</div>
                                <div class="event-date">Febuary 20, 2018</div>
                                <p>
                                    It is not enough to build a mesh of sensors or embedded devices to obtain more
                                    insights about the
                                    surrounding environment and optimize your production systems. Usually, your IoT
                                    solution needs
                                    to be capable of transferring enormous amounts of data to storage or the cloud where
                                    the
                                    data have to be processed further.

                                    This session will show attendees how to build a Fast Data solution that will receive
                                    endless streams from the IoT side and will be capable of processing the streams in
                                    real-time using Apache Ignite's cluster resources.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://developer.ibm.com/indexconf/sessions/#!?id=5554"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://developer.ibm.com/indexconf/sessions/#!?id=5554"
                                         data-a2a-title="Apache Spark and Apache Ignite: Where Fast Data Meets the IoT">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="jug-bb-events-247490915">
                                <h3>Skyrocket Java applications with the open-source
                                    Apache Ignite
                                    <a href="/events.html#jug-bb-events-247490915" aria-label="Event Meetup"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Java Usergroup Berlin-Brandenburg, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">Febuary 20, 2018</div>
                                <p>
                                    In his talk, Akmal will introduce the many components of the open-source Apache
                                    Ignite.
                                    Meetup members, as Java professionals, will learn how to solve some of the most
                                    demanding scalability and performance challenges. He’ll also cover a few typical use
                                    cases
                                    and work through some code examples. Attendees would leave ready to fire up their
                                    own database deployments!

                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/jug-bb/events/247490915/" target="_blank"
                                           rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/jug-bb/events/247490915/"
                                         data-a2a-title="Skyrocket Java applications with the open-source Apache Ignite">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinar">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="redis-replaced-why-companies-now-choose-apacher-ignitetm">
                                <h3>GridGain Webinar: Redis Replaced: Why Companies
                                    Now Choose Apache® Ignite® to Improve Application Speed and Scale
                                    <a href="/events.html#redis-replaced-why-companies-now-choose-apacher-ignitetm"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Denis Magda</div>
                                <div class="event-date">Febuary 20, 2018</div>
                                <p>
                                    Learn why businesses are choosing Apache Ignite to handle their in-memory computing
                                    needs, and moving away from traditional caches like Redis.
                                    In this session, Denis will explain how:
                                <ul class="page-list">
                                    <li>In-memory technologies have evolved from caches to in-memory computing
                                        platform
                                    </li>
                                    <li>Apache Ignite slides in-between existing applications and SQL databases to
                                        improve performance and scale
                                    </li>
                                    <li>Apache Ignite native SQL and ACID transaction support works</li>
                                    <li>Apache Ignite in-memory storage and collocated computing scales out linearly to
                                        avoid scale limitations with traditional caches
                                    </li>
                                </ul>
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.gridgain.com/company/news/events/gridgain-webinar-redis-replaced-why-companies-now-choose-apacher-ignitetm"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.gridgain.com/company/news/events/gridgain-webinar-redis-replaced-why-companies-now-choose-apacher-ignitetm"
                                         data-a2a-title="GridGain Webinar: Redis Replaced: Why Companies Now Choose Apache® Ignite® to Improve Application Speed and Scale">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="San-Francisco-Kubernetes-Meetup-events-247330448">
                                <h3>Deploy like a Boss: Using Kubernetes and Apache
                                    Ignite!
                                    <a href="/events.html#San-Francisco-Kubernetes-Meetup-events-247330448"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">San Francisco Kubernetes Meetup, Speaker - Dani Traphagen</div>
                                <div class="event-date">Febuary 15, 2018</div>
                                <p>
                                    If downtime is not an option for you and your application needs to be extremely
                                    low-latency;
                                    what cocktail of open source projects can facilitate this best? Both Kubernetes and
                                    Apache Ignite
                                    are Open Source Frameworks that work exceedingly well together to achieve said
                                    goals. By working with containerization
                                    Kubernetes helps enable developers to work seamlessly with new versions of their
                                    applications, running
                                    them where they want with a flexibly scalable experience. Apache Ignite is the
                                    perfect complement to this.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/San-Francisco-Kubernetes-Meetup/events/247330448/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/San-Francisco-Kubernetes-Meetup/events/247330448/"
                                         data-a2a-title="Deploy like a Boss: Using Kubernetes and Apache Ignite! - Dani Traphagen">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinars">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="getting-started-apacher-ignitetm-distributed-database">
                                <h3>Getting Started with Apache® Ignite<sup>®</sup>
                                    as a Distributed Database
                                    <a href="/events.html#getting-started-apacher-ignitetm-distributed-database"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Valentin Kulichenko</div>
                                <div class="event-date">Febuary 14, 2018</div>
                                <p>
                                    Apache Ignite native persistence is a distributed ACID and SQL-compliant store that
                                    turns Apache Ignite into a full-fledged distributed SQL database.
                                    In this webinar, Valentin Kulichenko will:
                                <ul class="page-list">
                                    <li>Explain what native persistence is, and how it works</li>
                                    <li>Show step-by-step how to set up Apache Ignite with native persistence</li>
                                    <li>Explain the best practices for configuration and tuning</li>
                                </ul>
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.gridgain.com/resources/webinars/getting-started-apacher-ignitetm-distributed-database"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.gridgain.com/resources/webinars/getting-started-apacher-ignitetm-distributed-database"
                                         data-a2a-title="Getting Started with Apache® Ignite® as a Distributed Database">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="Sydney-Cassandra-Users-events-246922765">
                                <h3>Ignite your Cassandra Love Story: Caching
                                    Cassandra with Apache Ignite
                                    <a href="/events.html#Sydney-Cassandra-Users-events-246922765"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Sydney Cassandra Users Meetup, Speaker - Rachel Pedreschi</div>
                                <div class="event-date">Febuary 13, 2018</div>
                                <p>
                                    In this session you will learn how Apache Ignite can turbocharge your Cassandra
                                    cluster without sacrificing availability guarantees.
                                    In this talk we’ll cover:
                                <ul class="page-list">
                                    <li>An overview of the Apache Ignite architecture</li>
                                    <li>How to deploy Apache Ignite in minutes on top of Cassandra</li>
                                    <li>How companies use this powerful combination to handle extreme OLTP workloads
                                    </li>
                                </ul>
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/Sydney-Cassandra-Users/events/246922765/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/Sydney-Cassandra-Users/events/246922765/"
                                         data-a2a-title="Ignite your Cassandra Love Story: Caching Cassandra with Apache Ignite">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="boston-java-events-246725780">
                                <h3>Java and In-Memory Computing: Apache Ignite
                                    <a href="/events.html#boston-java-events-246725780" aria-label="Event Meetup"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">The Boston Java Meetup Group, Speaker - Fotios Filacouris</div>
                                <div class="event-date">Febuary 13, 2018</div>
                                <p>
                                    In his talk, Akmal will introduce the many components of the open-source Apache
                                    Ignite.
                                    Meetup members, as Java professionals, will learn how to solve some of the most
                                    demanding scalability and performance challenges. He’ll also cover a few typical use
                                    cases
                                    and work through some code examples. Attendees would leave ready to fire up their
                                    own database deployments!

                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/boston-java/events/246725780/" target="_blank"
                                           rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/boston-java/events/246725780/"
                                         data-a2a-title="Java and In-Memory Computing: Apache Ignite">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="mysqlbos-events-246021720">
                                <h3>Turbocharge your MySQL queries in-memory with
                                    Apache Ignite
                                    <a href="/events.html#mysqlbos-events-246021720" aria-label="Event Meetup"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">The Boston MySQL Meetup Group, Speaker - Fotios Filacouris</div>
                                <div class="event-date">Febuary 12, 2018</div>
                                <p>
                                    Apache Ignite is a unique data management platform that is built on top of a
                                    distributed key-value storage
                                    and provides full-fledged MySQL support.Attendees will learn how Apache Ignite
                                    handles auto-loading of a
                                    MySQL schema and data from PostgreSQL, supports MySQL indexes, supports compound
                                    indexes, and various
                                    forms of MySQL queries including distributed MySQL joins.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/mysqlbos/events/246021720/" target="_blank"
                                           rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/mysqlbos/events/246021720/"
                                         data-a2a-title="Turbocharge your MySQL queries in-memory with Apache Ignite">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="mysqlbos-events-246021720">
                                <h3>Turbocharge your MySQL queries in-memory with
                                    Apache Ignite
                                    <a href="/events.html#mysqlbos-events-246021720" aria-label="Event Meetup"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">The Boston MySQL Meetup Group, Speaker - Fotios Filacouris</div>
                                <div class="event-date">Febuary 12, 2018</div>
                                <p>
                                    Apache Ignite is a unique data management platform that is built on top of a
                                    distributed key-value storage
                                    and provides full-fledged MySQL support.Attendees will learn how Apache Ignite
                                    handles auto-loading of a
                                    MySQL schema and data from PostgreSQL, supports MySQL indexes, supports compound
                                    indexes, and various
                                    forms of MySQL queries including distributed MySQL joins.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/mysqlbos/events/246021720/" target="_blank"
                                           rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/mysqlbos/events/246021720/"
                                         data-a2a-title="Turbocharge your MySQL queries in-memory with Apache Ignite">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="London-In-Memory-Computing-Meetup-events-246875000">
                                <h3>Building consistent and highly available
                                    distributed systems with Apache Ignite and GridGain
                                    <a href="/events.html#London-In-Memory-Computing-Meetup-events-246875000"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">London In-Memory Computing Meetup, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">Febuary 07, 2018</div>
                                <p>
                                    It is well known that there is a tradeoff between data consistency and high
                                    availability.
                                    However, there are many applications that require very strong consistency
                                    guarantees.
                                    Making such applications highly available can be a significant challenge. Akmal will
                                    explain how to overcome these challenges.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/London-In-Memory-Computing-Meetup/events/246875000/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/London-In-Memory-Computing-Meetup/events/246875000/"
                                         data-a2a-title="Building consistent and highly available distributed systems with Apache Ignite and GridGain">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/conferences.svg" alt="Conferences">
                                <p>Conferences</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="apache-ignite-service-grid-foundation-of-your-microservices-based-solution">
                                <h3>Apache Ignite Service Grid: Foundation of Your
                                    Microservices-Based Solution
                                    <a href="/events.html#apache-ignite-service-grid-foundation-of-your-microservices-based-solution"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">DeveloperWeek 2018, Speaker - Denis Magda</div>
                                <div class="event-date">Febuary 07, 2018</div>
                                <p>
                                    During this session, Denis will provide a step-by-step guide on how to build a
                                    fault-tolerant and scalable microservice-based solution using Apache Ignite's
                                    Service Grid and other components to resolve these aforementioned issues.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://developerweeksfbayarea2018.sched.com/event/D6C7/apache-ignite-service-grid-foundation-of-your-microservices-based-solution"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://developerweeksfbayarea2018.sched.com/event/D6C7/apache-ignite-service-grid-foundation-of-your-microservices-based-solution"
                                         data-a2a-title="Apache Ignite Service Grid: Foundation of Your Microservices-Based Solution">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="techiteasy-events-245530302">
                                <h3>Meet Apache Ignite In-Memory Computing Platform
                                    <a href="/events.html#techiteasy-events-245530302" aria-label="Event Meetup"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Tech it Easy- Tokyo, Speaker - Roman Shtykh</div>
                                <div class="event-date">Febuary 01, 2018</div>
                                <p>
                                    In this talk you will learn about Apache Ignite memory-centric distributed database,
                                    caching,
                                    and processing platform. Roman will explain how one can do distributed computing,
                                    and use SQL
                                    with horizontal scalability and high availability of NoSQL systems with Apache
                                    Ignite.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/techiteasy/events/245530302/" target="_blank"
                                           rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/techiteasy/events/245530302/"
                                         data-a2a-title="Meet Apache Ignite In-Memory Computing Platform">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="Los-Angeles-Kubernetes-Meetup-244966244">
                                <h3>Deploy like a Boss: Using Kubernetes and Apache
                                    Ignite!
                                    <a href="/events.html#Los-Angeles-Kubernetes-Meetup-244966244"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Los Angeles Kubernetes Meetup, Dani Traphagen</div>
                                <div class="event-date">January 31, 2018</div>
                                <p>
                                    If downtime is not an option for you and your application needs to be extremely
                                    low-latency;
                                    what cocktail of open source projects can facilitate this best? Both Kubernetes and
                                    Apache Ignite
                                    are Open Source Frameworks that work exceedingly well together to achieve said
                                    goals.
                                    By working with containerization Kubernetes helps enable developers to work
                                    seamlessly with
                                    new versions of their applications, running them where they want with a flexibly
                                    scalable experience. Apache Ignite is the perfect complement to this.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/Los-Angeles-Kubernetes-Meetup/events/244966244/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/Los-Angeles-Kubernetes-Meetup/events/244966244/"
                                         data-a2a-title="Deploy like a Boss: Using Kubernetes and Apache Ignite!">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinar">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="webinar-ignite-fire-in-your-sql-app">
                                <h3>Ignite The Fire In Your SQL App
                                    <a href="/events.html#webinar-ignite-fire-in-your-sql-app"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Akmal Chaudhri</div>
                                <div class="event-date">January 31, 2018</div>
                                <p>
                                    Apache Ignite is (an in-memory computing platform OR an in-memory distributed data
                                    store and compute grid) with full-fledged SQL,
                                    key-value and processing APIs. Many companies have added it as a cache in-between
                                    existing SQL databases
                                    and their applications to speed up response times and scale. In other projects
                                    they've used it as its own SQL database.
                                    This session will dive into some of the best practices for both types of projects
                                    using Apache Ignite.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.gridgain.com/resources/webinars/ignite-fire-in-your-sql-app"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.gridgain.com/resources/webinars/ignite-fire-in-your-sql-app"
                                         data-a2a-title="Ignite The Fire In Your SQL App">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="BigDataApps-244915185">
                                <h3>Apache Spark and Apache Ignite: Where Fast Data
                                    Meets the IoT
                                    <a href="/events.html#BigDataApps-244915185" aria-label="Event Meetup"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Big Data Application Meetup, Speaker - Denis Magda</div>
                                <div class="event-date">January 31, 2018</div>
                                <p>
                                    This session will show attendees how to build a Fast Data solution that will
                                    receive endless streams from the IoT side and will be capable of processing the
                                    streams
                                    in real-time using Apache Ignite's cluster resources.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/BigDataApps/events/244915185/" target="_blank"
                                           rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/BigDataApps/events/244915185/"
                                         data-a2a-title="Apache Spark and Apache Ignite: Where Fast Data Meets the IoT">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="NYC-In-Memory-Computing-Meetup-246047934">
                                <h3>Building consistent and highly available
                                    distributed systems with Apache Ignite and GridGain
                                    <a href="/events.html#NYC-In-Memory-Computing-Meetup-246047934"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">NYC In-Memory Computing Meetup, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">January 25, 2018</div>
                                <p>
                                    It is well known that there is a tradeoff between data consistency and high
                                    availability.
                                    However, there are many applications that require very strong consistency
                                    guarantees,
                                    and making such applications highly available can be a significant challenge. In
                                    this session,
                                    attendees will be given an overview of Apache Ignite and GridGain capabilities
                                    that allow the delivery of high availability, while not breaking data consistency.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/NYC-In-Memory-Computing-Meetup/events/246047934/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/NYC-In-Memory-Computing-Meetup/events/246047934/"
                                         data-a2a-title="Building consistent and highly available distributed systems with Apache Ignite and GridGain">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinar">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="scale-out-and-conquer-architectural-decisions-behind-distributed-in-memory">
                                <h3>Scale Out and Conquer: Architectural Decisions
                                    Behind Distributed In-Memory Systems
                                    <a href="/events.html#scale-out-and-conquer-architectural-decisions-behind-distributed-in-memory"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Denis Magda</div>
                                <div class="event-date">January 17, 2018</div>
                                <p>
                                    Distributed platforms like Apache® Ignite® rely on a horizontal “scale-out”
                                    architecture where you dynamically
                                    add more machines to achieve near-linear, elastic scalability. But how does it
                                    really work? What are its limits?
                                    And how can you optimize performance and scalability?
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.gridgain.com/resources/webinars/scale-out-and-conquer-architectural-decisions-behind-distributed-in-memory"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.gridgain.com/resources/webinars/scale-out-and-conquer-architectural-decisions-behind-distributed-in-memory"
                                         data-a2a-title="Scale Out and Conquer: Architectural Decisions Behind Distributed In-Memory Systems">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>

                </div>
                <div class="tab-pane" id="events-2017">
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/conferences.svg" alt="Conference">
                                <p>Conference</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="niketechtalksdec2017">
                                <h3>Getting Started With Apache Ignite
                                    <a href="/events.html#niketechtalksdec2017" aria-label="Event Meetup"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Nike Teck Talks, Speaker - Dani Traphagen</div>
                                <div class="event-date">December 14, 2017</div>
                                <p>
                                    Apache Ignite provides a caching layer between applications and the system of
                                    record,
                                    but additionally, it provides a peer to peer architecture for transacting data,
                                    performing computations, microservices, streaming, and much more.
                                    During this session, we will do a deep-dive into the Apache Ignite architecture and
                                    discuss
                                    how it is being deployed around the globe. You will walk away knowing why and when
                                    to use Apache Ignite in your next data intensive application!
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://niketechtalksdec2017.splashthat.com/" target="_blank"
                                           rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://niketechtalksdec2017.splashthat.com/"
                                         data-a2a-title="Getting Started With Apache Ignite">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="Bay-Area-In-Memory-Computing-events-245196260">
                                <h3>Want extreme performance at scale? Do distributed
                                    the RIGHT way!
                                    <a href="/events.html#Bay-Area-In-Memory-Computing-events-245196260"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Bay Area In-Memory Computing Meetup, Speaker - Valentin Kulichenko</div>
                                <div class="event-date">December 13, 2017</div>
                                <p>
                                    During this meetup, Valentin Kulichenko will talk about challenges and
                                    pitfalls one may face when architecting and developing a distributed system.
                                    Valentin will show how to take advantage
                                    of the affinity collocation concept that is one of the most powerful and usually
                                    undervalued technique provided by distributed systems.
                                    He will take Apache Ignite as a database for his experiments covering these moments
                                    in particular:

                                    What is data affinity and why is it important for distributed systems?
                                    What is affinity colocation and how does it help to improve performance?
                                    How does affinity colocation affects execution of distributed computations and
                                    distributed SQL queries? And more...
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/Bay-Area-In-Memory-Computing/events/245196260/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/Bay-Area-In-Memory-Computing/events/245196260/"
                                         data-a2a-title="Want extreme performance at scale? Do distributed the RIGHT way!">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinar">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="in-memory-computing-essentials-architects-and-developers-part-2">
                                <h3>In-Memory Computing Essentials for Architects and
                                    Developers: Part 2
                                    <a href="/events.html#in-memory-computing-essentials-architects-and-developers-part-2"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Denis Magda</div>
                                <div class="event-date">December 13, 2017</div>
                                <p>
                                    In this webinar, Denis Magda will introduce the fundamental capabilities and
                                    components of a distributed,
                                    in-memory computing platform. With increasingly advanced coding examples, you’ll
                                    learn about:
                                </p>
                                <ul class="page-list">
                                    <li>Collocated processing</li>
                                    <li>Collocated processing for distributed computations</li>
                                    <li>Collocated processing for SQL (distributed joins and more)</li>
                                    <li>Distributed persistence usage</li>
                                </ul>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.gridgain.com/resources/webinars/in-memory-computing-essentials-architects-and-developers-part-2"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.gridgain.com/resources/webinars/in-memory-computing-essentials-architects-and-developers-part-2"
                                         data-a2a-title="In-Memory Computing Essentials for Architects and Developers: Part 2">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="Moscow-Apache-Ignite-Meetup-events-245332076">
                                <h3>Apache Ignite Use Cases for Banks and Telecoms
                                    <a href="/events.html#Moscow-Apache-Ignite-Meetup-events-245332076"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Moscow Apache Ignite Meetup, Speakers- Mikhail Kuznetzov, Mikhail Khasin, Victor Khoodyakov</div>
                                <div class="event-date">December 12, 2017</div>
                                <p>
                                    Welcome to the inaugural gathering of the Moscow Apache® Ignite® Meetup! Our guest
                                    experts - Mikhail Kuznetzov, Mikhail Khasin, and Victor Khoodyakov will talk about
                                    their experiences implementing solutions for a large bank as well as a telecom
                                    company, based on Apache Ignite.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/Moscow-Apache-Ignite-Meetup/events/245332076/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/Moscow-Apache-Ignite-Meetup/events/245332076/"
                                         data-a2a-title="Apache Ignite Use Cases for Banks and Telecoms">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/conferences.svg" alt="Conferences">
                                <p>Conference</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="kccncna17-event-D3vE">
                                <h3>Distributed Database DevOps Dilemmas? Kubernetes
                                    to the Rescue
                                    <a href="/events.html#kccncna17-event-D3vE" aria-label="Event Meetup"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">KubeCon + CloudNativeCon North America 2017, Speaker - Denis Magda</div>
                                <div class="event-date">December 08, 2017</div>
                                <p>
                                    Distributed databases can make so many things easier for a developer... but not
                                    always for DevOps.
                                    OK, almost never for DevOps. Kubernetes has come to the rescue with an easy
                                    application orchestration!
                                    In this talk you will learn how Kubernetes can orchestrate distributed database like
                                    Apache Ignite, in particular:
                                </p>
                                <ul class="page-list">
                                    <li>Cluster Assembling - database nodes auto-discovery in Kubernetes.</li>
                                    <li>Database Resilience - automated horizontal scalability.</li>
                                    <li>Database Availability - what’s the role of Kubernetes and the database.</li>
                                    <li>Utilizing both RAM and disk - set up Apache Ignite in a way to get in-memory
                                        performance with durability of disk.
                                    </li>
                                </ul>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://kccncna17.sched.com/event/D3vE" target="_blank" rel="noopener"
                                           aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://kccncna17.sched.com/event/D3vE"
                                         data-a2a-title="Distributed Database DevOps Dilemmas? Kubernetes to the Rescue">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="austin-data-meetup-events-245472777">
                                <h3>Apache Ignite: the in-memory hammer in your data
                                    science toolkit
                                    <a href="/events.html#austin-data-meetup-events-245472777"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Austin Data Meetup, Speaker - Denis Magda</div>
                                <div class="event-date">December 07, 2017</div>
                                <p>
                                    Machine learning is a method of data analysis that automates the building of
                                    analytical models.
                                    By using algorithms that iteratively learn from data, computers are able to find
                                    hidden insights
                                    without the help of explicit programming. These insights bring tremendous benefits
                                    into many different domains.
                                    For business users, in particular, these insights help organizations improve
                                    customer experience,
                                    become more competitive, and respond much faster to opportunities or threats. The
                                    availability of very
                                    powerful in-memory computing platforms, such as the open-source Apache Ignite
                                    (https://ignite.apache.org/),
                                    means that more organizations can benefit from machine learning today.

                                    In this presentation, Denis will look at some of the main components of Apache
                                    Ignite, such as a
                                    distributed database, distributed computations, and machine learning toolkit.
                                    Through examples,
                                    attendees will learn how Apache Ignite can be used for data analysis.

                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/austindata/events/245472777/" target="_blank"
                                           rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/austindata/events/245472777/"
                                         data-a2a-title="Apache Ignite: the in-memory hammer in your data science toolkit">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinars">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="meeting-challenges-fast-data-in-healthcare-in-memory-technologies">
                                <h3>Meeting the Challenges of Fast Data in Healthcare
                                    with In-Memory Technologies
                                    <a href="/events.html#meeting-challenges-fast-data-in-healthcare-in-memory-technologies"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Akmal Chaudhri</div>
                                <div class="event-date">December 06, 2017</div>
                                <p>
                                    In this webinar, Akmal Chaudhri will discuss the requirements for fast data in
                                    healthcare and specifically
                                    how Apache Ignite, a distributed in-memory computing platform, is used by drug
                                    discovery companies to identify potential therapies for complex diseases.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.gridgain.com/resources/webinars/meeting-challenges-fast-data-in-healthcare-in-memory-technologies"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.gridgain.com/resources/webinars/meeting-challenges-fast-data-in-healthcare-in-memory-technologies"
                                         data-a2a-title="Meeting the Challenges of Fast Data in Healthcare with In-Memory Technologies">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinars">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="implementing-durable-memory-centric-architectures-in-large-financial">
                                <h3>Implementing Durable Memory-Centric Architectures
                                    in Large Financial <br/>Institutions
                                    <a href="/events.html#implementing-durable-memory-centric-architectures-in-large-financial"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Dmitriy Setrakyan</div>
                                <div class="event-date">November 29, 2017</div>
                                <p>
                                    In this 1-hour webinar, GridGain Systems Chief Product Officer Dmitriy Setrakyan
                                    will present
                                    how distributed memory-centric architectures can be applied to various financial
                                    systems.
                                    Dmitriy will first go over some Apache® Ignite® features important for financial use
                                    cases, including ACID compliance,
                                    SQL compatibility, persistence, replication, security, fault tolerance and more. He
                                    will next analyze one of the largest
                                    Apache Ignite deployments in the world at Sberbank, a Russian and eastern European
                                    bank. He’ll walk through its overall
                                    architecture and demonstrate the 5 major challenges that Sberbank ran into when
                                    integrating distributed,
                                    horizontally scalable memory-centric database at their bank.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.gridgain.com/resources/webinars/implementing-durable-memory-centric-architectures-in-large-financial"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.gridgain.com/resources/webinars/implementing-durable-memory-centric-architectures-in-large-financial"
                                         data-a2a-title="Implementing Durable Memory-Centric Architectures in Large Financial Institutions">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinars">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="in-memory-computing-essentials-architects-and-developers-part-1">
                                <h3>In-Memory Computing Essentials for Architects and
                                    Developers: Part 1
                                    <a href="/events.html#in-memory-computing-essentials-architects-and-developers-part-1"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Denis Magda</div>
                                <div class="event-date">November 21, 2017</div>
                                <p>
                                    In this webinar, Denis Magda will introduce the fundamental capabilities and
                                    components of an in-memory computing platform, and
                                    demonstrate how to apply the theory in practice. With increasingly advanced coding
                                    examples, you’ll learn about:
                                </p>
                                <ul class="page-list">
                                    <li>Cluster configuration and deployment</li>
                                    <li>Data processing with key-value APIs</li>
                                    <li>Data processing with SQL</li>
                                </ul>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.gridgain.com/resources/webinars/in-memory-computing-essentials-architects-and-developers-part-1"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.gridgain.com/resources/webinars/in-memory-computing-essentials-architects-and-developers-part-1"
                                         data-a2a-title="In-Memory Computing Essentials for Architects and Developers: Part 1">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="datariders-events-243704486">
                                <h3>Hands-on Workshop: In-Memory Computing Essentials
                                    for Java Developers
                                    <a href="/events.html#datariders-events-243704486" aria-label="Event Meetup"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Big Data and Cloud Meetup, Speaker - Denis Magda</div>
                                <div class="event-date">November 16, 2017</div>
                                <p>
                                    Attendees will be introduced to the fundamental capabilities of in-memory computing
                                    platforms that boost
                                    high-load applications and services, and bring existing IT architecture to the next
                                    level by storing
                                    and processing a massive amount of data both in RAM and, optionally, on
                                    disk.
                                    The capabilities and benefits of such platforms will be demonstrated with the usage
                                    of Apache Ignite,
                                    which is the in-memory computing platform that is durable, strongly consistent, and
                                    highly available with powerful SQL, key-value and processing APIs.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/preview/datariders/events/243704486"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/preview/datariders/events/243704486"
                                         data-a2a-title="Hands-on Workshop: In-Memory Computing Essentials for Java Developers">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/conferences.svg" alt="Conferences">
                                <p>Conferences</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="devoxx-Apache_Spark_and_Apache_Ignite:_Where_Fast_Data_Meets_the_IoT">
                                <h3>Apache Spark and Apache Ignite: Where Fast Data
                                    Meets the IoT
                                    <a href="/events.html#devoxx-Apache_Spark_and_Apache_Ignite:_Where_Fast_Data_Meets_the_IoT"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Devoxx Morocco, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">November 16, 2017</div>
                                <p>
                                    It is not enough to build a mesh of sensors or embedded devices to obtain more
                                    insights about the surrounding environment and
                                    optimize your production systems. Usually, your IoT solution needs to be capable of
                                    transferring enormous amounts of data to
                                    storage or the cloud where the data have to be processed further. Quite often, the
                                    processing of the endless streams of data has
                                    to be done in real-time so that you can react on the IoT subsystem's state
                                    accordingly.
                                    This session will show attendees how to build a Fast Data solution that will receive
                                    endless streams from the
                                    IoT side and will be capable of processing the streams in real-time using Apache
                                    Ignite's cluster resources. In particular, attendees will learn
                                    about data streaming to an Apache Ignite cluster from embedded devices and real-time
                                    data processing with Apache Spark.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://cfp.devoxx.ma/2017/talk/RYX-3007/Apache_Spark_and_Apache_Ignite:_Where_Fast_Data_Meets_the_IoT"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://cfp.devoxx.ma/2017/talk/RYX-3007/Apache_Spark_and_Apache_Ignite:_Where_Fast_Data_Meets_the_IoT"
                                         data-a2a-title="Apache Spark and Apache Ignite: Where Fast Data Meets the IoT">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/conferences.svg" alt="Conferences">
                                <p>Conferences</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section
                                    id="devoxx-How_to_build_an_event-driven_dynamically_re-configurable_micro-services_platform">
                                <h3>How to build an event-driven, dynamically
                                    re-configurable micro-services platform
                                    <a href="/events.html#How_to_build_an_event-driven_dynamically_re-configurable_micro-services_platform"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Devoxx Belgium, Speaker - Sven Beauprez</div>
                                <div class="event-date">November 10, 2017</div>
                                <p>
                                    Why only look at Apache Kafka to build event-driven microservices when there is also
                                    Apache Ignite, which brings far more to the table?
                                </p>
                                <p>
                                    In this presentation, Sven will show you how to combine Apache Ignite with Docker to
                                    not only build an event-driven microservice platform but also to make this
                                    dynamically re-configurable without any downtime at all.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://cfp.devoxx.be/2017/talk/YPK-6082/How_to_build_an_event-driven_dynamically_re-configurable_micro-services_platform"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://cfp.devoxx.be/2017/talk/YPK-6082/How_to_build_an_event-driven_dynamically_re-configurable_micro-services_platform"
                                         data-a2a-title="How to build an event-driven, dynamically re-configurable micro-services platform">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/conferences.svg" alt="Conferences">
                                <p>Conferences</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="odsc-apache-ignite-memory-hammer-data-science-toolkit-2">
                                <h3>Apache Ignite: The In-Memory Hammer In Your Data
                                    Science Toolkit&nbsp;
                                    <a href="/events.html#odsc-apache-ignite-memory-hammer-data-science-toolkit-2"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">ODSC San Francisco, Speaker - Denis Magda</div>
                                <div class="event-date">November 3, 2017</div>
                                <p>
                                    Machine learning is a method of data analysis that automates the building of
                                    analytical models.
                                    By using algorithms that iteratively learn from data, computers are able to find
                                    hidden insights without
                                    the help of explicit programming. These insights bring tremendous benefits into many
                                    different domains.
                                    For business users, in particular, these insights help organizations improve
                                    customer experience, become more competitive,
                                    and respond much faster to opportunities or threats. The availability of very
                                    powerful in-memory computing platforms,
                                    such as Apache Ignite, means that more organizations can benefit from machine
                                    learning today.
                                    In this presentation Denis will look at some of the main components of Apache
                                    Ignite, such as the Compute Grid,
                                    Data Grid and the Machine Learning Grid. Through examples, attendees will learn how
                                    Apache Ignite can be used for data analysis.
                                </p>

                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://odsc.com/training/portfolio/apache-ignite-memory-hammer-data-science-toolkit-2"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://odsc.com/training/portfolio/apache-ignite-memory-hammer-data-science-toolkit-2"
                                         data-a2a-title="Apache Ignite: The In-Memory Hammer In Your Data Science Toolkit">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="sydney-ibm-bluemix-meetup-group">
                                <h3>Fast Data meets Big Data in the IoT- Using Apache
                                    Ignite&nbsp;
                                    <a href="/events.html#sydney-ibm-bluemix-meetup-group" aria-label="Event Meetup"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Sydney IBM Bluemix Meetup Group, Speaker - Rachel Pedreschi</div>
                                <div class="event-date">November 2, 2017</div>
                                <p>
                                    So, you've built yourself a killer IoT application. You have connected all the
                                    things and they are all happily sending
                                    over their packets of data faster than you can say "Big Blue". Now what? How do you
                                    architect a server architecture
                                    that can support all the data flowing in and also be able to grow for the
                                    future?
                                    In this talk, Rachel will cover some of the architectural decisions you need to
                                    consider when choosing a data platform and discuss
                                    how Apache Ignite can meet those requirements. Rachel will also cover other design
                                    options like NoSQL and Spark and how to deploy in the IBM cloud.
                                </p>

                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.gridgain.com/company/news/events/sydney-ibm-bluemix-meetup-group"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.gridgain.com/company/news/events/sydney-ibm-bluemix-meetup-group"
                                         data-a2a-title="Fast Data meets Big Data in the IoT- Using Apache Ignite">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="Bay-Area-In-Memory-Computing-243868747">
                                <h3>Achieving High Availability and Consistency With
                                    Distributed Systems&nbsp;
                                    <a href="/events.html#Bay-Area-In-Memory-Computing-243868747"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Bay Area Apache® Ignite® Meetup, Speakers - Denis Magda, Valetin Kulichenko</div>
                                <div class="event-date">November 2, 2017</div>
                                <p>
                                    Tech talk No. 1 - Val kicks off the learning with a session titled, "Building
                                    Consistent and Highly Available Distributed Systems with Apache Ignite and
                                    GridGain."
                                </p>

                                <p>
                                    Tech talk No. 2 - Denis continues the knowledge sharing with a session titled,
                                    "Harnessing the 21st Century with a Distributed Memory-Centric SQL."
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/Bay-Area-In-Memory-Computing/events/243868747/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/Bay-Area-In-Memory-Computing/events/243868747/"
                                         data-a2a-title="Achieving High Availability and Consistency With Distributed Systems">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="Dublin-Spark-Meetup-events-243875410">
                                <h3>Apache Spark and Apache Ignite: Where Fast Data
                                    Meets the IoT&nbsp;
                                    <a href="/events.html#Dublin-Spark-Meetup-events-243875410"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Dublin Spark Meetup, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">October 26, 2017</div>
                                <p>
                                    In this session, Akmal will show attendees how to build a Fast Data solution that
                                    will receive endless streams from the
                                    IoT side and will be capable of processing the streams in real-time using Apache
                                    Ignite's cluster resources. In particular,
                                    attendees will learn about data streaming to an Apache Ignite cluster from embedded
                                    devices and real-time data processing with Apache Spark.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/Dublin-Spark-Meetup/events/243875410/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/Dublin-Spark-Meetup/events/243875410/"
                                         data-a2a-title="Apache Spark and Apache Ignite: Where Fast Data Meets the IoT">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/conferences.svg" alt="Conferences">
                                <p>Conference</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="spark-summit-eu-2017-how-to-share-state">
                                <h3>How to Share State Across Multiple Spark Jobs
                                    using Apache® Ignite®&nbsp;
                                    <a href="/events.html#spark-summit-eu-2017-how-to-share-state"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Spark Summit Europe 2017, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">October 25, 2017</div>
                                <p>
                                    Attend this session to learn how to easily share state in-memory across multiple
                                    Spark jobs, either
                                    within the same application or between different Spark applications using an
                                    implementation of the Spark RDD
                                    abstraction provided in Apache Ignite. During the talk, attendees will learn in
                                    detail how IgniteRDD –
                                    an implementation of native Spark RDD and DataFrame APIs – shares the state of the
                                    RDD across other Spark jobs,
                                    applications and workers. Examples will show how IgniteRDD, with its advanced
                                    in-memory indexing capabilities,
                                    allows execution of SQL queries many times faster than native Spark RDDs or Data
                                    Frames.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://spark-summit.org/eu-2017/events/how-to-share-state-across-multiple-apache-spark-jobs-using-apache-ignite/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://spark-summit.org/eu-2017/events/how-to-share-state-across-multiple-apache-spark-jobs-using-apache-ignite/"
                                         data-a2a-title="How to Share State Across Multiple Spark Jobs using Apache® Ignite®">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/conferences.svg" alt="Conferences">
                                <p>Conference</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="imc-summit-2017">
                                <h3>The In-Memory Computing Summit 2017 – North
                                    America&nbsp;
                                    <a href="/events.html#imc-summit-2017" aria-label="Event Meetup"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">South San Francisco Conference Center</div>
                                <div class="event-date">October 24-25, 2017</div>
                                <p>
                                    There will be several highly technical talks about Apache Ignite at the 3rd-annual
                                    In-Memory Computing Summit
                                    Oct. 24-25 at the South San Francisco Conference Center. The IMC Summit is the only
                                    industry-wide event that focuses
                                    on the full range of in-memory computing-related technologies and solutions held in
                                    North America.
                                </p>
                                <p>Check out the agenda here: <a
                                        href="https://www.imcsummit.org/us/agenda/schedule/day-1">https://www.imcsummit.org/us/agenda/schedule/day-1</a>
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.imcsummit.org/us/" target="_blank" rel="noopener"
                                           aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.imcsummit.org/us/"
                                         data-a2a-title="The In-Memory Computing Summit 2017 – North America">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="Eurostaff-Big-Data-243650721">
                                <h3>Better Machine Learning with Apache® Ignite®&nbsp;
                                    <a href="/events.html#Eurostaff-Big-Data-243650721" aria-label="Event Meetup"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Eurostaff Big Data Meetup, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">October 19, 2017</div>
                                <p>
                                    The availability of very powerful in-memory computing platforms, such as Apache®
                                    Ignite®, means that more organizations can benefit
                                    from machine learning today. In this presentation, Akmal will discuss how the
                                    Compute Grid, Data Grid, and Machine Learning Grid
                                    components of Apache Ignite work together to enable your business to start reaping
                                    the benefits of machine learning.
                                </p>
                                <p>
                                    Through examples, attendees will learn how Apache Ignite can be used for data
                                    analysis and be the in-memory hammer in your machine learning toolkit.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/Eurostaff-Big-Data/events/243650721/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/Eurostaff-Big-Data/events/243650721/"
                                         data-a2a-title="Better Machine Learning with Apache® Ignite®">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="sv-jug-events-242946746">
                                <h3>Catch an intro to Apache Ignite and skyrocket
                                    Java applications&nbsp;
                                    <a href="/events.html#sv-jug-events-242946746" aria-label="Event Meetup"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Java User Group Meetup, Speaker - Valentin Kulichenko</div>
                                <div class="event-date">October 18, 2017</div>
                                <p>
                                    Join Valentin (Val) Kulichenko as he introduces the many components of the
                                    open-source Apache Ignite.
                                    You, as a Java professional, will learn how to solve some of the most demanding
                                    scalability and performance challenges.
                                    He will also cover a few typical use cases and work through some code examples.
                                    Hope to see you there so you can leave ready to fire up your database deployments!
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/preview/sv-jug/events/242946746" target="_blank"
                                           rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/preview/sv-jug/events/242946746"
                                         data-a2a-title="Catch an intro to Apache Ignite and skyrocket Java applications">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinars">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="apacher-sparktm-and-apacher-ignitetm-where-fast-data-meets-iot">
                                <h3>Apache® Spark™ and Apache® Ignite®: Where Fast
                                    Data Meets the IoT&nbsp;
                                    <a href="/events.html#apacher-sparktm-and-apacher-ignitetm-where-fast-data-meets-iot"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Denis Magda</div>
                                <div class="event-date">October 18, 2017</div>
                                <p>
                                    During this 1-hour webinar, Denis Magda will discuss a Fast Data solution that can
                                    receive endless streams
                                    from the Internet of Things (IoT) and be capable of processing the streams in
                                    real-time using Apache Ignite’s cluster resources.
                                    You will also learn about data streaming to an Apache Ignite® cluster from embedded
                                    devices and real-time data processing with Apache® Spark™.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.gridgain.com/resources/webinars/apacher-sparktm-and-apacher-ignitetm-where-fast-data-meets-iot"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.gridgain.com/resources/webinars/apacher-sparktm-and-apacher-ignitetm-where-fast-data-meets-iot"
                                         data-a2a-title="Apache® Spark™ and Apache® Ignite®: Where Fast Data Meets the IoT">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/conferences.svg" alt="Conferences">
                                <p>Conference</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="odsc-europe-2017-apache-ignite-memory-hammer-data-science-toolkit">
                                <h3>Apache Ignite®: The In-Memory Hammer in Your Data
                                    Science Toolkit&nbsp;
                                    <a href="/events.html#odsc-europe-2017-apache-ignite-memory-hammer-data-science-toolkit"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">ODSC Europe 2017, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">October 14, 2017</div>
                                <p>
                                    In this presentation, Akmal will show some of the main components of Apache Ignite®,
                                    such as the Compute Grid, Data Grid and the Machine Learning Grid. Through examples,
                                    attendees will learn how Apache Ignite can be used for data analysis.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://odsc.com/training/portfolio/apache-ignite-memory-hammer-data-science-toolkit"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://odsc.com/training/portfolio/apache-ignite-memory-hammer-data-science-toolkit"
                                         data-a2a-title="Apache Ignite®: The In-Memory Hammer in Your Data Science Toolkit">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/conferences.svg" alt="Conferences">
                                <p>Conference</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="london-bigdataweek-powering-banks-financial-institutions-distributed-systems">
                                <h3>Powering up banks and financial institutions with
                                    distributed systems&nbsp;
                                    <a href="/events.html#london-bigdataweek-powering-banks-financial-institutions-distributed-systems"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Big Data Week London 2017, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">October 13, 2017</div>
                                <p>
                                    In this presentation, attendees will learn about important Apache Ignite features
                                    for financial applications,
                                    such as ACID compliance, SQL compatibility, persistence, replication, security,
                                    fault tolerance and more.
                                </p>
                                <p>
                                    A customer case study will also be presented. We will analyze one of the largest
                                    Apache Ignite deployments in the world at Sberbank,
                                    a Russian and Eastern European Bank, by walking through the overall architecture and
                                    demonstrating various implementation and deployment challenges.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="http://london.bigdataweek.com/session/powering-banks-financial-institutions-distributed-systems/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="http://london.bigdataweek.com/session/powering-banks-financial-institutions-distributed-systems/"
                                         data-a2a-title="Powering up banks and financial institutions with distributed systems">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/conferences.svg" alt="Conferences">
                                <p>Conference</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="dataplatform-jp">
                                <h3>Real-time Data Analysis with Apache Ignite
                                    High-Performance In-memory Platform&nbsp;
                                    <a href="/events.html#dataplatform-jp" aria-label="Event Meetup"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Data Platform Conference Tokyo 2017, Speaker - Roman Shtykh</div>
                                <div class="event-date">October 10, 2017</div>
                                <p>
                                    With the advances in IoT technology, the volume and the diversity of data to be
                                    analyzed has enormously increased,
                                    and processing it with traditional disk-based technology has become more
                                    challenging. Therefore the number of data
                                    analysis solutions using in-memory technology, such as Apache Ignite
                                    high-performance in-memory platform, has increased.
                                </p>
                                <p>
                                    In this session, Roman will introduce Apache Ignite, and explain how it can be used
                                    for real-time analysis of large volumes of IoT data.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="http://dataplatform.jp/" target="_blank" rel="noopener"
                                           aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="http://dataplatform.jp/"
                                         data-a2a-title="Real-time Data Analysis with Apache Ignite High-Performance In-memory Platform">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinar">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="webinar-postgres-apacher-ignitetm">
                                <h3>Postgres with Apache® Ignite®: Faster
                                    Transactions and Analytics&nbsp;
                                    <a href="/events.html#webinar-postgres-apacher-ignitetm"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Fotios Filacouris</div>
                                <div class="event-date">October 4, 2017</div>
                                <p>
                                    Join Fotios Filacouris as he discusses how you can supplement PostgreSQL with Apache
                                    Ignite. You'll learn:
                                </p>
                                <ul class="page-list">
                                    <li>The strategic benefits of using Apache Ignite instead of Memcache, Redis®,
                                        GigaSpaces®, or Oracle Coherence™
                                    </li>
                                    <li>How to overcome the limitations of the PostgreSQL architecture for big data
                                        analytics by leveraging the parallel distributed computing and ANSI SQL-99
                                        capabilities of Apache Ignite
                                    </li>
                                    <li>How to use Apache Ignite as an advanced high-performance cache platform for hot
                                        data
                                    </li>
                                </ul>

                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.gridgain.com/resources/webinars/postgres-apacher-ignitetm-faster-transactions-and-analytics"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.gridgain.com/resources/webinars/postgres-apacher-ignitetm-faster-transactions-and-analytics"
                                         data-a2a-title="Postgres with Apache® Ignite®: Faster Transactions and Analytics">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="Paris-Spark-Meetup-243673170">
                                <h3>Apache Spark and Apache Ignite: Where Fast Data
                                    Meets the IoT&nbsp;
                                    <a href="/events.html#Paris-Spark-Meetup-243673170" aria-label="Event Meetup"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Paris Spark Meetup, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">October 3, 2017</div>
                                <p>
                                    In this session, Akmal will show attendees how to build a Fast Data solution that
                                    will receive endless streams from the
                                    IoT side and will be capable of processing the streams in real-time using Apache
                                    Ignite's cluster resources. In particular,
                                    attendees will learn about data streaming to an Apache Ignite cluster from embedded
                                    devices and real-time data processing with Apache Spark.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/Paris-Spark-Meetup/events/243673170/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/Paris-Spark-Meetup/events/243673170/"
                                         data-a2a-title="Apache Spark and Apache Ignite: Where Fast Data Meets the IoT">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="Big-Data-Developers-in-Paris-243327509">
                                <h3>Giving a boost to the Hadoop and Spark ecosystems
                                    with in-memory technologies&nbsp;
                                    <a href="/events.html#Big-Data-Developers-in-Paris-243327509"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Big Data & Data Science, Paris, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">October 2, 2017</div>
                                <p>
                                    In this talk, Akmal present how to speed up existing Hadoop and Spark deployments by
                                    making Apache Ignite responsible for RAM utilization.
                                    No code modifications, no new architecture from scratch! Specifically, this
                                    presentation will cover :
                                    Hadoop Accelerator, HDFS compliant In-Memory File System, MapReduce Accelerator,
                                    Spark Shared RDDs, Spark SQL boost.

                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/preview/Big-Data-Developers-in-Paris/events/243327509"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/preview/Big-Data-Developers-in-Paris/events/243327509"
                                         data-a2a-title="Giving a boost to the Hadoop and Spark ecosystems with in-memory technologies">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="New-York-Kubernetes-Meetup-242597746">
                                <h3>Stateful Apps in Production and Distributed
                                    Database Orchestration&nbsp;
                                    <a href="/events.html#New-York-Kubernetes-Meetup-242597746"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">New York Kubernetes Meetup, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">September 27, 2017</div>
                                <p>
                                    This talk will focus on a DevOps perspective on the orchestration of distributed
                                    databases, Apache Ignite.
                                    Denis will speak on node auto-discovery, automated horizontal scalability,
                                    availability and utilization of RAM and disk with Apache Ignite.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/New-York-Kubernetes-Meetup/events/242597746/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/New-York-Kubernetes-Meetup/events/242597746/"
                                         data-a2a-title="Stateful Apps in Production and Distributed Database Orchestration">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinars">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="better-machine-learning-apacher-ignitetm">
                                <h3>Better Machine Learning with Apache® Ignite®&nbsp;
                                    <a href="/events.html#better-machine-learning-apacher-ignitetm"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Akmal Chaudhri</div>
                                <div class="event-date">September 27, 2017</div>
                                <p>
                                    In this presentation, Akmal will discuss how the Compute Grid, Data Grid, and
                                    Machine Learning Grid components of Apache Ignite work together
                                    to enable your business to start reaping the benefits of machine learning. Through
                                    examples, attendees will learn how Apache Ignite
                                    can be used for data analysis and be the in-memory hammer in your machine learning
                                    toolkit.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.gridgain.com/resources/webinars/better-machine-learning-apacher-ignitetm"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.gridgain.com/resources/webinars/better-machine-learning-apacher-ignitetm"
                                         data-a2a-title="Better Machine Learning with Apache® Ignite®">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="NYC-In-Memory-Computing-Meetup-243150945">
                                <h3>Powering up banks and financial institutions with
                                    distributed systems&nbsp;
                                    <a href="/events.html#NYC-In-Memory-Computing-Meetup-243150945"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">NYC In-Memory Computing Meetup, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">September 26, 2017</div>
                                <p>
                                    In this talk, Akmal will start with a brief high-level overview of distributed
                                    computing fundamentals and in-memory computing use cases.
                                    Then he'll introduce the open-source Apache Ignite, an in-memory computing platform
                                    that enables high-performance transactions,
                                    real-time streaming, and fast analytics in a single, comprehensive data access and
                                    processing layer.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/NYC-In-Memory-Computing-Meetup/events/243150945/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/NYC-In-Memory-Computing-Meetup/events/243150945/"
                                         data-a2a-title="Powering up banks and financial institutions with distributed systems">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="internet-things-iot-new-york-meetup">
                                <h3>Apache Spark and Apache Ignite: Where Fast Data
                                    Meets the IoT&nbsp;
                                    <a href="/events.html#NYC-In-Memory-Computing-Meetup-243150945"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Internet of Things (IoT) New York Meetup, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">September 25, 2017</div>
                                <p>
                                    Quite often, the processing of the endless streams of data has to be done in
                                    real-time so that you can react on the IoT subsystem's state accordingly.
                                    In this session, Akmal will show attendees how to build a Fast Data solution that
                                    will receive endless streams from the IoT
                                    side and will be capable of processing the streams in real-time using Apache
                                    Ignite's cluster resources.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.gridgain.com/company/news/events/internet-things-iot-new-york-meetup"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.gridgain.com/company/news/events/internet-things-iot-new-york-meetup"
                                         data-a2a-title="Apache Spark and Apache Ignite: Where Fast Data Meets the IoT">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="Cambridge-NET-User-Group-238837204">
                                <h3>Business Intelligence and Apache Ignite for .NET
                                    Users&nbsp;
                                    <a href="/events.html#Cambridge-NET-User-Group-238837204" aria-label="Event Meetup"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Meetup, Cambridge .NET User Group, Speaker - Akmal Chaudhri</div>
                                <div class="event-date">September 18, 2017</div>
                                <p>
                                    This presentation will provide a deep dive into .NET features of the top level
                                    Apache projects: Apache Ignite.
                                    Apache Ignite is the memory-centric platform that combines distributed SQL database
                                    and key-value data grid,
                                    that is ACID compliant, horizontally scalable and highly available, and empowered
                                    with compute and machine learning capabilities.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/Cambridge-NET-User-Group/events/238837204/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/Cambridge-NET-User-Group/events/238837204/"
                                         data-a2a-title="Business Intelligence and Apache Ignite for .NET Users">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="SF-Big-Analytics-242368299">
                                <h3>Apache Ignite: The in-memory hammer in your data
                                    science toolkit&nbsp;
                                    <a href="/events.html#SF-Big-Analytics-242368299" aria-label="Event Meetup"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Meetup, Mountain View, CA, Speaker - Denis Magda</div>
                                <div class="event-date">September 13, 2017</div>
                                <p>
                                    In this talk, Denis will go through some of the main components of Apache Ignite,
                                    such as the Compute Grid, Data Grid and the Machine Learning Grid.
                                    Through examples, attendees will learn how Apache Ignite can be used for big data
                                    analysis.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/SF-Big-Analytics/events/242368299/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/SF-Big-Analytics/events/242368299/"
                                         data-a2a-title="Apache Ignite: The in-memory hammer in your data science toolkit">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinars">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="webinar-5573556767611108099">
                                <h3>Implementing In-Memory Computing for Financial
                                    Services Use Cases with Apache® Ignite®&nbsp;
                                    <a href="/events.html#SF-Big-Analytics-242368299" aria-label="Event Meetup"><i
                                            class="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Denis Magda</div>
                                <div class="event-date">September 12, 2017</div>
                                <p>
                                    In this presentation, Denis will explain features of the Apache Ignite distributed
                                    computing platform that are important for financial use cases, including:
                                </p>
                                <ul class="page-list">
                                    <li>ACID transaction guarantees</li>
                                    <li>Distributed ANSI-99 SQL support</li>
                                    <li>Replication</li>
                                    <li>Security</li>
                                    <li>Fault tolerance</li>
                                    <li>Persistence</li>
                                </ul>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://register.gotowebinar.com/register/5573556767611108099"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://register.gotowebinar.com/register/5573556767611108099"
                                         data-a2a-title="Implementing In-Memory Computing for Financial Services Use Cases with Apache® Ignite®">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="big-data-and-cloud-meetup-santa-clara-242523245">
                                <h3>Apache Spark and Apache Ignite: Where Fast Data
                                    Meets the IoT&nbsp;
                                    <a href="/events.html#big-data-and-cloud-meetup-santa-clara-242523245"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Meetup, Santa Clara, CA, Speaker - Denis Magda</div>
                                <div class="event-date">September 09, 2017</div>
                                <p>
                                    In his talk, Denis will will show attendees how to build a sast Data solution that
                                    will receive endless streams from
                                    the IoT side and will be capable of processing the streams in real-time using the
                                    cluster resources of Apache Ignite.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/datariders/events/242523245/" target="_blank"
                                           rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/datariders/events/242523245/"
                                         data-a2a-title="Apache Spark and Apache Ignite: Where Fast Data Meets the IoT">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinar">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="deploy-boss-using-kubernetesr-and-apacher-ignitetm">
                                <h3>Deploy like a Boss: Using Kubernetes® and Apache®
                                    Ignite®&nbsp;
                                    <a href="/events.html#deploy-boss-using-kubernetesr-and-apacher-ignitetm"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Dani Traphagen</div>
                                <div class="event-date">August 23, 2017</div>
                                <p>
                                    If downtime is not an option for you, and your application needs to be extremely
                                    low-latency, Kubernetes® and Apache® Ignite® are open source frameworks that work
                                    exceedingly well together to achieve these goals.
                                </p>
                                <p>
                                    In this webinar, Dani Traphagen will walk through the basics of a Kubernetes and
                                    Apache Ignite deployment, including:
                                </p>
                                <ul class="page-list">
                                    <li>Setting up a Apache Ignite cluster</li>
                                    <li>Using the Kubernetes IP Finder and the Kubernetes Ignite Lookup Service</li>
                                    <li>Sharing the Ignite Cluster Configuration</li>
                                    <li>Deploying your Ignite Pods</li>
                                    <li>Adjusting the Ignite Cluster Size when you need to scale</li>
                                </ul>

                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="http://info.gridgain.com/r40u0R2G0WUmSWT9S00K030" target="_blank"
                                           rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="http://info.gridgain.com/r40u0R2G0WUmSWT9S00K030"
                                         data-a2a-title="Deploy like a Boss: Using Kubernetes® and Apache® Ignite®">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinar">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="big-community-webinar-2423316315303466241">
                                <h3>Introduction to Apache Ignite, a memory-centric
                                    distributed platform&nbsp;
                                    <a href="/events.html#big-community-webinar-2423316315303466241"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Akmal Chaudhri</div>
                                <div class="event-date">August 16, 2017</div>
                                <p>
                                    Apache Ignite is an open source memory-centric platform that combines a distributed
                                    SQL database with a Key-Value Data Grid that
                                    is ACID-compliant and horizontally scalable. It enables high-performance
                                    transactions, real-time streaming, and fast analytics
                                    in a single, comprehensive data access and processing layer.
                                </p>
                                <p>
                                    In this webinar, attendees will learn about the many components of Apache Ignite,
                                    including the Data Grid, Compute Grid,
                                    distributed SQL database and the Machine Learning Grid. We will also cover a few
                                    typical use cases and work through some Java code examples.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://register.gotowebinar.com/register/2423316315303466241"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://register.gotowebinar.com/register/2423316315303466241"
                                         data-a2a-title="Introduction to Apache Ignite, a memory-centric distributed platform">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinar">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="building-consistent-and-highly-available-distributed-systems">
                                <h3>Building Consistent and Highly Available
                                    Distributed Systems with Apache® Ignite®&nbsp;
                                    <a href="/events.html#building-consistent-and-highly-available-distributed-systems"
                                       aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Valentin Kulichenko</div>
                                <div class="event-date">August 02, 2017</div>
                                <p>
                                    In this session, Valentin Kulichenko, Apache Ignite Committer and PMC, will give an
                                    overview of some of Apache® Ignite®
                                    capabilities that allow the delivery as much availability as possible, while not
                                    breaking data consistency.
                                    Valentin will give specific guidelines on how to build such systems, and will do a
                                    deep dive into topics like:
                                </p>
                                <ul class="page-list">
                                    <li>In-memory backups</li>
                                    <li>Data persistence</li>
                                    <li>Data center replication</li>
                                    <li>Full and incremental snapshots</li>
                                </ul>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.gridgain.com/resources/webinars/building-consistent-and-highly-available-distributed-systems-apacher-ignitetm"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.gridgain.com/resources/webinars/building-consistent-and-highly-available-distributed-systems-apacher-ignitetm"
                                         data-a2a-title="Building Consistent and Highly Available Distributed Systems with Apache® Ignite®">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="Bay-Area-In-Memory-Computing-241381155">
                                <h3>Diving into the internals of Apache Ignite's
                                    memory architecture&nbsp;<a
                                            href="/events.html#Bay-Area-In-Memory-Computing-241381155"
                                            aria-label="Event Meetup"><i class="fas fa-anchor"></i></a></h3>
                                <div class="event-date">Meetup, Denis Magda</div>
                                <div class="event-date">Jul 27, 2017</div>
                                <p>
                                    Apache Ignite is one of the fastest growing Apache projects. The presentation will
                                    take the audience on a
                                    roadmap discovery of Ignite moving to a memory-centric storage model, supporting
                                    both, fast in-memory and durable on-disk data,
                                    and blending a distributed SQL database with an in-memory key-value data grid.
                                </p>

                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/Bay-Area-In-Memory-Computing/events/241381155/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/Bay-Area-In-Memory-Computing/events/241381155/"
                                         data-a2a-title="Diving into the internals of Apache Ignite's memory architecture">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="Brighton-Java-241395191">
                                <h3>An Intro to Apache Ignite, the Memory-centric
                                    Distributed Platform&nbsp;<a href="/events.html#Brighton-Java-241395191"
                                                                 aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Meetup, Akmal Chaudhri</div>
                                <div class="event-date">July 26, 2017</div>
                                <p>
                                    Join Akmal Chaudhri as he introduces the many components of the open-source Apache
                                    Ignite.
                                    You, as a Java professional, will learn how to solve some of the most demanding
                                    scalability and performance challenges.
                                    He will also cover a few typical use cases and work through some code examples.
                                </p>

                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/Brighton-Java/events/241395191/" target="_blank"
                                           rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/Brighton-Java/events/241395191/"
                                         data-a2a-title="An Intro to Apache Ignite, the Memory-centric Distributed Platform">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="distributed-acid-transactions-apache-ignite">
                                <h3>Distributed ACID Transactions in Apache Ignite&nbsp;<a
                                        href="/events.html#" aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Webinar, Akmal Chaudhri</div>
                                <div class="event-date">July 19, 2017</div>
                                <p>
                                    During this session, Akmal Chaudhri will do a deep-dive on the architecture of
                                    Apache Ignite's ACID-compliant transactional subsystem, elaborating on the
                                    following:
                                </p>
                                <ul class="page-list">
                                    <li>Data consistency: one-phase and two-phase commit implementations.</li>
                                    <li>Fault-tolerance: recovery protocol for running transactions.</li>
                                    <li>Optimistic and Pessimistic transactions.</li>
                                    <li>Deadlock-free transactions</li>
                                    <li>Deadlock detection mechanism</li>
                                </ul>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.gridgain.com/resources/webinars/distributed-acid-transactions-apache-ignite"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.gridgain.com/resources/webinars/distributed-acid-transactions-apache-ignite"
                                         data-a2a-title="Distributed ACID Transactions in Apache Ignite">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="SQL-queries-meetup-amsterdam">
                                <h3>Turbocharge your SQL queries in-memory with
                                    Apache® Ignite®&nbsp;<a href="/events.html#SQL-queries-meetup-amsterdam"
                                                            aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Meetup, Amsterdam, Netherlands, Speaker - Denis Magda</div>
                                <div class="event-date">June 20, 2017 @6:30pm</div>
                                <p>
                                    During this session, Denis will explain how Apache Ignite handles auto-loading of
                                    SQL schema and data from MySQL,
                                    supports SQL indexes, compound indexes support, and various forms of SQL queries
                                    including distributed SQL joins.
                                    He will demostrate how to:
                                </p>
                                <ul class="page-list">
                                    <li>Import SQL schema from MySQL and preserve the data sets stored in MySQL and
                                        Apache Ignite in sync.
                                    </li>
                                    <li>Connect to Apache Ignite from your favourite tool or application language using
                                        ODBC or JDBC driver and start
                                        talking to a clustered data using familiar statements like SELECT, UPDATE,
                                        DELETE or INSERT.
                                    </li>
                                    <li>Boost application performance 1,000x and scale to over 1 billion transactions
                                        per second with in-memory storage of hundreds
                                        of TB's of data for your SQL-based applications.
                                    </li>
                                </ul>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/MySQL-User-Group-NL/events/240545280/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/MySQL-User-Group-NL/events/240545280/"
                                         data-a2a-title="Turbocharge your SQL queries in-memory with Apache® Ignite®">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="meetup-an-overview-of-ignite-persistent-store">
                                <h3>Apache Ignite Community Meetup - An Overview of
                                    Donated Ignite Persistent Store Feature&nbsp;<a
                                            href="/events.html#meetup-an-overview-of-ignite-persistent-store"
                                            aria-label="Event Meetup"><i class="fas fa-anchor"></i></a></h3>
                                <div class="event-date">Meetup, GoToMeeting, Speaker - Denis Magda</div>
                                <div class="event-date">June 16, 2017 @8:00am</div>
                                <p>
                                    Apache Ignite Community decided to gather and dive into the details of Ignite
                                    Persistent Store donation to the main code base.
                                    It’s planned to give a general overview of the store learning more about its main
                                    capabilities and features as well as go over implementation details referring to the
                                    source code.

                                    To join use the details below.

                                    Please join my meeting from your computer, tablet or smartphone.<br/>
                                    <a href="https://global.gotomeeting.com/join/818661157">https://global.gotomeeting.com/join/818661157</a>

                                    You can also dial in using your phone.<br/>
                                    United States: +1 (571) 317-3112

                                    Access Code: 818-661-157
                                </p>

                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="http://apache-ignite-developers.2346864.n4.nabble.com/DISCUSS-Webinar-for-Ignite-Persistent-Store-walk-through-td18677.html#a18767"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="http://apache-ignite-developers.2346864.n4.nabble.com/DISCUSS-Webinar-for-Ignite-Persistent-Store-walk-through-td18677.html#a18767"
                                         data-a2a-title="Apache Ignite Community Meetup - An Overview of Donated Ignite Persistent Store Feature">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/conferences.svg" alt="Conferences">
                                <p>Conferences</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="sparksummit2017-apacheignite-apachespark">
                                <h3>Apache Ignite and Apache Spark: This is Where
                                    Fast Data Meets the IoT&nbsp;<a
                                            href="/events.html#sparksummit2017-apacheignite-apachespark"
                                            aria-label="Event Meetup"><i class="fas fa-anchor"></i></a></h3>
                                <div class="event-date">Spark Summit 2017, San Francisco, CA. Speaker - Denis Magda</div>
                                <div class="event-date">June 07, 2017 @3:20pm</div>
                                <p>
                                    During this session, Denis will explain and demonstrate how to build a Fast Data
                                    solution that will receive
                                    endless streams from the IoT side and will be capable of processing the streams in
                                    real-time.
                                    In particular, you will learn the following:
                                </p>
                                <ul class="page-list">
                                    <li>Data streaming to an Apache Ignite cluster from embedded devices powered by
                                        Apache Mynewt.
                                    </li>
                                    <li>Real-time data processing with Apache Spark and Apache Ignite.</li>
                                </ul>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://spark-summit.org/2017/events/apache-spark-and-apache-ignite-where-fast-data-meets-the-iot/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://spark-summit.org/2017/events/apache-spark-and-apache-ignite-this-is-where-fast-data-meets-the-iot/"
                                         data-a2a-title="Apache Ignite and Apache Spark: This is Where Fast Data Meets the IoT">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinars">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="apacher-ignitetm-whats-new-version-201">
                                <h3>Apache® Ignite® 2.0: Prelude to a Distributed SQL
                                    Database&nbsp;<a href="/events.html#apacher-ignitetm-whats-new-version-201"
                                                     aria-label="Event Meetup"><i class="fas fa-anchor"></i></a></h3>
                                
                                <div class="event-date">Webinar, Denis Magda</div>
                                <div class="event-date">June 07, 2017 @11:00am PT / 2:00pm ET</div>
                                <p>
                                    Apache Ignite 2.0 is a turnkey release which blends a distributed in-memory SQL
                                    database (IMDB) and an in-memory key-value data
                                    grid (IMDG) under one data management platform. It is also a necessary stepping
                                    stone ahead of Ignite 2.1 release
                                    which will be focused around the native disk persistence, allowing Ignite operate
                                    equally well in-memory and on-disk.

                                    You will learn how the off-heap memory architecture in Ignite has been re-engineered
                                    to better
                                    support SSD or Flash-based persistence. The new off-heap design uses a page-based
                                    approach with
                                    slab memory allocation, which may be optionally mapped to a persistent storage as
                                    is, without
                                    having to serialize or deserialize the data. The new architecture automatically
                                    handles memory
                                    fragmentation, significantly accelerates SQL, and almost completely removes costly
                                    garbage
                                    collection pauses.

                                    You will also learn how to create and alter SQL indexes at runtime, as well as
                                    utilize DDL to
                                    update distributed data sets using standard SQL syntax. We will also cover B+Tree
                                    data structures
                                    used to store SQL indexes off-heap.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.gridgain.com/resources/webinars/apacher-ignitetm-20-prelude-distributed-sql-database"
                                           target="_blank" rel="noopener">Register for this webinar</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.gridgain.com/resources/webinars/apacher-ignitetm-20-prelude-distributed-sql-database"
                                         data-a2a-title="Apache® Ignite® 2.0: Prelude to a Distributed SQL Database">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/conferences.svg" alt="Conferences">
                                <p>Conference</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="apachecon2017-apacheignite-apachespark">
                                <h3>Apache Ignite and Apache Spark: This is Where
                                    Fast Data Meets the IoT&nbsp;<a
                                            href="/events.html#apachecon2017-apacheignite-apachespark"
                                            aria-label="Event Meetup"><i class="fas fa-anchor"></i></a></h3>
                                <div class="event-date">ApacheCon North America, Miami, FL. Speaker - Denis Magda</div>
                                <div class="event-date">May 18, 2017 @2:40pm</div>
                                <p>
                                    During this session, Denis will explain and demonstrate how to build a Fast Data
                                    solution that will receive
                                    endless streams from the IoT side and will be capable of processing the streams in
                                    real-time.
                                    In particular, you will learn the following:
                                </p>
                                <ul class="page-list">
                                    <li>Data streaming to an Apache Ignite cluster from embedded devices powered by
                                        Apache Mynewt.
                                    </li>
                                    <li>Real-time data processing with Apache Spark and Apache Ignite.</li>
                                </ul>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://apachecon2017.sched.com/event/9zot" target="_blank"
                                           rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://apachecon2017.sched.com/event/9zot"
                                         data-a2a-title="Apache Ignite and Apache Spark: This is Where Fast Data Meets the IoT">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/conferences.svg" alt="Conferences">
                                <p>Conference</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="apachebigdata2017-apacheignite-sql-grid">
                                <h3>Apache Ignite SQL Grid: Hot Blend of Traditional
                                    SQL and Swift Data Grid&nbsp;<a
                                            href="/events.html#apachebigdata2017-apacheignite-sql-grid"
                                            aria-label="Event Meetup"><i class="fas fa-anchor"></i></a></h3>
                                <div class="event-date">ApacheCon North America, Miami, FL. Speaker - Denis Magda</div>
                                <div class="event-date">May 18, 2017 @10:00am</div>
                                <p>
                                    In-memory data grids bring exceptional performance and scalability gains to
                                    applications built on top of them.
                                    The applications truly achieve 10x more performance improvement and become easily
                                    scalable and fault-tolerant
                                    thanks to the unique data grids architecture. However, because of this particular
                                    architecture,
                                    a majority of data grids have to sacrifice traditional SQL support requiring
                                    application developers to
                                    completely rewrite their SQL-based code to support data grid specific APIs.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://apachebigdata2017.sched.com/event/A01a?iframe=no"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://apachebigdata2017.sched.com/event/A01a?iframe=no"
                                         data-a2a-title="Apache Ignite SQL Grid: Hot Blend of Traditional SQL and Swift Data Grid">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="Miami-Hadoop-User-Group">
                                <h3>Apache Ignite and Apache Spark: Where Fast Data
                                    Meets the IoT&nbsp;<a href="/events.html#Miami-Hadoop-User-Group"
                                                          aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Miami Hadoop User Group, Miami, FL. Speaker - Denis Magda</div>
                                <div class="event-date">May 17, 2017 @6:00pm</div>
                                <p>
                                    During this session, Denis will explain and demonstrate how to build a Fast Data
                                    solution that will receive
                                    endless streams from the IoT side and will be capable of processing the streams in
                                    real-time.
                                    In particular, you will learn the following:
                                </p>
                                <ul class="page-list">
                                    <li>Data streaming to an Apache Ignite cluster from embedded devices powered by
                                        Apache Mynewt.
                                    </li>
                                    <li>Real-time data processing with Apache Spark and Apache Ignite.</li>
                                </ul>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/Miami-Hadoop-User-Group/events/239713172/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/Miami-Hadoop-User-Group/events/239713172/"
                                         data-a2a-title="Apache Ignite and Apache Spark: Where Fast Data Meets the IoT">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="benchmarking-apache-ignite-still-keeps-ahead-of-ha-1">
                                <h3>Benchmarking: Apache Ignite Still Keeps Ahead Of
                                    Hazelcast&nbsp;<a
                                            href="/events.html#benchmarking-apache-ignite-still-keeps-ahead-of-ha-1"
                                            aria-label="Event Meetup"><i class="fas fa-anchor"></i></a></h3>
                                <div class="event-date">Blog, Denis Magda</div>
                                <div class="event-date">May 12, 2017</div>
                                <p>
                                    There's an ad saying that Hazelcast is up to 50% faster than Apache Ignite, but that
                                    may not be true anymore. Check out this benchmark to get the true story.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://dzone.com/articles/benchmarking-apache-ignite-still-keeps-ahead-of-ha-1"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://dzone.com/articles/benchmarking-apache-ignite-still-keeps-ahead-of-ha-1"
                                         data-a2a-title="Benchmarking: Apache Ignite Still Keeps Ahead Of Hazelcast">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="Apache-Flink-London-Meetup">
                                <h3>Apache Flink meets Apache Ignite&nbsp;<a
                                        href="/events.html#Apache-Flink-London-Meetup" aria-label="Event Meetup"><i
                                        class="fa fa-anchor"></i></a></h3>
                                <div class="event-date">Apache Flink London Meetup, Speaker - Akmal B. Chaudhri</div>
                                <div class="event-date">May 10, 2017 @6:30pm</div>
                                <p>
                                    Akmal B. Chaudhri will be giving a quick introduction of Apache Ignite, its main
                                    capabilities and how it can add value to your pipelines.
                                    Akmal is a Technical Evangelist, specializing in Big Data, NoSQL and NewSQL database
                                    technologies.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/Apache-Flink-London-Meetup/events/239663941/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/Apache-Flink-London-Meetup/events/239663941/"
                                         data-a2a-title="Apache Flink meets Apache Ignite">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/conferences.svg" alt="Conference">
                                <p>Conference</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="apacheignite-oscon-2017">
                                <h3>The next phase of distributed systems with Apache
                                    Ignite&nbsp;<a href="/events.html#apacheignite-oscon-2017"
                                                   aria-label="Event Meetup"><i class="fas fa-anchor"></i></a></h3>
                                <div class="event-date">OSCON, Austin, TX. Speaker - Dani Traphagen</div>
                                <div class="event-date">May 10, 2017 @5:05pm</div>
                                <p>
                                    Is memory the new disk? If so, what does this mean for the future of database
                                    systems and persistence as we know it?
                                    Will all our data(bases) still belong to us? Dani Traphagen explores the key
                                    paradigm shifts currently impacting those
                                    Fortune 500 companies that view disk as a bottleneck. Dani explains how to optimize
                                    toward the cache, leveraging it for low-latency,
                                    highly available microservices architectures with the
                                    hot-and-fresh-out-of-the-kitchen open source project Apache Ignite.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://conferences.oreilly.com/oscon/oscon-tx/public/schedule/detail/60801"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://conferences.oreilly.com/oscon/oscon-tx/public/schedule/detail/60801"
                                         data-a2a-title="The next phase of distributed systems with Apache Ignite">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinars">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="apacher-ignitetm-real-time-processing-iot-generated-streaming-data">
                                <h3>Apache® Ignite®: Real-Time Processing of
                                    IoT-Generated Streaming Data&nbsp;<a
                                            href="/events.html#apacher-ignitetm-real-time-processing-iot-generated-streaming-data"
                                            aria-label="Event Meetup"><i class="fas fa-anchor"></i></a></h3>
                                <div class="event-date">Webinar, Denis Magda</div>
                                <div class="event-date">May 10, 2017 @11:00am</div>
                                <p>
                                    During this 1-hour webinar, Denis will explain and demonstrate how to build a fast
                                    data solution that can receive endless IoT-generated streams and
                                    process them in real-time using Apache Ignite's distributed in-memory computing
                                    platform. In particular, you will learn the following:
                                </p>
                                <ul class="page-list">
                                    <li>How to stream data to an Apache Ignite cluster from embedded devices</li>
                                    <li>How to conduct real-time data processing on this stream using Apache Ignite</li>
                                </ul>

                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.gridgain.com/resources/webinars/apacher-ignitetm-real-time-processing-iot-generated-streaming-data"
                                           target="_blank" rel="noopener">Register for this webinar</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.gridgain.com/resources/webinars/apacher-ignitetm-real-time-processing-iot-generated-streaming-data"
                                         data-a2a-title="Apache® Ignite®: Real-Time Processing of IoT-Generated Streaming Data">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinars">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="apache-ignite-20-released">
                                <h3>Apache Ignite 2.0 Released&nbsp;<a
                                        href="/events.html#apache-ignite-20-released" aria-label="Event Meetup"><i
                                        class="fa fa-anchor"></i></a></h3>
                                <div class="event-date">May 05, 2017</div>
                                <p>
                                    This major release was under the development for a long time. The community spent
                                    almost a year incorporating tremendous changes to the legacy Apache Ignite 1.x
                                    architecture.
                                    Curious why are we so boastful about this? Some of the main features of Apache
                                    Ignite 2.0 are:
                                </p>
                                <ul class="page-list">
                                    <li>Re-engineered Off-Heap Memory Architecture</li>
                                    <li>Data Definition Language</li>
                                    <li>Machine Learning Grid Beta - Distributed Algebra</li>
                                    <li>Integration with Spring Data, Rocket MQ, Hibernate 5</li>
                                    <li>Enchanced Inite.Net and Ignite C++ APIs</li>
                                </ul>
                                <p>
                                    See <a href="https://ignite.apache.org/releases/2.0.0/release_notes.html">release
                                    notes</a> for a full list of the changes.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://blogs.apache.org/ignite/entry/apache-ignite-2-0-redesigned"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://blogs.apache.org/ignite/entry/apache-ignite-2-0-redesigned"
                                         data-a2a-title="Apache Ignite 2.0 Released">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/conferences.svg" alt="Conferences">
                                <p>Conferences</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="presenting-apache-ignite-at-percona-live-2017">
                                <h3>Accelerate MySQL® for Demanding OLAP and OLTP Use
                                    Cases with Apache® Ignite™&nbsp;<a
                                            href="/events.html#presenting-apache-ignite-at-percona-live-2017"
                                            aria-label="Event Meetup"><i class="fas fa-anchor"></i></a></h3>
                                <div class="event-date">Percona Live 2017, Santa Clara, CA, USA. Speaker - Nikita Ivanov</div>
                                <div class="event-date">April 25, 2017 @1:20pm PT</div>
                                <p>
                                    How to overcome the limitations of the MySQL architecture for big data analytics by
                                    leveraging the parallel distributed
                                    computing and ANSI SQL-99 capabilities of Apache Ignite. How to use Apache Ignite as
                                    an advanced high performance cache platform for hot data.
                                    The strategic benefits of using Apache Ignite® instead of memcache, Redis®,
                                    Elastic®, or Apache® Spark™.
                                    At the end of the session, you will understand how incorporating Apache Ignite into
                                    your architecture can empower dramatically faster analytics and
                                    transactions when augmenting your current MySQL infrastructure.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.percona.com/live/17/sessions/accelerate-mysql®-demanding-olap-and-oltp-use-cases-apache®-ignite™-0"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.percona.com/live/17/sessions/accelerate-mysql®-demanding-olap-and-oltp-use-cases-apache®-ignite™-0"
                                         data-a2a-title="Accelerate MySQL® for Demanding OLAP and OLTP Use Cases with Apache® Ignite®">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinar">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="apacher-ignitetm-memory-backbone-microservices-based-architectures">
                                <h3>Apache® Ignite™: An In-Memory Backbone for
                                    Microservices-Based Architectures&nbsp;<a
                                            href="/events.html#apacher-ignitetm-memory-backbone-microservices-based-architectures"
                                            aria-label="Event Meetup"><i class="fas fa-anchor"></i></a></h3>
                                <div class="event-date">Webinar, Denis Magda</div>
                                <div class="event-date">April 19, 2017 @11:00am PT / 2:00pm ET</div>
                                <p>
                                    When systems that rely on microservices are used under high load or have to process
                                    rapidly growing volumes of data,
                                    they usually face the same issues and difficulties as applications that are not
                                    microservices-based. Disk-backed databases become a
                                    performance bottleneck as they can no longer keep up with growing volumes of data
                                    that have to be stored and processed in parallel.
                                    This degrades application performance and ultimately causes instability.<br/>

                                    This webinar discusses how in-memory computing using Apache® Ignite® can overcome
                                    the performance limitations
                                    common to microservices architectures built using traditional database
                                    architectures.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.gridgain.com/resources/webinars/apacher-ignitetm-memory-backbone-microservices-based-architectures"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.gridgain.com/resources/webinars/apacher-ignitetm-memory-backbone-microservices-based-architectures"
                                         data-a2a-title="Apache® Ignite®: An In-Memory Backbone for Microservices-Based Architectures">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/conferences.svg" alt="Conference">
                                <p>Conference</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="presenting-apache-ignite-performance-jpoint-2017">
                                <h3>Scalability in Distributed In-Memory Systems&nbsp;<a
                                        href="/events.html#presenting-apache-ignite-performance-jpoint-2017"
                                        aria-label="Event Meetup"><i class="fas fa-anchor"></i></a></h3>
                                <div class="event-date">JPoint 2017, Moscow, Russia. Speaker - Vladimir Ozerov</div>
                                <div class="event-date">April 7, 2017 @15:30pm</div>
                                <p>
                                    In-memory computing frameworks and products rely on a simple horizontal scalability
                                    property - the more machines we have in a cluster the better the performance.
                                    However, a reasonable question arises. If I add a second machine to the cluster will
                                    I get 2x improvement? If there are 10 machines in a cluster should I expect overall
                                    10x performance increase?
                                    Is it true and if, yes, if the guarantee meets all the time?
                                    Join Yakov on his talk to get answers on these questions and learn more about
                                    scalability and concurrency concepts implemented in Apache Ignite In-Memory Data
                                    Fabric.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://jpoint.ru/talks/scalability-in-distributed-in-memory-systems/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://jpoint.ru/talks/scalability-in-distributed-in-memory-systems/"
                                         data-a2a-title="Scalability in Distributed In-Memory Systems, Speaker - Vladimir Ozerov">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="presenting-apache-ignite-performance-jbreak-2017">
                                <h3>Scalability in Distributed In-Memory Systems&nbsp;<a
                                        href="/events.html#presenting-apache-ignite-performance-jbreak-2017"
                                        aria-label="Event Meetup"><i class="fas fa-anchor"></i></a></h3>
                                <div class="event-date">JBreak 2017, Novosibirsk, Russia. Speaker - Yakov Zhdanov</div>
                                <div class="event-date">April 4, 2017 @15:15pm</div>
                                <p>
                                    In-memory computing frameworks and products rely on a simple horizontal scalability
                                    property - the more machines we have in a cluster the better the performance.
                                    However, a reasonable question arises. If I add a second machine to the cluster will
                                    I get 2x improvement? If there are 10 machines in a cluster should I expect overall
                                    10x performance increase?
                                    Is it true and if, yes, if the guarantee meets all the time?
                                    Join Yakov on his talk to get answers on these questions and learn more about
                                    scalability and concurrency concepts implemented in Apache Ignite In-Memory Data
                                    Fabric.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://2017.jbreak.ru/en/talks/scalability-in-distributed-in-memory-systems/"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://2017.jbreak.ru/en/talks/scalability-in-distributed-in-memory-systems/"
                                         data-a2a-title="Scalability in Distributed In-Memory Systems, Speaker - Yakov Zhdanov">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="presenting-apache-ignite-sql-grid-pgconf-2017">
                                <h3>Presenting Apache Ignite SQL Grid at PGConf US
                                    2017&nbsp;<a href="/events.html#presenting-apache-ignite-sql-grid-pgconf-2017"
                                                 aria-label="Event Meetup"><i class="fas fa-anchor"></i></a></h3>
                                <div class="event-date">Presentation, Denis Magda</div>
                                <div class="event-date">March 30, 2017 @14:00pm EDT</div>
                                <p>
                                    Learn how to boost performance 1,000x and scale to over 1 billion transactions per
                                    second with in-memory storage of hundreds
                                    of TBs of data for your SQL-based applications. Apache Ignite is a unique NewSQL
                                    platform that is built on top of a distributed
                                    key-value storage and provides full-fledged SQL support. Denis will show how Apache
                                    Ignite handles auto-loading of SQL schema and data,
                                    SQL indexes, compound indexes support, and various forms of SQL queries including
                                    distributed SQL joins.
                                    It will be demonstrated how to connect to Apache Ignite from your favorite tool or
                                    application language using ODBC or JDBC driver and
                                    start talking to a clustered data using familiar statements like SELECT, UPDATE,
                                    DELETE or INSERT.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="http://pgconf.us/conferences/2017/program/proposals/340"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="http://pgconf.us/conferences/2017/program/proposals/340"
                                         data-a2a-title="Presenting Apache Ignite SQL Grid at PGConf US 2017">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="presenting-apache-ignite-sql-grid">
                                <h3>Presenting Apache Ignite SQL Grid at Big Data
                                    Bootcamp&nbsp;<a href="/events.html#presenting-apache-ignite-sql-grid"
                                                     aria-label="Event Meetup"><i class="fas fa-anchor"></i></a></h3>
                                
                                <div class="event-date">Presentation, Denis Magda</div>
                                <div class="event-date">March 28, 2017 @1:00pm PT</div>
                                <p>
                                    In this presentation, Denis will introduce Apache Ignite SQL Grid component that
                                    combines the best of two worlds - performance and scalability of data grids and
                                    traditional ANSI-99 SQL support of relational databases. Moreover, Denis will take
                                    an existing application that works with a relational database and
                                    will show how to run it on top of Apache Ignite with minimum efforts.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://blogs.apache.org/ignite/entry/presenting-apache-ignite-sql-grid"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://blogs.apache.org/ignite/entry/presenting-apache-ignite-sql-grid"
                                         data-a2a-title="Presenting Apache Ignite SQL Grid at Big Data Bootcamp">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/conferences.svg" alt="Conference">
                                <p>Conference</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="presenting-apache-ignite-codemotion-rome-2017">
                                <h3>Presenting Apache Ignite at Codemotion Rome 2017&nbsp;<a
                                        href="/events.html#presenting-apache-ignite-codemotion-rome-2017"
                                        aria-label="Event Meetup"><i class="fas fa-anchor"></i></a></h3>
                                <div class="event-date">Presentation, Mandhir Gidda</div>
                                <div class="event-date">March 24, 2017 @15:00pm</div>
                                <p>
                                    Join and learn about Apache Ignite which is a high-performance, integrated and
                                    distributed in-memory platform for
                                    computing and transacting on large-scale data sets in real-time, orders of magnitude
                                    faster than possible with traditional
                                    disk-based or flash technologies.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="http://rome2017.codemotionworld.com/wp-content/themes/event/detail-talk.php?detail=5799"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="http://rome2017.codemotionworld.com/wp-content/themes/event/detail-talk.php?detail=5799"
                                         data-a2a-title="Presenting Apache Ignite at Codemotion Rome 2017">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinars">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="apacher-sql-grid-webinar">
                                <h3>The Apache&reg; Ignite&reg; SQL Grid: A Hot Blend
                                    of Traditional SQL and In-Memory Data Grids&nbsp;<a
                                            href="/events.html#apacher-sql-grid-webinar" aria-label="Event Meetup"><i
                                            class="fa fa-anchor"></i></a></h3>
                                <div class="event-date">Webinar, Denis Magda</div>
                                <div class="event-date">March 15, 2017 @11:00am PT / 2:00pm ET</div>
                                <p>
                                    During this webinar, Apache Ignite PMC chair Denis Magda will introduce the SQL Grid
                                    component of Apache&reg; Ignite&reg;. He will discuss:
                                </p>
                                <ul class="page-list">
                                    <li>ANSI-99 SQL queries including distributed joins</li>
                                    <li>Creating and leveraging SQL indices</li>
                                    <li>Data modification with ANSI-99 DML (INSERT, UPDATE, DELETE, etc.)</li>
                                    <li>Using Apache Ignite's JDBC and ODBC drivers</li>
                                </ul>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.gridgain.com/company/news/events/gridgain-webinar-apacher-ignitetm-sql-grid-hot-blend-traditional-sql-and-memory"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.gridgain.com/company/news/events/gridgain-webinar-apacher-ignitetm-sql-grid-hot-blend-traditional-sql-and-memory"
                                         data-a2a-title="The Apache&reg; Ignite&reg; SQL Grid: A Hot Blend of Traditional SQL and In-Memory Data Grids">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="london_ignite_meetup_feb_23">
                                <h3>Apache Ignite: Transform batch-based system into
                                    swift real-time solution&nbsp;<a href="/events.html#london_ignite_meetup_feb_23"
                                                                     aria-label="Event Meetup"><i
                                            class="fa fa-anchor"></i></a></h3>
                                <div class="event-date">Apache Ignite London Meetup</div>
                                <div class="event-date">February 23, 2017</div>
                                <p>
                                    IHS Markit will present first on how they have been using Apache Ignite on several
                                    major projects.
                                    The 2nd part of the meetup will be led by Mandhir Gidda who's been working with
                                    in-memory technologies for nearly 10 years.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.meetup.com/Apache-Ignite-London/events/237189063"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.meetup.com/Apache-Ignite-London/events/237189063"
                                         data-a2a-title="Apache Ignite: Transform batch-based system into swift real-time solution">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinar">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="apacher-ignitetm-web-console">
                                <h3>The Apache&reg; Ignite&reg; Web Console:
                                    Automating RDBMS Integration&nbsp;<a
                                            href="/events.html#apacher-ignitetm-web-console"
                                            aria-label="Event Meetup"><i class="fas fa-anchor"></i></a></h3>
                                <div class="event-date">Webinar, Denis Magda</div>
                                <div class="event-date">February 15, 2017 @11:00am PT / 2:00pm ET</div>
                                <p>
                                    During this webinar, Apache Ignite PMC chair Denis Magda will demonstrate how Apache&reg;
                                    Ignite&reg; Web Console enables automatic integration of Apache Ignite and your
                                    RDBMS. He will show you how to:
                                </p>
                                <ul class="page-list">
                                    <li>Import a RBMS schema and map it to the Apache Ignite caches</li>
                                    <li>Setup indexes</li>
                                    <li>Create a Java POJO</li>
                                    <li>Download a ready-to-run Apache Ignite based project that will be fully
                                        integrated with the RDBMS
                                    </li>
                                </ul>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.gridgain.com/resources/webinars/apacher-ignitetm-web-console-automating-rdbms-integration"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.gridgain.com/resources/webinars/apacher-ignitetm-web-console-automating-rdbms-integration"
                                         data-a2a-title="The Apache&reg; Ignite&reg; Web Console: Automating RDBMS Integration">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/webinars.svg" alt="Webinar">
                                <p>Webinar</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="deploying-apacher-ignitetm-and-gridgain-top-7-faqs">
                                <h3>Deploying Apache&reg; Ignite&reg; – Top 7 FAQs&nbsp;<a
                                        href="/events.html#deploying-apacher-ignitetm-and-gridgain-top-7-faqs"
                                        aria-label="Event Meetup"><i class="fas fa-anchor"></i></a></h3>
                                <div class="event-date">Webinar, Christos Erotocritou and Rachel Pedreschi</div>
                                <div class="event-date">January 25, 2017 @11:00am PT / 2:00pm ET</div>
                                <p>
                                    Christos Erotocritou and Rachel Pedreschi have helped numerous customers get started
                                    with Apache&reg; Ignite&reg; and GridGain. During this 1-hour webinar, they will
                                    share answers to the most common questions asked prior to deployment.
                                    They will also provide guidance that will save you time and make deploying Apache
                                    Ignite a more enjoyable experience.
                                </p>
                                <div class="row">
<div class="col-md-9 news-readmore">
                                    <p>
                                        <a href="https://www.gridgain.com/resources/webinars/deploying-apacher-ignitetm-and-gridgain-top-7-faqs"
                                           target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                    </p>
                                </div>
                                <div>
                                    <!-- AddToAny BEGIN -->
                                    <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                         data-a2a-url="https://www.gridgain.com/resources/webinars/deploying-apacher-ignitetm-and-gridgain-top-7-faqs"
                                         data-a2a-title="Deploying Apache&reg; Ignite&reg; – Top 7 FAQs">
                                        <a aria-label="Twitter" class="a2a_button_twitter"></a>
                                        <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                                        <a aria-label="Facebook" class="a2a_button_facebook"></a>
                                        <a aria-label="Add To Any" class="a2a_dd"
                                           href="https://www.addtoany.com/share"></a>
                                    </div>
                                    <!-- AddToAny END -->
                                </div>
                                </div>
                            </section>
                        </div>
                    </div>
                </div>
                <div class="tab-pane" id="events-2016">
                    
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/conferences.svg" alt="Conference">
                                <p>Conference</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="apache-big-data-europe-nov-16-2">
                                <h3>Shared Memory Layer for Spark
                                    Applications&nbsp;<a href="/events.html#apache-big-data-europe-nov-16-2"
                                                         aria-label="Event Meetup"><i class="fas fa-anchor"></i></a></h3>
                                <div class="event-date">Dmitriy Setrakyan, Apache Big Data Europe</div>
                                <div class="event-date">November 16, 2016</div>
                                <p>
                                    Join Dmitriy Setrakyan, Apache Ignite Project Management Committee Chairman and
                                    co-founder and Chief Product Officer at GridGain,
                                    to learn more about the need to share state across different Spark jobs and
                                    applications and several technologies that make it possible, including Tachyon and
                                    Apache Ignite.
                                </p>
                                <p>
                                    <a href="https://apachebigdataeu2016.sched.org/event/8m2O/shared-memory-layer-for-spark-applications-dmitriy-setrakyan-gridgain"
                                       target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                </p>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/conferences.svg" alt="Conference">
                                <p>Conference</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="apache-big-data-europe-nov-16-1">
                                <h3>Shared Memory Layer and Faster SQL for Spark
                                    Applications&nbsp;<a href="/events.html#apache-big-data-europe-nov-16-1"
                                                         aria-label="Event Meetup"><i class="fas fa-anchor"></i></a></h3>
                                <div class="event-date">Dmitriy Setrakyan, Apache Big Data Europe</div>
                                <div class="event-date">November 16, 2016</div>
                                <p>
                                    Learn the importance of In Memory File Systems, Shared In-Memory RDDs with Apache
                                    Ignite, as well as the need to index data in-memory for fast SQL execution.
                                </p>
                                <p>
                                    <a href="https://apachebigdataeu2016.sched.org/event/8m2i/shared-memory-layer-and-faster-sql-for-spark-applications-dmitriy-setrakyan-gridgain"
                                       target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                </p>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/conferences.svg" alt="Conference">
                                <p>Conference</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="apache-big-data-europe-nov-15">
                                <h3>Apache Ignite - Path to Converged Data Platform&nbsp;<a
                                        href="/events.html#apache-big-data-europe-nov-15" aria-label="Event Meetup"><i
                                        class="fa fa-anchor"></i></a></h3>
                                <div class="event-date">Dmitriy Setrakyan, Apache Big Data Europe</div>
                                <div class="event-date">November 15, 2016</div>
                                <p>
                                    The presentation will take the audience on a roadmap discovery of Ignite moving to a
                                    converged storage model, supporting both, analytical and transactional data sets.
                                </p>
                                <p>
                                    <a href="https://apachebigdataeu2016.sched.org/event/8TzM/apache-ignite-path-to-converged-data-platform-dmitriy-setrakyan-gridgain"
                                       target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                </p>
                            </section>
                        </div>
                    </div>
                    
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="london-meetup-june-2016">
                                <h3>Apache Ignite London Meetup&nbsp;<a
                                        href="/events.html#london-meetup-june-2016" aria-label="Event Meetup"><i
                                        class="fa fa-anchor"></i></a></h3>
                                <div class="event-date">July 13, 2016</div>
                                <p>
                                    Join us for a technical session to look at Apache Ignite and hear from BlackRock on
                                    how they believe it will
                                    solve their application performance & scalability challenges.
                                </p>
                                <p>
                                    Please RSVP on <a href="https://secure.meetup.com/register/?ctx=ref" target="_blank"
                                                      rel="noopener">Meetup.com</a>.
                                </p>
                                <p>
                                    <a href="http://www.meetup.com/Apache-Ignite-London/events/231963106/"
                                       target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                </p>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/meetup.svg" alt="Meetup">
                                <p>Meetup</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="nyc-meetup-june-2016">
                                <h3>Apache Ignite NYC Meetup&nbsp;<a
                                        href="/events.html#nyc-meetup-june-2016" aria-label="Event Meetup"><i
                                        class="fa fa-anchor"></i></a></h3>
                                <div class="event-date">June 28, 2016</div>
                                <p>
                                    Apache Ignite PMC member, Nikita Ivanov will be presenting a deep dive on Apache
                                    Ignite at our NYC meetup,
                                    Tuesday, June 28 at Work Market, 240 W 37th St, 9th Floor, New York, NY.
                                </p>
                                <p>
                                    Please RSVP on <a href="http://www.meetup.com/mysqlnyc/events/231578906/"
                                                      target="_blank" rel="noopener">Meetup.com</a>. Space is limited
                                    and is filling up fast!
                                </p>
                                <p>
                                    <a href="http://www.meetup.com/mysqlnyc/events/231578906/" target="_blank"
                                       rel="noopener" aria-label="Event Meetup">Read more</a>
                                </p>
                            </section>
                        </div>
                    </div>
                    
                </div>
                <div class="tab-pane" id="events-2015">
                    
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/release.svg" alt="Release">
                                <p>Release</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="release-1.5.0-b1">
                                <h3>Apache Ignite 1.5.0-b1 Early Access Released&nbsp;<a
                                        href="/events.html#release-1.5.0-b1" aria-label="Event Meetup"><i
                                        class="fa fa-anchor"></i></a></h3>
                                <div class="event-date">December 12, 2015</div>
                                <p>
                                    This early access version includes support for .NET and C++, Streamer for MQTT,
                                    Twitter, and Apache Flume,
                                    compact binary protocol, performance improvements for SQL queries, transactions, and
                                    more.
                                </p>
                                <p>
                                    <a href="/download.cgi" target="_blank" rel="noopener">Download Ignite 1.5.0-b1</a>
                                </p>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/release.svg" alt="Release">
                                <p>Release</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="release-1.4.0">
                                <h3>Apache Ignite 1.4.0 Released&nbsp;<a
                                        href="/events.html#release-1.4.0" aria-label="Event Meetup"><i
                                        class="fa fa-anchor"></i></a></h3>
                                <div class="event-date">September 28, 2015</div>
                                <p>
                                    This is the first Apache Ignite release since the project graduated from incubation
                                    in
                                    August, 2015. This new release includes SSL support to communication and discovery,
                                    support for log4j2, significantly faster JDBC driver implementation,
                                    fixes for SQL queries group index logic, auto-retries for cache operations in
                                    recoverable cases and more.
                                </p>
                                <p>
                                    <a href="/download.cgi" target="_blank" rel="noopener">Download Ignite 1.4.0</a>
                                </p>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/release.svg" alt="Release">
                                <p>Release</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="apache-ignite-graduation">
                                <h3>Apache Ignite Graduated to a Top-Level Project&nbsp;<a
                                        href="/events.html#apache-ignite-graduation" aria-label="Event Meetup"><i
                                        class="fa fa-anchor"></i></a></h3>
                                <div class="event-date">August 25, 2015</div>
                                <p>
                                    The Apache Software Foundation (ASF), the all-volunteer developers, stewards, and
                                    incubators of more than 350
                                    Open Source projects and initiatives, announced today that Apache® Ignite® has
                                    graduated from the Apache Incubator
                                    to become a Top-Level Project (TLP), signifying that the project's community and
                                    products have been well-governed
                                    under the ASF's meritocratic process and principles.
                                </p>
                                <p>
                                    <a href="http://globenewswire.com/news-release/2015/08/25/763148/10146997/en/The-Apache-Software-Foundation-Announces-Apache-tm-Ignite-tm-as-a-Top-Level-Project.html"
                                    target="_blank" rel="noopener" aria-label="Event Meetup">Read more</a>
                                </p>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/release.svg" alt="Release">
                                <p>Release</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="release-1.3.0">
                                <h3>Apache Ignite 1.3.0 Released&nbsp;<a
                                        href="/events.html#release-1.3.0" aria-label="Event Meetup"><i
                                        class="fa fa-anchor"></i></a></h3>
                                <div class="event-date">July 21, 2015</div>
                                <p>
                                    This new release includes integration with Apache YARN for data center and resource
                                    management, fixes for JTA transactions, Hibernate L2 Cache improvements, and more.
                                </p>
                                <p>
                                    <a href="/download.cgi" target="_blank" rel="noopener">Download Ignite 1.3.0</a>
                                </p>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/release.svg" alt="Release">
                                <p>Release</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="release-1.2.0">
                                <h3>Apache Ignite 1.2.0 Released&nbsp;<a
                                        href="/events.html#release-1.2.0" aria-label="Event Meetup"><i
                                        class="fa fa-anchor"></i></a></h3>
                                <div class="event-date">June 29, 2015</div>
                                <p>
                                    This new release includes shared RDD for Apache Spark (based on Ignite Data Grid),
                                    integration with Apache Mesos for data center management, client-mode for
                                    light-weight
                                    cluster discovery, memory-size eviction policy, and more.

                                </p>
                                <p>
                                    <a href="/download.cgi" target="_blank" rel="noopener">Download Ignite 1.2.0</a>
                                </p>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/release.svg" alt="Release">
                                <p>Release</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="release-1.1.0">
                                <h3>Apache Ignite 1.1.0 Released&nbsp;<a
                                        href="/events.html#release-1.1.0" aria-label="Event Meetup"><i
                                        class="fa fa-anchor"></i></a></h3>
                                <div class="event-date">May 28, 2015</div>
                                <p>
                                    This new release includes Google Compute Engine and generic cloud TCP discovery IP
                                    finder, "Collocated" mode for SQL queries,
                                    support for (*) star notation in cache names, fix for SQL union support, and more.
                                </p>
                                <p>
                                    <a href="/download.cgi" target="_blank" rel="noopener">Download Ignite 1.1.0</a>
                                </p>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/release.svg" alt="Release">
                                <p>Release</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="release-1.0.0">
                                <h3>Apache Ignite 1.0.0 Released&nbsp;<a
                                        href="/events.html#release-1.0.0" aria-label="Event Meetup"><i
                                        class="fa fa-anchor"></i></a></h3>
                                <div class="event-date">April 2, 2015</div>
                                <p>
                                    This new release includes dynamic caching functionality to start and stop caches
                                    during runtime,
                                    simplified Query API, automatic aggregation, grouping and sorting support for SQL
                                    Queries,
                                    Streaming examples, and more.
                                </p>
                                <p>
                                    <a href="/download.cgi" target="_blank" rel="noopener">Download Ignite 1.0.0</a>
                                </p>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/release.svg" alt="Release">
                                <p>Release</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="release-1.0.0-RC3">
                                <h3>Apache Ignite 1.0.0-RC3 Released&nbsp;<a
                                        href="/events.html#release-1.0.0-RC3" aria-label="Event Meetup"><i
                                        class="fa fa-anchor"></i></a></h3>
                                <div class="event-date">March 24, 2015</div>
                                <p>
                                    This is the first release of Apache Ignite project. The source code in large part is
                                    based
                                    on the GridGain In-Memory Data Fabric, open source edition, v. 6.6.2, which was
                                    donated to Apache Software Foundation.
                                    The main feature set of Ignite In-Memory Data Fabric includes:
                                </p>
                                <ul class="page-list">
                                    <li>Advanced Clustering</li>
                                    <li>Compute Grid</li>
                                    <li>Data Grid</li>
                                    <li>Service Grid</li>
                                    <li>IGFS - Ignite File System</li>
                                    <li>Distributed Data Structures</li>
                                    <li>Distributed Messaging</li>
                                    <li>Distributed Events</li>
                                    <li>Streaming & CEP</li>
                                </ul>
                                <p>
                                    <a href="/download.cgi" target="_blank" rel="noopener">Download Ignite 1.0.0-RC3</a>
                                </p>
                            </section>
                        </div>
                    </div>
                </div>
                <div class="tab-pane" id="events-2014">
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/conferences.svg" alt="Interview">
                                <p>Interview</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="nikita-interview-ignite-incubation">
                                <h3>InfoQ Interview with Nikita Ivanov on Apache
                                    Ignite Incubation&nbsp;<a href="/events.html#nikita-interview-ignite-incubation"
                                                              aria-label="Event Meetup"><i class="fas fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">December 3, 2014</div>
                                <p>
                                    InfoQ caught up with Nikita Ivanov, CTO and founder of GridGain, about the
                                    In-Memory Computing framework becoming an Apache project, motivation behind this
                                    decision,
                                    and upcoming features and enhancements of GridGain.

                                </p>
                                <p>
                                    <a href="http://www.infoq.com/articles/gridgain-apache-ignite" target="_blank"
                                       rel="noopener" aria-label="Event Meetup">Read more</a>
                                </p>
                            </section>
                        </div>
                    </div>
                    <div class="row row-event">
                        <div class="col-md-2 d-none d-md-block">
                            <div class="round-icon-block">
                                <img src="images/conferences.svg" alt="Interview">
                                <p>News</p>
                            </div>
                        </div>
                        <div class="col-md-10">
                            <section id="apache-ignite-enters-incubation">
                                <h3>Apache Ignite Enters Incubation&nbsp;<a
                                        href="/events.html#apache-ignite-enters-incubation" aria-label="Event Meetup"><i
                                        class="fa fa-anchor"></i></a></h3>
                                <div class="event-date">October 1, 2014</div>
                                <p>
                                    GridGain recently announced that the GridGain In-Memory Data Fabric has been
                                    accepted
                                    into the Apache Incubator program under the name "Apache Ignite." Earlier in 2014,
                                    GridGain was
                                    transformed to an open source model through Apache 2.0 license. Now, the product
                                    will be available
                                    under the Apache Foundation project portfolio.
                                </p>
                                <p>
                                    <a href="http://www.infoq.com/news/2014/12/gridgain-ignite" target="_blank"
                                       rel="noopener" aria-label="Event Meetup">Read more</a>
                                </p>
                            </section>
                        </div>
                    </div>
                </div>
            </div>
        </section>
    </div>
</article>
    <!--#include virtual="/includes/footer.html" -->

<!--#include virtual="/includes/scripts.html" -->

</body>
</html>
