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

<!--
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"/>
    <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 Events</h1>
</div>
</header>
<div class="container">
    <section id="events" class="page-section">
        
        <!--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|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 -->


        <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="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/conferences.svg" alt="Conference">
                    <p>Conference</p>
                </div>
            </div>
            <div class="col-md-10 ">
                <section id="enabling-java-applications-for-low-latency-use-cases-at-massive-scale-with-azul-zing-and-gridgain">
                    <h3 style="display:inline-block;">Enabling Java applications for low-latency use cases at massive scale with Azul Zing and GridGain
                        <a href="/events.html#enabling-java-applications-for-low-latency-use-cases-at-massive-scale-with-azul-zing-and-gridgain"><i
                                class="fa fa-anchor"></i></a>
                    </h3>
                    <div class="event-date">Paris, Devoxx France, Speakers: Simon Ritter, Denis Magda</div>
                    <div class="event-date">June 1, 2020</div>

                    <p>In this session, we're going to explore how Azul Zing combined with GridGain enables Java for low-latency applications. The latter eliminates stop-the-world pauses making the Java runtime fully predictable and reliable while the former boosts the performance by storing and processing data in RAM at a scalable fashion.</p>

                    <div class="row">
                            <div class=" col-md-9  news-readmore">
                            <p>
                                <a href="https://www.devoxx.fr/" 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.devoxx.fr/"
                                data-a2a-title="Enabling Java applications for low-latency use cases at massive scale with Azul Zing 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>
                            <!-- AddToAny END -->
                        </div>
                    </div>
                    
                </section>
            </div>
        </div>
			
			
			

			
            <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">
                        
                    <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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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="fa 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>
