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

<!--
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 <strong>Events</strong></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|<strong>Virtual</strong> Meetup}</p>
                </div>
            </div>
            <div class="col-md-10 ">
                <section id="{event-anchor}">
                    <h3 style="display:inline-block;">{event-title}
                        <a href="/events.html#{event-anchor}"><i
                                class="fa fa-anchor"></i></a>
                    </h3>
                    <div class="event-date">{event-speaker}</div>
                    <div class="event-date">{event-date}</div>

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

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

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


        <div class="row row-event">
            <div class="col-md-2 d-none d-md-block">
                <div class="round-icon-block">
                    <img src="images/webinars.svg" alt="Webinar logo">
                    <p>Webinar</p>
                </div>
            </div>
            <div class="col-md-10 ">
                <section id="architects-guide-for-apache-ignite-acid-transactions-and-consistency">
                    <h3 style="display:inline-block;">Architects Guide for Apache Ignite ACID Transactions and Consistency
                        <a href="/events.html#architects-guide-for-apache-ignite-acid-transactions-and-consistency"><i
                                class="fa fa-anchor"></i></a>
                    </h3>
                    <div class="event-date">Webinar, Ivan Rakov</div>
                    <div class="event-date">April 29, 2020</div>

                    <p>Apache Ignite can function in a strong consistency mode which keeps application records in sync across all primary and backup replicas. It also supports distributed ACID transactions that allow you to update multiple entries stored on different cluster nodes and in various caches/tables.</p>

                    <div class="row">
                            <div class=" col-md-9  news-readmore">
                            <p>
                                <a href="https://www.gridgain.com/resources/webinars/architects-guide-for-apache-ignite-acid-transactions-and-consistency" target="_blank" rel="noopener">Read more</a>
                            </p>
                        </div>
                        <div class=" col-md-3  ">

                            
                            <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                data-a2a-url="https://www.gridgain.com/resources/webinars/architects-guide-for-apache-ignite-acid-transactions-and-consistency"
                                data-a2a-title="Architects Guide for Apache Ignite ACID Transactions and Consistency">
                                <a class="a2a_button_twitter"></a>
                                <a class="a2a_button_linkedin"></a>
                                <a class="a2a_button_facebook"></a>
                                <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                            </div>
                        </div>
                    </div>
                    
                </section>
            </div>
        </div>

        <div class="row row-event">
            <div class="col-md-2 d-none d-md-block">
                <div class="round-icon-block">
                    <img src="images/meetup.svg" alt="Meetup logo">
                    <p><strong>Virtual</strong> Meetup</p>
                </div>
            </div>
            <div class="col-md-10 ">
                <section id="conquer-application-performance-challenges-with-in-memory-computing">
                    <h3 style="display:inline-block;">Conquer Application Performance Challenges with In-Memory Computing
                        <a href="/events.html#conquer-application-performance-challenges-with-in-memory-computing"><i
                                class="fa fa-anchor"></i></a>
                    </h3>
                    <div class="event-date">Valentin Kulichenko</div>
                    <div class="event-date">May 6, 2020</div>

                    <p>Distributed platforms, like Apache Ignite®, rely on horizontal scalability. More machines in the cluster lead to application performance improvements. But the speed of the application performance after adding a second machine to the cluster?  In this talk, attendees will learn about the challenges architects face when designing distributed systems.</p>

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

                            
                            <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                data-a2a-url="https://www.meetup.com/ru-RU/London-In-Memory-Computing-Meetup/events/269971583/"
                                data-a2a-title="Conquer Application Performance Challenges with In-Memory Computing">
                                <a class="a2a_button_twitter"></a>
                                <a class="a2a_button_linkedin"></a>
                                <a class="a2a_button_facebook"></a>
                                <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                            </div>
                        </div>
                    </div>
                    
                </section>
            </div>
        </div>

        <div class="row row-event">
            <div class="col-md-2 d-none d-md-block">
                <div class="round-icon-block">
                    <img src="images/webinars.svg" alt="Webinar logo">
                    <p>Webinar</p>
                </div>
            </div>
            <div class="col-md-10 ">
                <section id="using-data-center-replication-to-ensure-high-availability-of-apache-ignite-and-gridgain-clusters">
                    <h3 style="display:inline-block;">Using Data Center Replication to Ensure High Availability of Apache Ignite and GridGain Clusters
                        <a href="/events.html#using-data-center-replication-to-ensure-high-availability-of-apache-ignite-and-gridgain-clusters"><i
                                class="fa fa-anchor"></i></a>
                    </h3>
                    <div class="event-date">Webinar, Konstantin Orlov</div>
                    <div class="event-date">May 13, 2020</div>

                    <p>When working with multiple data centers, it is important to ensure high availability of your GridGain cluster. The GridGain Enterprise and Ultimate Editions, built on Apache Ignite®, include a Data Center Replication feature that allows data transfer between caches in distinct topologies, even located in different geographic locations.</p>

                    <div class="row">
                            <div class=" col-md-9  news-readmore">
                            <p>
                                <a href="https://www.gridgain.com/resources/webinars/data-center-replication-to-ensure-high-availability-of-apache-ignite-clusters" target="_blank" rel="noopener">Read more</a>
                            </p>
                        </div>
                        <div class=" col-md-3  ">

                            
                            <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                data-a2a-url="https://www.gridgain.com/resources/webinars/data-center-replication-to-ensure-high-availability-of-apache-ignite-clusters"
                                data-a2a-title="Using Data Center Replication to Ensure High Availability of Apache Ignite and GridGain Clusters">
                                <a class="a2a_button_twitter"></a>
                                <a class="a2a_button_linkedin"></a>
                                <a class="a2a_button_facebook"></a>
                                <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                            </div>
                        </div>
                    </div>
                    
                </section>
            </div>
        </div>


        <div class="row row-event">
            <div class="col-md-2 d-none d-md-block">
                <div class="round-icon-block">
                    <img src="images/meetup.svg" alt="Meetup logo">
                    <p><strong>Virtual</strong> Meetup</p>
                </div>
            </div>
            <div class="col-md-10 ">
                <section id="adding-speed-and-scale-to-mysql-deployments-with-in-memory-computing">
                    <h3 style="display:inline-block;">Adding Speed and Scale to MySQL Deployments With In-Memory Computing
                        <a href="/events.html#adding-speed-and-scale-to-mysql-deployments-with-in-memory-computing"><i
                                class="fa fa-anchor"></i></a>
                    </h3>
                    <div class="event-date">Denis Magda</div>
                    <div class="event-date">May 14, 2020</div>

                    <p>Learn how software architects use in-memory computing technologies to add speed and scale to existing MySQL deployments. You will see how to deploy a distributed in-memory cluster on top of a MySQL database, how to configure the cluster to write-through all the changes to the database, and how to boost SQL operations by querying in-memory data sets.</p>

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

                            
                            <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                data-a2a-url="https://www.meetup.com/ru-RU/London-In-Memory-Computing-Meetup/events/269972893/"
                                data-a2a-title="Adding Speed and Scale to MySQL Deployments With In-Memory Computing">
                                <a class="a2a_button_twitter"></a>
                                <a class="a2a_button_linkedin"></a>
                                <a class="a2a_button_facebook"></a>
                                <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                            </div>
                        </div>
                    </div>
                    
                </section>
            </div>
        </div>


        <div class="row row-event">
            <div class="col-md-2 d-none d-md-block">
                <div class="round-icon-block">
                    <img src="images/webinars.svg" alt="Webinar logo">
                    <p>Webinar</p>
                </div>
            </div>
            <div class="col-md-10 ">
                <section id="getting-started-with-apache-ignite-and-sql">
                    <h3 style="display:inline-block;">Getting Started with Apache Ignite and SQL
                        <a href="/events.html#getting-started-with-apache-ignite-and-sql"><i
                                class="fa fa-anchor"></i></a>
                    </h3>
                    <div class="event-date">Webinar, Denis Magda & Igor Seliverstov</div>
                    <div class="event-date">May 20, 2020</div>

                    <p>Apache Ignite’s ANSI-99 SQL support provides application developers a classical SQL database experience while enabling in-memory speeds at petabyte scale for a variety of workloads. Concise SQL syntax and availability of JDBC and ODBC drivers shields the complexity of Ignite’s distributed architecture from developers and allows them to easily manage and query distributed datasets. Nevertheless, there are some essentials and design patterns that developers should consider when deploying Apache Ignite.</p>

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

                            
                            <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                data-a2a-url="https://www.gridgain.com/resources/webinars/getting-started-apache-ignite-and-sql"
                                data-a2a-title="Getting Started with Apache Ignite and SQL">
                                <a class="a2a_button_twitter"></a>
                                <a class="a2a_button_linkedin"></a>
                                <a class="a2a_button_facebook"></a>
                                <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                            </div>
                        </div>
                    </div>
                    
                </section>
            </div>
        </div>
            
        <div class="row row-event">
            <div class="col-md-2 d-none d-md-block">
                <div class="round-icon-block">
                    <img src="images/webinars.svg" alt="Webinar logo">
                    <p>Webinar</p>
                </div>
            </div>
            <div class="col-md-10 ">
                <section id="how-apache-ignite-powers-real-time-subscriber-offers-for-a-leading-telecommunications-company">
                    <h3 style="display:inline-block;">How Apache Ignite Powers Real-Time Subscriber Offers for a Leading Telecommunications Company
                        <a href="/events.html#how-apache-ignite-powers-real-time-subscriber-offers-for-a-leading-telecommunications-company"><i
                                class="fa fa-anchor"></i></a>
                    </h3>
                    <div class="event-date">Webinar, Alexey Bednov & Fedor Loginov</div>
                    <div class="event-date">June 3, 2020</div>

                    <p>The telecommunications company deployed a recommendation engine that provides over 7,000,000 relevant marketing offers every day to their subscribers. The engine includes functionality for control/target group segmentation, subscriber contact policies, and contact history mechanics. By the end of this webinar, you will understand the deployed architecture, how Ignite machine learning helps power the engine and the new capabilities this campaigning engine provides the telecommunications company as part of their digital transformation.</p>

                    <div class="row">
                            <div class=" col-md-9  news-readmore">
                            <p>
                                <a href="https://www.gridgain.com/resources/webinars/apache-ignite-powers-real-time-subscriber-offers-at-telecommunications-company" target="_blank" rel="noopener">Read more</a>
                            </p>
                        </div>
                        <div class=" col-md-3  ">

                            
                            <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                data-a2a-url="https://www.gridgain.com/resources/webinars/apache-ignite-powers-real-time-subscriber-offers-at-telecommunications-company"
                                data-a2a-title="How Apache Ignite Powers Real-Time Subscriber Offers for a Leading Telecommunications Company">
                                <a class="a2a_button_twitter"></a>
                                <a class="a2a_button_linkedin"></a>
                                <a class="a2a_button_facebook"></a>
                                <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                            </div>
                        </div>
                    </div>
                    
                </section>
            </div>
        </div -->

		<div class="row row-event">
            <div class="col-md-2 d-none d-md-block">
                <div class="round-icon-block">
                    <img src="images/webinars.svg" alt="Webinar logo">
                    <p>Webinar</p>
                </div>
            </div>
            <div class="col-md-10 ">
                <section id="moving-apache-ignite-into-production-best-practices-for-distributed-transactions">
                    <h3 style="display:inline-block;">Moving Apache Ignite into Production: Best Practices for Distributed Transactions
                        <a href="/events.html#moving-apache-ignite-into-production-best-practices-for-distributed-transactions"><i
                                class="fa fa-anchor"></i></a>
                    </h3>
                    <div class="event-date">Webinar, Ivan Rakov</div>
                    <div class="event-date">June 10, 2020</div>

                    <p>The Apache Ignite transactional engine can execute distributed ACID transactions which span multiple nodes, data partitions, and caches/tables. This key-value API differs slightly from traditional SQL-based transactions but its reliability and flexibility lets you achieve an optimal balance between consistency and performance at scale by following several guidelines.</p>

                    <div class="row">
                            <div class=" col-md-9  news-readmore">
                            <p>
                                <a href="https://www.gridgain.com/resources/webinars/moving-apache-ignite-into-production-best-practices-for-distributed-transactions" target="_blank" rel="noopener">Read more</a>
                            </p>
                        </div>
                        <div class=" col-md-3  ">

                            
                            <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                data-a2a-url="https://www.gridgain.com/resources/webinars/moving-apache-ignite-into-production-best-practices-for-distributed-transactions"
                                data-a2a-title="Moving Apache Ignite into Production: Best Practices for Distributed Transactions">
                                <a class="a2a_button_twitter"></a>
                                <a class="a2a_button_linkedin"></a>
                                <a class="a2a_button_facebook"></a>
                                <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                            </div>
                        </div>
                    </div>
                    
                </section>
            </div>
        </div>

        <div class="row row-event">
            <div class="col-md-2 d-none d-md-block">
                <div class="round-icon-block">
                    <img src="images/webinars.svg" alt="Webinar logo">
                    <p>Webinar</p>
                </div>
            </div>
            <div class="col-md-10 ">
                <section id="learn-apache-ignite-through-coding-examples">
                    <h3 style="display:inline-block;">Learn Apache Ignite Through Coding Examples
                        <a href="/events.html#learn-apache-ignite-through-coding-examples"><i
                                class="fa fa-anchor"></i></a>
                    </h3>
                    <div class="event-date">Webinar, Denis Magda</div>
                    <div class="event-date">June 24, 2020</div>

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

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

                            
                            <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                data-a2a-url="https://www.gridgain.com/resources/webinars/learn-apache-ignite-through-coding-examples"
                                data-a2a-title="Learn Apache Ignite Through Coding Examples">
                                <a class="a2a_button_twitter"></a>
                                <a class="a2a_button_linkedin"></a>
                                <a class="a2a_button_facebook"></a>
                                <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                            </div>
                        </div>
                    </div>
                    
                </section>
            </div>
        </div>
        
        <div class="row row-event">
            <div class="col-md-2 d-none d-md-block">
                <div class="round-icon-block">
                    <img src="images/conferences.svg" alt="Conference logo">
                    <p>Conference</p>
                </div>
            </div>
            <div class="col-md-10 ">
                <section id="apache-ignite-continuous-machine-and-deep-learning-at-scale">
                    <h3 style="display:inline-block;">Apache Ignite: Continuous Machine and Deep Learning at Scale
                        <a href="/events.html#apache-ignite-continuous-machine-and-deep-learning-at-scale"><i
                                class="fa fa-anchor"></i></a>
                    </h3>
                    <div class="event-date">Developer Week Seattle: Cloud Edition, Ken Cottrell</div>
                    <div class="event-date">September 28, 2020</div>

                    <p>Learn how Apache Ignite in-memory computing platform addresses these ML limitations with distributed model training and execution, to provide near-real-time, continuous learning capabilities. This discussion will explain how distributed ML/DL works with Apache Ignite, and how to get started.</p>

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

                            
                            <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                data-a2a-url="https://www.developerweek.com/CloudEdition/conference/"
                                data-a2a-title="Apache Ignite: Continuous Machine and Deep Learning at Scale">
                                <a class="a2a_button_twitter"></a>
                                <a class="a2a_button_linkedin"></a>
                                <a class="a2a_button_facebook"></a>
                                <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                            </div>
                        </div>
                    </div>
                    
                </section>
            </div>
        </div>

        <div class="row row-event">
            <div class="col-md-2 d-none d-md-block">
                <div class="round-icon-block">
                    <img src="images/conferences.svg" alt="Conference logo">
                    <p>Conference</p>
                </div>
            </div>
            <div class="col-md-10 ">
                <section id="heads-in-the-cloud-cloud-deployment-best-practices-for-in-memory-computing">
                    <h3 style="display:inline-block;">Heads in the Cloud: Cloud Deployment Best Practices for in Memory Computing
                        <a href="/events.html#heads-in-the-cloud-cloud-deployment-best-practices-for-in-memory-computing"><i
                                class="fa fa-anchor"></i></a>
                    </h3>
                    <div class="event-date">Developer Week Seattle: Cloud Edition, Greg Stachnik</div>
                    <div class="event-date">September 28, 2020</div>

                    <p>During this session, we will introduce the Apache Ignite in-memory computing platform and identify key metrics that can help you maximize application performance on your existing cloud infrastructure. We will provide best practices on how best to structure and deploy in-memory applications on both public and hybrid clouds.</p>

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

                            
                            <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                                data-a2a-url="https://www.developerweek.com/CloudEdition/conference/"
                                data-a2a-title="Heads in the Cloud: Cloud Deployment Best Practices for in Memory Computing">
                                <a class="a2a_button_twitter"></a>
                                <a class="a2a_button_linkedin"></a>
                                <a class="a2a_button_facebook"></a>
                                <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                            </div>
                        </div>
                    </div>
                    
                </section>
            </div>
        </div>
        
			
<!-- END OF Upcoming Events -->
			
            <div class="row row-event ">
                <div class="col-md-12 text-center">
                    <p>Browse the <a href="meetup-groups.html">Apache Ignite groups</a> and find one near your area.</p>
                </div>
            </div>

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

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

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

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

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


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

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

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

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

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


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

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

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


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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                                    To join use the details below.

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

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

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

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

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

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

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

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

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

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

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

</body>
</html>
