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

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

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

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

<!DOCTYPE html>
<html lang="en">
<head>
    <link rel="canonical" href="https://ignite.apache.org/events.html"/>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate"/>
    <meta http-equiv="Pragma" content="no-cache"/>
    <meta http-equiv="Expires" content="0"/>
    <title>Meetups & Events - Apache Ignite</title>
    <!--#include virtual="/includes/styles.html" -->
</head>
<body>
    <!--#include virtual="/includes/header.html" -->
<article>
<header>    <div class="container">
        
            <h1 class="first">Upcoming Apache Ignite Events</h1>
</div>
</header>
<div class="container">
    <section id="events" class="page-section">
        
        <!--div class="row row-event">
            <div class="col-md-2 d-none d-md-block">
                <div class="round-icon-block">
                    <img src="images/{conferences|webinars|meetup}.svg" alt="{Conference|Webinar|Meetup} logo">
                    <p>{Conference|Webinar|<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/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/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="fa fa-anchor"></i></a>
                                </h3>
                                <div class="event-date">Bay Area In-Memory Computing Group, Speaker: Gil Tene, Denis
                            Magda</div>
                                <div class="event-date">January 23rd, 2020</div>

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                                    To join use the details below.

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

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

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

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

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

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

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

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

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

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

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

</body>
</html>
