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

<!--
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>
<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>
    <link media="all" rel="stylesheet" href="css/all.css?v=1538416900">
    <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
    <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
</head>
<body>
<div id="wrapper">
    <!--#include virtual="/includes/header.html" -->

    <main id="main" role="main" class="container">
        <section id="news" class="page-section">
            <h1 class="first">Meetups & Events</h1>
            <div class="col-sm-12 col-md-12 col-xs-12" style="padding-left: 0; padding-right: 20px;">

				<section id="in-memory-computing-essentials-for-software-engineers-dec-2" class="page-section news-section">
                    <div><h3 style="display:inline-block;">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>
                    <span class="news-date">The Silicon Valley Java User Group, Speaker: Denis Magda</span><br/><br/>
                    <span class="news-date">DECEMBER 18, 2019</span>

                    <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="col-sm-12 col-md-9 col-xs-12 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 class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>				

				<section id="in-memory-computing-essentials-for-software-engineers-dec-1" class="page-section news-section">
                    <div><h3 style="display:inline-block;">How and why Apache Ignite™ 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>
                    <span class="news-date">Open Source Database Best Practices, Speaker: Alexey Goncharuk</span><br/><br/>
                    <span class="news-date">DECEMBER 16, 2019</span>

                    <p>In this talk, we will follow the path that led Apache Ignite™ from a compute grid and data grid product to a distributed database and In-memory computing platform. We will examine technical tasks and decisions that were driving the transformations and will wrap up the talk with the outstanding problems that are going to be solved for Apache Ignite™.</p>

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

                        <!-- 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/266633568/"
                             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>
                    <p style="margin:0;">&nbsp;</p>
                </section>				
				
				<section id="in-memory-computing-essentials-for-software-engineers-dec-1" class="page-section news-section">
                    <div><h3 style="display:inline-block;">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>
                    <span class="news-date">The Boston Java Meetup Group Speaker: Denis Magda</span><br/><br/>
                    <span class="news-date">DECEMBER 10, 2019</span>

                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/boston-java/events/265825280/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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/265825280/"
                             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>
                    <p style="margin:0;">&nbsp;</p>
                </section>					

				<section id="ignite-pearls-insight-and-creativity-in-distributed-programming" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Ignite Pearls - Insight and Creativity in Distributed Programming
                        <a href="/events.html#ignite-pearls-insight-and-creativity-in-distributed-programming"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">NY Scala Group, Speaker - Nikita Ivanov</span><br/><br/>
                    <span class="news-date">November 21, 2019</span>

                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/en-US/ny-scala/events/266240908/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>					
				
				<section id="apache-ignite-pumpkin-meetup" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite Pumpkin Meetup
                        <a href="/events.html#apache-ignite-pumpkin-meetup"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Apache Ignite Meetup, Saint Petersburg, Russia, Speaker: Evgeny Zhuravlev</span><br/><br/>
                    <span class="news-date">October 31, 2019</span>

                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href=" https://gridgain.timepad.ru/event/1091051/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
				
				<section id="in-memory-computing-essentials-for-software-engineers-oct" class="page-section news-section">
                    <div><h3 style="display:inline-block;">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>
                    <span class="news-date">SQL NYC, The NoSQL & NewSQL Database Big Data Meetup Speaker: Denis Magda</span><br/><br/>
                    <span class="news-date">October 29, 2019</span>

                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/es-ES/mysqlnyc/events/265780229/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>				
				
				<section id="ensembles-of-ml-algorithms-and-distributed-online-machine-learning-with-apache-ignite" class="page-section news-section">
                    <div><h3 style="display:inline-block;">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"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">ApacheCon Europe 2019, Speaker - Alexey Zinovyev</span><br/><br/>
                    <span class="news-date">October 23, 2019</span>

                    <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="col-sm-12 col-md-9 col-xs-12 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">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
				
				<section id="whats-new-in-gridgain-web-console" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Updated Apache Ignite Apache® Ignite® Web Console live demo
                        <a href="/events.html#whats-new-in-gridgain-web-console"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Speaker - Greg Stachnick</span><br/><br/>
                    <span class="news-date">October 16, 2019</span>

                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/resources/webinars/whats-new-in-gridgain-web-console" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
				
                <section id="why-did-we-developed-another-one-kafka-connector" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Why did we developed another one Kafka connector
                        <a href="/events.html#why-did-we-developed-another-one-kafka-connector"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Autumn Kafka at Leroy Merlin, Moscow (Russia), Speaker - Alexey Kukushkin</span><br/><br/>
                    <span class="news-date">October 9, 2019</span>

                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://leroy-merlin.timepad.ru/event/1069622/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>

				<section id="data-distribution-in-apache-ignite" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Data Distribution in Apache Ignite
                        <a href="/events.html#data-distribution-in-apache-ignite"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Scalability Meetup, Moscow (Russia), Speaker - Andrey Gura </span><br/><br/>
                    <span class="news-date">October 3, 2019</span>

                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/ru-RU/Scalability-Camp/events/264936752/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>

 				<section id="moving-apache-ignite-into-production-best-practices-for-disaster-recovery-and-high-availability" class="page-section news-section">
                    <div><h3 style="display:inline-block;">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"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Speaker - Stanislav Lukyanov</span><br/><br/>
                    <span class="news-date">September 18, 2019</span>

                    <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="col-sm-12 col-md-9 col-xs-12 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">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section> 
				
				<section id="continuous-machine-and-deep-learning-at-scale-with-apache-ignite" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Continuous Machine and Deep Learning at Scale with Apache Ignite
                        <a href="/events.html#continuous-machine-and-deep-learning-at-scale-with-apache-ignite"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">ApacheCon North America 2019, Speaker, Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">September 18, 2019</span>

                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://apachecon.com/acna19/s/#/scheduledEvent/1125 " target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
				
 				<section id="moving-apache-ignite-into-production-best-practices-for-deploying-apache-ignite-in-the-cloud" class="page-section news-section">
                    <div><h3 style="display:inline-block;">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"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Speaker - Greg Stachnick</span><br/><br/>
                    <span class="news-date">August 28, 2019</span>

                    <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="col-sm-12 col-md-9 col-xs-12 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">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section> 				
				
 				<section id="cloud-deployment-best-practices" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Cloud deployment best practices
                        <a href="/events.html#cloud-deployment-best-practices"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Meetup, Speaker - Greg Stachnick</span><br/><br/>
                    <span class="news-date">August 22, 2019</span>

                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/resources/meetups/nyc-in-memory-computing-meetup-10" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section> 
				
 				<section id="the-insiders-checklist-for-hardening-an-in-memory-computing-cluster" class="page-section news-section">
                    <div><h3 style="display:inline-block;">The Insiders Checklist for Hardening an In-Memory Computing Cluster
                        <a href="/events.html#the-insiders-checklist-for-hardening-an-in-memory-computing-cluster"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Meetup, Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">August 20, 2019</span>

                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/resources/meetups/bay-area-in-memory-computing-meetup-10" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>               
				
				<section id="htap-via-integration-of-ignite-spark" class="page-section news-section">
                    <div><h3 style="display:inline-block;">HTAP via integration of Apache Ignite and Apache Spark
                        <a href="/events.html#htap-via-integration-of-ignite-spark"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Meetup, Speaker - Roman Shtykh</span><br/><br/>
                    <span class="news-date">June 28, 2019</span>

                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://cyberagent.connpass.com/event/134260/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>

                <section id="moving-apache-ignite-production-initial-checklist" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Moving Apache Ignite into Production: An Initial Checklist
                        <a href="/events.html#moving-apache-ignite-production-initial-checklist"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">May 29, 2019</span>

                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/resources/webinars/moving-apache-ignite-production-initial-checklist" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>



                <section id="sparkaisummit-north-america-2019" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Distributed ML/DL with Ignite ML Module Using Apache Spark as Database
                        <a href="/events.html#sparkaisummit-north-america-2019"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Spark + AI Summit 2019, Speaker - Alexey Zinovyev</span><br/><br/>
                    <span class="news-date">April 25, 2019</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://databricks.com/sparkaisummit/north-america/sessions-single-2019?id=143" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="apacher-ignitetm-nodejs-developers" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite for Node.js Developers
                        <a href="/events.html#apacher-ignitetm-nodejs-developers"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">March 20, 2019</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/resources/webinars/apacher-ignitetm-nodejs-developers" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="open-data-science-meetup-saint-petersburg-russia" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Using TensorFlow with Apache Ignite
                        <a href="/events.html#open-data-science-meetup-saint-petersburg-russia"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Open Data Science Meetup Saint Petersburg (Russia), Speaker - Yury Babak</span><br/><br/>
                    <span class="news-date">March 15, 2019</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/resources/meetups/open-data-science-meetup-saint-petersburg-russia" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="whats-new-in-apache-ignite-27" class="page-section news-section">
                    <div><h3 style="display:inline-block;">What’s New in Apache Ignite 2.7
                        <a href="/events.html#whats-new-in-apache-ignite-27"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">Feb 13, 2019</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/resources/webinars/whats-new-in-apache-ignite-27" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="EffectiveMySQL-257849652" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Turbocharge your MySQL queries in-memory with In-Memory Computing
                        <a href="/events.html#EffectiveMySQL-257849652"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">MySQL New York Meetup, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">Feb 5, 2019</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/EffectiveMySQL/events/257849652/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="gridgain-cloud-deploy-apache-ignite-in-minutes" class="page-section news-section">
                    <div><h3 style="display:inline-block;">GridGain Cloud: Deploy Apache Ignite in Minutes
                        <a href="/events.html#gridgain-cloud-deploy-apache-ignite-in-minutes"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">January 30, 2019</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/resources/webinars/gridgain-cloud-deploy-apache-ignite-in-minutes" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="in-memory-computing-best-practices-developing-new-apps-channels-and-apis" class="page-section news-section">
                    <div><h3 style="display:inline-block;">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"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Speaker - Rob Meyer</span><br/><br/>
                    <span class="news-date">January 24, 2019</span>
                    <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="col-sm-12 col-md-9 col-xs-12 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">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Stanford-Data-Science-Machine-Learning-Meetup-256812708" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Workshop: Machine Learning 101 with In-Memory Computing
                        <a href="/events.html#Stanford-Data-Science-Machine-Learning-Meetup-256812708"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Stanford Data Science Machine Learning Meetup, Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">January 15, 2019</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Stanford-Data-Science-Machine-Learning-Meetup/events/256812708" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="open-source-data-science-256974934" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Workshop: In-Memory Computing Essentials for Data Scientists
                        <a href="/events.html#open-source-data-science-256974934"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">BOSTON #ODSC, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">January 15, 2019</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/open-source-data-science/events/256974934/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="NYC-In-Memory-Computing-Meetup-257355223" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Relational DBMSs: Faster Transactions and Analytics with In-Memory Computing
                        <a href="/events.html#NYC-In-Memory-Computing-Meetup-257355223"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">NYC In-Memory Computing Meetup, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">January 14, 2019</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/NYC-In-Memory-Computing-Meetup/events/257355223" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Amsterdam-Kubernetes-Meetup-256234544" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Distributed Database DevOps Dilemmas? Kubernetes to the rescue!
                        <a href="/events.html#Amsterdam-Kubernetes-Meetup-256234544"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Amsterdam Kubernetes/Cloud-Native Meetup, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">December 6, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Amsterdam-Kubernetes-Meetup/events/256234544" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Hamburg-Kubernetes-Meetup-256200849" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Distributed Database DevOps Dilemmas? Kubernetes to the rescue!
                        <a href="/events.html#Hamburg-Kubernetes-Meetup-256200849"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Hamburg Kubernetes/Cloud-Native Meetup, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">December 5, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Hamburg-Kubernetes-Meetup/events/256200849/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Munchen-Kubernetes-Meetup-256177844" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Distributed Database DevOps Dilemmas? Kubernetes to the rescue!
                        <a href="/events.html#Munchen-Kubernetes-Meetup-256177844"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">München Kubernetes/Cloud-Native Meetup, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">December 4, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Munchen-Kubernetes-Meetup/events/256177844/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="NYC-In-Memory-Computing-Meetup-256580648" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Memory-Centric Architecture - A New Approach to Distributed Systems
                        <a href="/events.html#NYC-In-Memory-Computing-Meetup-256580648"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">NYC In-Memory Computing Meetup, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">November 29, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/NYC-In-Memory-Computing-Meetup/events/256580648/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Kafka-ATL-256500714" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Stream Processing Best Practices - In the Cloud and with Apache Ignite
                        <a href="/events.html#Kafka-ATL-256500714"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Apache Kafka Atlanta, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">November 28, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Kafka-ATL/events/256500714/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Apache-Kafka-DC-256476441" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Best Practices for Stream Processing with Kafka and Apache Ignite
                        <a href="/events.html#Apache-Kafka-DC-256476441"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Apache Kafka DC, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">November 27, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Apache-Kafka-DC/events/256476441" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="moscow-apache-ignite-meetup-818220" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite performance measurement. How we do benchmarks
                        <a href="/events.html#moscow-apache-ignite-meetup-818220"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Moscow Apache Ignite Meetup, Speakers - Ilya Suntsov, Dmitry Pavlov, Nikolay Kulagin, Nikolay Izhikov</span><br/><br/>
                    <span class="news-date">November 14, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/resources/meetups/moscow-apache-ignite-meetup" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="KafkaBayArea--255670377" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Best Practices for Stream Processing with Kafka and Apache Ignite
                        <a href="/events.html#KafkaBayArea--255670377"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Bay Area Apache Kafka Meetup, Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">November 7, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/KafkaBayArea/events/255670377/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Bay-Area-In-Memory-Computing-255491989" class="page-section news-section">
                    <div><h3 style="display:inline-block;">In-Memory Computing Essentials for Data Scientist
                        <a href="/events.html#Bay-Area-In-Memory-Computing-255491989"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Bay Area In-Memory Computing Meetup, Speaker - Lucas Beeler</span><br/><br/>
                    <span class="news-date">November 1, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Bay-Area-In-Memory-Computing/events/255491989/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="DevOps-Exchange-SanFrancisco-254969027" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Distributed Database DevOps Dilemmas? Kubernetes to the rescue!
                        <a href="/events.html#DevOps-Exchange-SanFrancisco-254969027"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">DevOps Exchange San Francisco, Speaker - Valentin Kulichenko</span><br/><br/>
                    <span class="news-date">October 25, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/DevOps-Exchange-SanFrancisco/events/254969027" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="NYC-In-Memory-Computing-Meetup-254701726" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Powering up banks and financial institutions with distributed systems
                        <a href="/events.html#NYC-In-Memory-Computing-Meetup-254701726"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">NYC In-Memory Computing Meetup, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">October 25, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/NYC-In-Memory-Computing-Meetup/events/254701726/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="futureofdata-newyork-253873404" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Best practices for stream ingestion, processing and analytics using in-memory computing
                        <a href="/events.html#futureofdata-newyork-253873404"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Future of Data: New York, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">October 24, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/futureofdata-newyork/events/253873404" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Metis-New-York-Data-Science-254379968" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite: The In-Memory Hammer In Your Data Science Toolkit
                        <a href="/events.html#Metis-New-York-Data-Science-254379968"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Metis: New York Data Science, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">October 23, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Metis-New-York-Data-Science/events/254379968" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="it-dev-connections-dallas" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Scale Out and Conquer: Architectural Decisions Behind Distributed In-Memory Systems
                        <a href="/events.html#it-dev-connections-dallas"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">IT/Dev Connections, Dallas, Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">October 18, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 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">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Bay-Area-In-Memory-Computing-254629901" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Best Practices for Stream Ingestion, Processing and Analytics Using In-Memory Computing
                        <a href="/events.html#Bay-Area-In-Memory-Computing-254629901"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Bay Area In-Memory Computing Meetup, Speaker - Valentin Kulichenko</span><br/><br/>
                    <span class="news-date">September 26, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Bay-Area-In-Memory-Computing/events/254629901/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="db-tech-showcase-tokyo" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite: From In-Memory Data Grid to Memory-Centric Distributed Database
                        <a href="/events.html#db-tech-showcase-tokyo"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">DB Tech Showcase, Tokyo, Speaker - Roman Shtykh</span><br/><br/>
                    <span class="news-date">September 21, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.db-tech-showcase.com/dbts/tokyo" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Big-Data-Paris-251647148" class="page-section news-section">
                    <div><h3 style="display:inline-block;">How to become a Big Data Rockstar in 15 minutes!
                        <a href="/events.html#Big-Data-Paris-251647148"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Data Natives European Tour, Paris, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">September 17, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Big-Data-Paris/events/251647148" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Metis-New-York-Data-Science-253834339" class="page-section news-section">
                    <div><h3 style="display:inline-block;">In-Memory Computing Essentials for Data Scientists
                        <a href="/events.html#Metis-New-York-Data-Science-253834339"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">New York Data Science, Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">September 12, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Metis-New-York-Data-Science/events/253834339/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="postgres-nyc-252852884" class="page-section news-section">
                    <div><h3 style="display:inline-block;">PostgreSQL with Apache Ignite: Faster Transactions and Analytics
                        <a href="/events.html#postgres-nyc-252852884"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">New York City PostgreSQL User Group, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">August 30, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/postgres-nyc/events/252852884/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="NYC-In-Memory-Computing-Meetup-253100350" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Machine and Deep Learning with an Apache Ignite
                        <a href="/events.html#NYC-In-Memory-Computing-Meetup-253100350"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">NYC In-Memory Computing Meetup, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">August 29, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/NYC-In-Memory-Computing-Meetup/events/253100350/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="big-bang-Data-science-Solutions-253752437" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Improving Apache Spark™ In-Memory Computing with Apache Ignite®
                        <a href="/events.html#big-bang-Data-science-Solutions-253752437"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Big Bang Data Science - Georgia, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">August 28, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/big-bang-Data-science-Solutions/events/253752437/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Greater-Atlanta-Internet-of-Things-253619287" class="page-section news-section">
                    <div><h3 style="display:inline-block;">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"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Greater Atlanta Internet of Things, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">August 27, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Greater-Atlanta-Internet-of-Things/events/253619287/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Bay-Area-In-Memory-Computing-252983625" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Best Practices for Deploying Distributed Databases and In-Memory Computing Platforms with Kubernetes
                        <a href="/events.html#Bay-Area-In-Memory-Computing-252983625"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Bay Area In-Memory Computing Meetup, Menlo Park, Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">August 23, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Bay-Area-In-Memory-Computing/events/252983625" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Metis-San-Francisco-Data-Science-253823997" class="page-section news-section">
                    <div><h3 style="display:inline-block;">In-Memory Computing Essentials for Data Scientists
                        <a href="/events.html#Metis-San-Francisco-Data-Science-253823997"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Metis: San Francisco Data Science, Speaker - Valentin Kulichenko</span><br/><br/>
                    <span class="news-date">August 22, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Metis-San-Francisco-Data-Science/events/253823997" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="datasummer-ukraine" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite + Apache Spark RDDs and DataFrames integration (ENG)
                        <a href="/events.html#datasummer-ukraine"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Data Summer Conf, Ukraine, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">July 21, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://provectus.com/datasummer/#agenda" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="big-data-san-francisco-v-50-tickets-46971191097" class="page-section news-section">
                    <div><h3 style="display:inline-block;">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"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Big Data, San Francisco v 5.0, Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">July 18, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.eventbrite.co.uk/e/big-data-san-francisco-v-50-tickets-46971191097" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="London-In-Memory-Computing-Meetup-252516279" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Machine and Deep Learning with in-memory computing
                        <a href="/events.html#London-In-Memory-Computing-Meetup-252516279"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">London In-Memory Computing Meetup, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">July 18, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/London-In-Memory-Computing-Meetup/events/252516279" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="webinars-best-practices-deploying-distributed-databases-and-in-memory-computing-platforms" class="page-section news-section">
                    <div><h3 style="display:inline-block;">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"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">July 11, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 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">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="webinars-in-memory-computing-essentials-architects-and-developers-part-1-0" class="page-section news-section">
                    <div><h3 style="display:inline-block;">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"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">July 03, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 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">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="docker-new-york" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Distributed Database DevOps Dilemmas? Kubernetes to the rescue!
                        <a href="/events.html#docker-new-york"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">DockerNYC, Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">June 28, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://events.docker.com/events/details/docker-new-york-presents-dockernyc-with-gridgain" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="NYC-In-Memory-Computing-Meetup-251244661" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Scale Out and Conquer: Architectural Decisions Behind Distributed In-Memory Systems
                        <a href="/events.html#NYC-In-Memory-Computing-Meetup-251244661"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">NYC In-Memory Computing Meetup, Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">June 27, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/NYC-In-Memory-Computing-Meetup/events/251244661/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="mysqlnyc-251606063" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Cassandra vs Apache Ignite for HTAP
                        <a href="/events.html#mysqlnyc-251606063"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">SQL NYC Database Meetup, Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">June 26, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/mysqlnyc/events/251606063/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="webinar-building-new-hybrid-transactionaloperational-processing-htap-applications" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Building New Hybrid Transactional/Operational Processing (HTAP) Applications With Apache® Ignite®
                        <a href="/events.html#webinar-building-new-hybrid-transactionaloperational-processing-htap-applications"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">June 20, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/resources/webinars/part-2-building-new-hybrid-transactionaloperational-processing-htap-applications" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="containerdays-distributed-database-devops-dilemmas" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Distributed Database DevOps Dilemmas? Kubernetes to the rescue!
                        <a href="/events.html#containerdays-distributed-database-devops-dilemmas"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Containerdays, Hamburg, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">June 19, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://containerdays.io/program/distributed-database-devops-dilemmas-kubernetes-to-the-rescue,2830.html" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="euroadshow18-iot-schedule" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Spark and Apache Ignite: Where Fast Data Meets the IoT
                        <a href="/events.html#euroadshow18-iot-schedule"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Apache EU Roadshow, Berlin, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">June 14, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="http://www.apachecon.com/euroadshow18/iot-schedule.html" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>

                <section id="Bay-Area-In-Memory-Computing-251308516" class="page-section news-section">
                    <div><h3 style="display:inline-block;">In-memory computing hot topics & emerging trends: Panel discussion in Menlo Park
                        <a href="/events.html#Bay-Area-In-Memory-Computing-251308516"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Bay Area In-Memory Computing Meetup, Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">June 13, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Bay-Area-In-Memory-Computing/events/251308516/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="javamug-lvktppyxjbrb" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Skyrocket Java applications with the open-source Apache Ignite
                        <a href="/events.html#javamug-lvktppyxjbrb"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Java Metroplex User Group (JavaMUG), Speaker - Dani Taphagen</span><br/><br/>
                    <span class="news-date">June 13, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/javamug/events/lvktppyxjbrb/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="adding-speed-and-scale-existing-applications-no-rip-and-replace-using" class="page-section news-section">
                    <div><h3 style="display:inline-block;">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"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Speaker - Denis magda</span><br/><br/>
                    <span class="news-date">May 30, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 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">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Bay-Area-In-Memory-Computing-250456740" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Improving Apache Spark™ In-Memory Computing with Apache Ignite®
                        <a href="/events.html#Bay-Area-In-Memory-Computing-250456740"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Bay Area In-Memory Computing Meetup, Speaker - Valentin Kulichenko</span><br/><br/>
                    <span class="news-date">May 17, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Bay-Area-In-Memory-Computing/events/250456740/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="iot-world-santa-clara" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Spark and Apache Ignite: Where Fast Data Meets the IoT
                        <a href="/events.html#iot-world-santa-clara"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">IOT World, Santa Clara Convention Center, CA, Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">May 16, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://tmt.knect365.com/iot-world/speakers/denis-magda" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="machine-learning-and-deep-learning-apacher-ignitetm" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Machine Learning and Deep Learning with Apache® Ignite®
                        <a href="/events.html#machine-learning-and-deep-learning-apacher-ignitetm"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">May 16, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/resources/webinars/machine-learning-and-deep-learning-apacher-ignitetm" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="London-In-Memory-Computing-Meetup-250316825" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Comparing Apache Ignite and Cassandra for Hybrid Transactional/Analytical Processing (HTAP)
                        <a href="/events.html#London-In-Memory-Computing-Meetup-250316825"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">London In-Memory Computing Meetup, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">May 09, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/London-In-Memory-Computing-Meetup/events/250316825/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="NYC-In-Memory-Computing-Meetup-events-249201183" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Comparing Apache Ignite and Cassandra for Hybrid Transactional/Analytical Processing (HTAP)
                        <a href="/events.html#NYC-In-Memory-Computing-Meetup-events-249201183"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">NYC In-Memory Computing Meetup, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">April 26, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/NYC-In-Memory-Computing-Meetup/events/249201183/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="webinar-improving-apache-spark-in-memory-computing-apache-ignite" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Improving Apache Spark™ In-Memory Computing with Apache Ignite®
                        <a href="/events.html#webinar-improving-apache-spark-in-memory-computing-apache-ignite"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">April 25, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/resources/webinars/improving-apache-spark-in-memory-computing-apache-ignite" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Bay-Area-In-Memory-Computing-events-248615199" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Comparing Apache Ignite and Cassandra for Hybrid Transactional/Analytical Processing (HTAP)
                        <a href="/events.html#Bay-Area-In-Memory-Computing-events-248615199"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Bay Area In-Memory Computing Meetup, Speaker - Dmitriy Setrakyan</span><br/><br/>
                    <span class="news-date">April 11, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Bay-Area-In-Memory-Computing/events/248615199/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Apache-Spark-Maryland-events-248437125" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Spark and Apache Ignite: Make streaming analytics real with in-memory computing
                        <a href="/events.html#Apache-Spark-Maryland-events-248437125"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Apache Spark and Distributed Computing Maryland, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">April 05, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Apache-Spark-Maryland/events/248437125/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="NOVA-Data-Science-events-249015197" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite: the in-memory hammer in your data science toolkit.
                        <a href="/events.html#NOVA-Data-Science-events-249015197"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">NOVA Data Science, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">April 04, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/NOVA-Data-Science/events/249015197/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="DC-Spring-Framework-events-247811860" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Faster data access and processing? Our experiment with Apache Ignite
                        <a href="/events.html#DC-Spring-Framework-events-247811860"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">DC Spring Framework Meetup, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">April 03, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/DC-Spring-Framework/events/247811860/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="big-data-washington-dc-v-20-tickets-42867967244" class="page-section news-section">
                    <div><h3 style="display:inline-block;">The In-Memory Hammer In Your Data Science Toolkit
                        <a href="/events.html#big-data-washington-dc-v-20-tickets-42867967244"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Big Data, Washington DC v 2.0, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">April 02, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.eventbrite.com/e/big-data-washington-dc-v-20-tickets-42867967244" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="brighttalk-comparing-apacher-ignitetm-and-cassandratm-hybrid-transactional-applications" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Comparing Apache® Ignite® and Cassandra™ for Hybrid Transactional Applications (HTAP)
                        <a href="/events.html#brighttalk-comparing-apacher-ignitetm-and-cassandratm-hybrid-transactional-applications"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">BrightTALK Webinar, Denis Magda</span><br/><br/>
                    <span class="news-date">March 28, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 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">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="comparing-apacher-ignitetm-and-cassandratm-hybrid-transactional-applications" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Comparing Apache® Ignite® and Cassandra™ for Hybrid Transactional Applications (HTAP)
                        <a href="/events.html#comparing-apacher-ignitetm-and-cassandratm-hybrid-transactional-applications"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Denis Magda</span><br/><br/>
                    <span class="news-date">March 28, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/resources/webinars/comparing-apacher-ignitetm-and-cassandratm-hybrid-transactional-applications" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="in-memory-computing-essentials-for-data-scientists" class="page-section news-section">
                    <div><h3 style="display:inline-block;">In-Memory Computing Essentials for Data Scientists
                        <a href="/events.html#in-memory-computing-essentials-for-data-scientists"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Symbion IoT Meetup (Copenhagen, Denmark), Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">March 28, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://symbion.dk/event/in-memory-computing-essentials-for-data-scientists/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="apache-ignite-the-in-memory-hammer-in-your-data-science-toolkit" class="page-section news-section">
                    <div><h3 style="display:inline-block;">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"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Symbion IoT Meetup (Copenhagen, Denmark), Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">March 27, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://symbion.dk/event/apache-ignite-the-in-memory-hammer-in-your-data-science-toolkit/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Atlanta-Apache-Spark-User-Group-events-247807609" class="page-section news-section">
                    <div><h3 style="display:inline-block;">How to Share State Across Multiple Spark Jobs using Apache Ignite
                        <a href="/events.html#Atlanta-Apache-Spark-User-Group-events-247807609"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Atlanta Apache Spark User Group, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">March 20, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Atlanta-Apache-Spark-User-Group/events/247807609/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="big-bang-Data-science-Solutions-events-247996429" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite: The in-memory hammer in your data science toolkit
                        <a href="/events.html#big-bang-Data-science-Solutions-events-247996429"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Big Bang Data Science - Georgia, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">March 19, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/big-bang-Data-science-Solutions/events/247996429/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="webinar-choosing-right-in-memory-computing-technology" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Choosing the Right In-Memory Computing Technology
                        <a href="/events.html#webinar-choosing-right-in-memory-computing-technology"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Dmitriy Setrakyan</span><br/><br/>
                    <span class="news-date">March 14, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/resources/webinars/choosing-right-in-memory-computing-technology" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="NYC-In-Memory-Computing-Meetup-events-248077601" class="page-section news-section">
                    <div><h3 style="display:inline-block;">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"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">NYC In-Memory Computing Meetup, Speaker - Fotios Filacouris</span><br/><br/>
                    <span class="news-date">March 14, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/NYC-In-Memory-Computing-Meetup/events/248077601/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Moscow-Apache-Ignite-Meetup-events-247608182" class="page-section news-section">
                    <div><h3 style="display:inline-block;">In-Memory Computing Essentials for Architects and Developers - Part 1
                        <a href="/events.html#Moscow-Apache-Ignite-Meetup-events-247608182"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Moscow Apache Ignite Meetup, Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">March 13, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Moscow-Apache-Ignite-Meetup/events/247608182/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="elciotna18-event-DYLq" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Spark and Apache Ignite: Where Fast Data Meets the IoT
                        <a href="/events.html#elciotna18-event-DYLq"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">OpenIoTSummit North America, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">March 12, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://elciotna18.sched.com/event/DYLq" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Amsterdam-Java-User-Group-events-246975240" class="page-section news-section">
                    <div><h3 style="display:inline-block;">In-Memory Computing Essentials for Java Developers
                        <a href="/events.html#Amsterdam-Java-User-Group-events-246975240"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Amsterdam Java User Group Workshop, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">March 08, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Amsterdam-Java-User-Group/events/246975240/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Amsterdam-Java-User-Group-events-244797561" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Catch an intro to the Java-powered Apache Ignite - memory-centric distributed platform
                        <a href="/events.html#Amsterdam-Java-User-Group-events-244797561"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Amsterdam Java User Group, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">March 07, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Amsterdam-Java-User-Group/events/244797561/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Amsterdam-Kubernetes-Meetup-events-247989650" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Distributed Database DevOps Dilemmas? Kubernetes to the rescue!
                        <a href="/events.html#Amsterdam-Kubernetes-Meetup-events-247989650"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Amsterdam Kubernetes/Cloud-Native Meetup, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">March 06, 2018</span>
                    <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.<br/><br/>
                        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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Amsterdam-Kubernetes-Meetup/events/247989650/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="BruJUG-events-247929324" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Skyrocket Java applications with the open-source Apache Ignite
                        <a href="/events.html#BruJUG-events-247929324"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">The Brussels Java User Group, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">March 05, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/BruJUG/events/247929324/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="webinars-essentials-in-russian-part1" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Basics of In-Memory Computing for architects and developers: Part 1
                        <a href="/events.html#webinars-essentials-in-russian-part1"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Denis Magda</span><br/><br/>
                    <span class="news-date">Febuary 28, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/resources/webinars/essentials-in-russian-part1" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Big-Data-Berlin-events-247348848" class="page-section news-section">
                    <div><h3 style="display:inline-block;">The In-Memory Hammer In Your Data Science Toolkit
                        <a href="/events.html#Big-Data-Berlin-events-247348848"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Big Data, Berlin, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">Febuary 22, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Big-Data-Berlin/events/247348848/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Bay-Area-In-Memory-Computing-events-247427747" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Building consistent and highly available distributed systems with Apache Ignite and GridGain
                        <a href="/events.html#Bay-Area-In-Memory-Computing-events-247427747"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Bay Area In-Memory Computing Meetup, Speaker - Valentin Kulichenko</span><br/><br/>
                    <span class="news-date">Febuary 21, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Bay-Area-In-Memory-Computing/events/247427747/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Berlin-Kubernetes-Meetup-events-247357559" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Kubernetes: Good, Bad, Ugly of GKE and Distributed Databases in Kubernetes
                        <a href="/events.html#Berlin-Kubernetes-Meetup-events-247357559"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Berlin Kubernetes Meetup, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">Febuary 21, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Berlin-Kubernetes-Meetup/events/247357559/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="ibm-indexconf-sessions" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Spark and Apache Ignite: Where Fast Data Meets the IoT
                        <a href="/events.html#ibm-indexconf-sessions"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Index Developer Conference, Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">Febuary 20, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://developer.ibm.com/indexconf/sessions/#!?id=5554" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="jug-bb-events-247490915" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Skyrocket Java applications with the open-source Apache Ignite
                        <a href="/events.html#jug-bb-events-247490915"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Java Usergroup Berlin-Brandenburg, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">Febuary 20, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/jug-bb/events/247490915/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="redis-replaced-why-companies-now-choose-apacher-ignitetm" class="page-section news-section">
                    <div><h3 style="display:inline-block;">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"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Denis Magda</span><br/><br/>
                    <span class="news-date">Febuary 20, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 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">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="San-Francisco-Kubernetes-Meetup-events-247330448" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Deploy like a Boss: Using Kubernetes and Apache Ignite!
                        <a href="/events.html#San-Francisco-Kubernetes-Meetup-events-247330448"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">San Francisco Kubernetes Meetup, Speaker - Dani Traphagen</span><br/><br/>
                    <span class="news-date">Febuary 15, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/San-Francisco-Kubernetes-Meetup/events/247330448/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="getting-started-apacher-ignitetm-distributed-database" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Getting Started with Apache® Ignite® as a Distributed Database
                        <a href="/events.html#getting-started-apacher-ignitetm-distributed-database"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Valentin Kulichenko</span><br/><br/>
                    <span class="news-date">Febuary 14, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/resources/webinars/getting-started-apacher-ignitetm-distributed-database" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Sydney-Cassandra-Users-events-246922765" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Ignite your Cassandra Love Story: Caching Cassandra with Apache Ignite
                        <a href="/events.html#Sydney-Cassandra-Users-events-246922765"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Sydney Cassandra Users Meetup, Speaker - Rachel Pedreschi</span><br/><br/>
                    <span class="news-date">Febuary 13, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Sydney-Cassandra-Users/events/246922765/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="boston-java-events-246725780" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Java and In-Memory Computing: Apache Ignite
                        <a href="/events.html#boston-java-events-246725780"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">The Boston Java Meetup Group, Speaker - Fotios Filacouris</span><br/><br/>
                    <span class="news-date">Febuary 13, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/boston-java/events/246725780/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="mysqlbos-events-246021720" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Turbocharge your MySQL queries in-memory with Apache Ignite
                        <a href="/events.html#mysqlbos-events-246021720"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">The Boston MySQL Meetup Group, Speaker - Fotios Filacouris</span><br/><br/>
                    <span class="news-date">Febuary 12, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/mysqlbos/events/246021720/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="London-In-Memory-Computing-Meetup-events-246875000" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Building consistent and highly available distributed systems with Apache Ignite and GridGain
                        <a href="/events.html#London-In-Memory-Computing-Meetup-events-246875000"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">London In-Memory Computing Meetup, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">Febuary 07, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/London-In-Memory-Computing-Meetup/events/246875000/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="apache-ignite-service-grid-foundation-of-your-microservices-based-solution" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite Service Grid: Foundation of Your Microservices-Based Solution
                        <a href="/events.html#apache-ignite-service-grid-foundation-of-your-microservices-based-solution"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">DeveloperWeek 2018, Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">Febuary 07, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 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">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="techiteasy-events-245530302" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Meet Apache Ignite In-Memory Computing Platform
                        <a href="/events.html#techiteasy-events-245530302"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Tech it Easy- Tokyo, Speaker - Roman Shtykh</span><br/><br/>
                    <span class="news-date">Febuary 01, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/techiteasy/events/245530302/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Los-Angeles-Kubernetes-Meetup-244966244" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Deploy like a Boss: Using Kubernetes and Apache Ignite!
                        <a href="/events.html#Los-Angeles-Kubernetes-Meetup-244966244"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Los Angeles Kubernetes Meetup, Dani Traphagen</span><br/><br/>
                    <span class="news-date">January 31, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Los-Angeles-Kubernetes-Meetup/events/244966244/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="webinar-ignite-fire-in-your-sql-app" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Ignite The Fire In Your SQL App
                        <a href="/events.html#webinar-ignite-fire-in-your-sql-app"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">January 31, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/resources/webinars/ignite-fire-in-your-sql-app" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="BigDataApps-244915185" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Spark and Apache Ignite: Where Fast Data Meets the IoT
                        <a href="/events.html#BigDataApps-244915185"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Big Data Application Meetup, Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">January 31, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/BigDataApps/events/244915185/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="NYC-In-Memory-Computing-Meetup-246047934" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Building consistent and highly available distributed systems with Apache Ignite and GridGain
                        <a href="/events.html#NYC-In-Memory-Computing-Meetup-246047934"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">NYC In-Memory Computing Meetup, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">January 25, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/NYC-In-Memory-Computing-Meetup/events/246047934/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="scale-out-and-conquer-architectural-decisions-behind-distributed-in-memory" class="page-section news-section">
                    <div><h3 style="display:inline-block;">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"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Denis Magda</span><br/><br/>
                    <span class="news-date">January 17, 2018</span>
                    <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="col-sm-12 col-md-9 col-xs-12 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">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="niketechtalksdec2017" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Getting Started With Apache Ignite
                        <a href="/events.html#niketechtalksdec2017"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Nike Teck Talks, Speaker - Dani Traphagen</span><br/><br/>
                    <span class="news-date">December 14, 2017</span>
                    <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.<br/><br/>
                        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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://niketechtalksdec2017.splashthat.com/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Bay-Area-In-Memory-Computing-events-245196260" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Want extreme performance at scale? Do distributed the RIGHT way!
                        <a href="/events.html#Bay-Area-In-Memory-Computing-events-245196260"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Bay Area In-Memory Computing Meetup, Speaker - Valentin Kulichenko</span><br/><br/>
                    <span class="news-date">December 13, 2017</span>
                    <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:<br/><br/>

                        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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Bay-Area-In-Memory-Computing/events/245196260/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="in-memory-computing-essentials-architects-and-developers-part-2" class="page-section news-section">
                    <div><h3 style="display:inline-block;">In-Memory Computing Essentials for Architects and Developers: Part 2
                        <a href="/events.html#in-memory-computing-essentials-architects-and-developers-part-2"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Denis Magda</span><br/><br/>
                    <span class="news-date">December 13, 2017</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/resources/webinars/in-memory-computing-essentials-architects-and-developers-part-2" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Moscow-Apache-Ignite-Meetup-events-245332076" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite Use Cases for Banks and Telecoms
                        <a href="/events.html#Moscow-Apache-Ignite-Meetup-events-245332076"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Moscow Apache Ignite Meetup, Speakers- Mikhail Kuznetzov, Mikhail Khasin, Victor Khoodyakov</span><br/><br/>
                    <span class="news-date">December 12, 2017</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Moscow-Apache-Ignite-Meetup/events/245332076/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="kccncna17-event-D3vE" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Distributed Database DevOps Dilemmas? Kubernetes to the Rescue
                        <a href="/events.html#kccncna17-event-D3vE"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">KubeCon + CloudNativeCon North America 2017, Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">December 08, 2017</span>
                    <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!<br/><br/>
                        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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://kccncna17.sched.com/event/D3vE" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="austin-data-meetup-events-245472777" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite: the in-memory hammer in your data science toolkit
                        <a href="/events.html#austin-data-meetup-events-245472777"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Austin Data Meetup, Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">December 07, 2017</span>
                    <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.<br/><br/>

                        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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/austindata/events/245472777/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="meeting-challenges-fast-data-in-healthcare-in-memory-technologies" class="page-section news-section">
                    <div><h3 style="display:inline-block;">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"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">December 06, 2017</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/resources/webinars/meeting-challenges-fast-data-in-healthcare-in-memory-technologies" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="implementing-durable-memory-centric-architectures-in-large-financial" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Implementing Durable Memory-Centric Architectures in Large Financial <br/>Institutions
                        <a href="/events.html#implementing-durable-memory-centric-architectures-in-large-financial"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Dmitriy Setrakyan</span><br/><br/>
                    <span class="news-date">November 29, 2017</span>
                    <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.<br/><br/>
                        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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/resources/webinars/implementing-durable-memory-centric-architectures-in-large-financial" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="in-memory-computing-essentials-architects-and-developers-part-1" class="page-section news-section">
                    <div><h3 style="display:inline-block;">In-Memory Computing Essentials for Architects and Developers: Part 1
                        <a href="/events.html#in-memory-computing-essentials-architects-and-developers-part-1"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Denis Magda</span><br/><br/>
                    <span class="news-date">November 21, 2017</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/resources/webinars/in-memory-computing-essentials-architects-and-developers-part-1" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="datariders-events-243704486" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Hands-on Workshop: In-Memory Computing Essentials for Java Developers
                        <a href="/events.html#datariders-events-243704486"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Big Data and Cloud Meetup, Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">November 16, 2017</span>
                    <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.<br/><br/>
                        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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/preview/datariders/events/243704486" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="devoxx-Apache_Spark_and_Apache_Ignite:_Where_Fast_Data_Meets_the_IoT" class="page-section news-section">
                    <div><h3 style="display:inline-block;">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"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Devoxx Morocco, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">November 16, 2017</span>
                    <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.<br/><br/>
                        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="col-sm-12 col-md-9 col-xs-12 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">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="devoxx-How_to_build_an_event-driven_dynamically_re-configurable_micro-services_platform" class="page-section news-section">
                    <div><h3 style="display:inline-block;">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"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Devoxx Belgium, Speaker - Sven Beauprez</span><br/><br/>
                    <span class="news-date">November 10, 2017</span>
                    <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="col-sm-12 col-md-9 col-xs-12 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">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="odsc-apache-ignite-memory-hammer-data-science-toolkit-2" class="page-section news-section">
                    <div><h3 style="display:inline-block;">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"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">ODSC San Francisco, Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">November 3, 2017</span>
                    <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.<br/><br/>
                        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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://odsc.com/training/portfolio/apache-ignite-memory-hammer-data-science-toolkit-2" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="sydney-ibm-bluemix-meetup-group" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Fast Data meets Big Data in the IoT- Using Apache Ignite&nbsp;
                        <a href="/events.html#sydney-ibm-bluemix-meetup-group"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Sydney IBM Bluemix Meetup Group, Speaker - Rachel Pedreschi</span><br/><br/>
                    <span class="news-date">November 2, 2017</span>
                    <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?<br/><br/>
                        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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/company/news/events/sydney-ibm-bluemix-meetup-group" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Bay-Area-In-Memory-Computing-243868747" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Achieving High Availability and Consistency With Distributed Systems&nbsp;
                        <a href="/events.html#Bay-Area-In-Memory-Computing-243868747"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Bay Area Apache® Ignite® Meetup, Speakers - Denis Magda, Valetin Kulichenko</span><br/><br/>
                    <span class="news-date">November 2, 2017</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Bay-Area-In-Memory-Computing/events/243868747/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Dublin-Spark-Meetup-events-243875410" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Spark and Apache Ignite: Where Fast Data Meets the IoT&nbsp;
                        <a href="/events.html#Dublin-Spark-Meetup-events-243875410"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Dublin Spark Meetup, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">October 26, 2017</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Dublin-Spark-Meetup/events/243875410/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="spark-summit-eu-2017-how-to-share-state" class="page-section news-section">
                    <div><h3 style="display:inline-block;">How to Share State Across Multiple Spark Jobs using Apache® Ignite®&nbsp;
                        <a href="/events.html#spark-summit-eu-2017-how-to-share-state"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Spark Summit Europe 2017, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">October 25, 2017</span>
                    <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="col-sm-12 col-md-9 col-xs-12 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">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="imc-summit-2017" class="page-section news-section">
                    <div><h3 style="display:inline-block;">The In-Memory Computing Summit 2017 – North America&nbsp;
                        <a href="/events.html#imc-summit-2017"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">South San Francisco Conference Center</span><br/><br/>
                    <span class="news-date">October 24-25, 2017</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.imcsummit.org/us/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Eurostaff-Big-Data-243650721" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Better Machine Learning with Apache® Ignite®&nbsp;
                        <a href="/events.html#Eurostaff-Big-Data-243650721"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Eurostaff Big Data Meetup, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">October 19, 2017</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Eurostaff-Big-Data/events/243650721/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="sv-jug-events-242946746" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Catch an intro to Apache Ignite and skyrocket Java applications&nbsp;
                        <a href="/events.html#sv-jug-events-242946746"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Java User Group Meetup, Speaker - Valentin Kulichenko</span><br/><br/>
                    <span class="news-date">October 18, 2017</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/preview/sv-jug/events/242946746" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="apacher-sparktm-and-apacher-ignitetm-where-fast-data-meets-iot" class="page-section news-section">
                    <div><h3 style="display:inline-block;">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"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Denis Magda</span><br/><br/>
                    <span class="news-date">October 18, 2017</span>
                    <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="col-sm-12 col-md-9 col-xs-12 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">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="odsc-europe-2017-apache-ignite-memory-hammer-data-science-toolkit" class="page-section news-section">
                    <div><h3 style="display:inline-block;">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"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">ODSC Europe 2017, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">October 14, 2017</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://odsc.com/training/portfolio/apache-ignite-memory-hammer-data-science-toolkit" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="london-bigdataweek-powering-banks-financial-institutions-distributed-systems" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Powering up banks and financial institutions with distributed systems&nbsp;
                        <a href="/events.html#london-bigdataweek-powering-banks-financial-institutions-distributed-systems"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Big Data Week London 2017, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">October 13, 2017</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="http://london.bigdataweek.com/session/powering-banks-financial-institutions-distributed-systems/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="dataplatform-jp" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Real-time Data Analysis with Apache Ignite High-Performance In-memory Platform&nbsp;
                        <a href="/events.html#dataplatform-jp"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Data Platform Conference Tokyo 2017, Speaker - Roman Shtykh</span><br/><br/>
                    <span class="news-date">October 10, 2017</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="http://dataplatform.jp/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="webinar-postgres-apacher-ignitetm" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Postgres with Apache® Ignite®: Faster Transactions and Analytics&nbsp;
                        <a href="/events.html#webinar-postgres-apacher-ignitetm"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Fotios Filacouris</span><br/><br/>
                    <span class="news-date">October 4, 2017</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/resources/webinars/postgres-apacher-ignitetm-faster-transactions-and-analytics" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Paris-Spark-Meetup-243673170" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Spark and Apache Ignite: Where Fast Data Meets the IoT&nbsp;
                        <a href="/events.html#Paris-Spark-Meetup-243673170"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Paris Spark Meetup, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">October 3, 2017</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Paris-Spark-Meetup/events/243673170/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Big-Data-Developers-in-Paris-243327509" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Giving a boost to the Hadoop and Spark ecosystems with in-memory technologies&nbsp;
                        <a href="/events.html#Big-Data-Developers-in-Paris-243327509"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Big Data & Data Science, Paris, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">October 2, 2017</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/preview/Big-Data-Developers-in-Paris/events/243327509" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="New-York-Kubernetes-Meetup-242597746" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Stateful Apps in Production and Distributed Database Orchestration&nbsp;
                        <a href="/events.html#New-York-Kubernetes-Meetup-242597746"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">New York Kubernetes Meetup, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">September 27, 2017</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/New-York-Kubernetes-Meetup/events/242597746/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="better-machine-learning-apacher-ignitetm" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Better Machine Learning with Apache® Ignite®&nbsp;
                        <a href="/events.html#better-machine-learning-apacher-ignitetm"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">September 27, 2017</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/resources/webinars/better-machine-learning-apacher-ignitetm" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="NYC-In-Memory-Computing-Meetup-243150945" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Powering up banks and financial institutions with distributed systems&nbsp;
                        <a href="/events.html#NYC-In-Memory-Computing-Meetup-243150945"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">NYC In-Memory Computing Meetup, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">September 26, 2017</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/NYC-In-Memory-Computing-Meetup/events/243150945/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="internet-things-iot-new-york-meetup" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Spark and Apache Ignite: Where Fast Data Meets the IoT&nbsp;
                        <a href="/events.html#NYC-In-Memory-Computing-Meetup-243150945"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Internet of Things (IoT) New York Meetup, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">September 25, 2017</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/company/news/events/internet-things-iot-new-york-meetup" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="SF-Spark-and-Friends-242935496" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Spark, Apache Flink, and Apache Ignite: Where Fast Data Meets the IoT&nbsp;
                        <a href="/events.html#SF-Spark-and-Friends-242935496"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Meetup, San Francisco, CA, Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">September 20, 2017</span>
                    <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>
                    <p>
                        In particular, attendees will learn about data streaming to an Apache Ignite cluster from embedded
                        devices and real-time data processing with Apache Flink.
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/SF-Spark-and-Friends/events/242935496/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.meetup.com/SF-Spark-and-Friends/events/242935496/"
                             data-a2a-title="Apache Spark, Apache Flink, and Apache Ignite: Where Fast Data Meets the IoT">
                            <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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Cambridge-NET-User-Group-238837204" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Business Intelligence and Apache Ignite for .NET Users&nbsp;
                        <a href="/events.html#Cambridge-NET-User-Group-238837204"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Meetup, Cambridge .NET User Group, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">September 18, 2017</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Cambridge-NET-User-Group/events/238837204/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="SF-Big-Analytics-242368299" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite: The in-memory hammer in your data science toolkit&nbsp;
                        <a href="/events.html#SF-Big-Analytics-242368299"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Meetup, Mountain View, CA, Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">September 13, 2017</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/SF-Big-Analytics/events/242368299/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="webinar-5573556767611108099" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Implementing In-Memory Computing for Financial Services Use Cases with Apache® Ignite®&nbsp;
                        <a href="/events.html#SF-Big-Analytics-242368299"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Denis Magda</span><br/><br/>
                    <span class="news-date">September 12, 2017</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://register.gotowebinar.com/register/5573556767611108099" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="big-data-and-cloud-meetup-santa-clara-242523245" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Spark and Apache Ignite: Where Fast Data Meets the IoT&nbsp;
                        <a href="/events.html#big-data-and-cloud-meetup-santa-clara-242523245"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Meetup, Santa Clara, CA, Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">September 09, 2017</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/datariders/events/242523245/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="deploy-boss-using-kubernetesr-and-apacher-ignitetm" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Deploy like a Boss: Using Kubernetes® and Apache® Ignite®&nbsp;
                        <a href="/events.html#deploy-boss-using-kubernetesr-and-apacher-ignitetm"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Dani Traphagen</span><br/><br/>
                    <span class="news-date">August 23, 2017</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="http://info.gridgain.com/r40u0R2G0WUmSWT9S00K030" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="big-community-webinar-2423316315303466241" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Introduction to Apache Ignite, a memory-centric distributed platform&nbsp;
                        <a href="/events.html#big-community-webinar-2423316315303466241"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">August 16, 2017</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://register.gotowebinar.com/register/2423316315303466241" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="building-consistent-and-highly-available-distributed-systems" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Building Consistent and Highly Available Distributed Systems with Apache® Ignite®&nbsp;
                        <a href="/events.html#building-consistent-and-highly-available-distributed-systems"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Valentin Kulichenko</span><br/><br/>
                    <span class="news-date">August 02, 2017</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/resources/webinars/building-consistent-and-highly-available-distributed-systems-apacher-ignitetm" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>

                <section id="Bay-Area-In-Memory-Computing-241381155" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Diving into the internals of Apache Ignite's memory architecture&nbsp;<a href="/events.html#Bay-Area-In-Memory-Computing-241381155"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">Meetup, Denis Magda</span><br/><br/>
                    <span class="news-date">Jul 27, 2017</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Bay-Area-In-Memory-Computing/events/241381155/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>

                <section id="Brighton-Java-241395191" class="page-section news-section">
                    <div><h3 style="display:inline-block;">An Intro to Apache Ignite, the Memory-centric Distributed Platform&nbsp;<a href="/events.html#Brighton-Java-241395191"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">Meetup, Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">July 26, 2017</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Brighton-Java/events/241395191/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>

                <section id="distributed-acid-transactions-apache-ignite" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Distributed ACID Transactions in Apache Ignite&nbsp;<a href="/events.html#"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">Webinar, Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">July 19, 2017</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/resources/webinars/distributed-acid-transactions-apache-ignite" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>

                <section id="SQL-queries-meetup-amsterdam" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Turbocharge your SQL queries in-memory with Apache® Ignite®&nbsp;<a href="/events.html#SQL-queries-meetup-amsterdam"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">Meetup, Amsterdam, Netherlands, Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">June 20, 2017 @6:30pm</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/MySQL-User-Group-NL/events/240545280/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="meetup-an-overview-of-ignite-persistent-store" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite Community Meetup - An Overview of Donated Ignite Persistent Store Feature&nbsp;<a href="/events.html#meetup-an-overview-of-ignite-persistent-store"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">Meetup, GoToMeeting, Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">June 16, 2017 @8:00am</span>
                    <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.<br/><br/>

                        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><br/><br/>

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

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

                    <div class="col-sm-12 col-md-9 col-xs-12 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">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>

                <section id="sparksummit2017-apacheignite-apachespark" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite and Apache Spark: This is Where Fast Data Meets the IoT&nbsp;<a href="/events.html#sparksummit2017-apacheignite-apachespark"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">Spark Summit 2017, San Francisco, CA. Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">June 07, 2017 @3:20pm</span>
                    <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="col-sm-12 col-md-9 col-xs-12 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">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="apacher-ignitetm-whats-new-version-201" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache® Ignite® 2.0: Prelude to a Distributed SQL Database&nbsp;<a href="/events.html#apacher-ignitetm-whats-new-version-201"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">Webinar, Denis Magda</span><br/><br/>
                    <span class="news-date">June 07, 2017 @11:00am PT / 2:00pm ET</span>
                    <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="col-sm-12 col-md-9 col-xs-12 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 class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="apachecon2017-apacheignite-apachespark" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite and Apache Spark: This is Where Fast Data Meets the IoT&nbsp;<a href="/events.html#apachecon2017-apacheignite-apachespark"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">ApacheCon North America, Miami, FL. Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">May 18, 2017 @2:40pm</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://apachecon2017.sched.com/event/9zot" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>

                <section id="apachebigdata2017-apacheignite-sql-grid" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite SQL Grid: Hot Blend of Traditional SQL and Swift Data Grid&nbsp;<a href="/events.html#apachebigdata2017-apacheignite-sql-grid"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">ApacheCon North America, Miami, FL. Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">May 18, 2017 @10:00am</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://apachebigdata2017.sched.com/event/A01a?iframe=no" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Miami-Hadoop-User-Group" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite and Apache Spark: Where Fast Data Meets the IoT&nbsp;<a href="/events.html#Miami-Hadoop-User-Group"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">Miami Hadoop User Group, Miami, FL. Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">May 17, 2017 @6:00pm</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Miami-Hadoop-User-Group/events/239713172/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="benchmarking-apache-ignite-still-keeps-ahead-of-ha-1" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Benchmarking: Apache Ignite Still Keeps Ahead Of Hazelcast&nbsp;<a href="/events.html#benchmarking-apache-ignite-still-keeps-ahead-of-ha-1"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">Blog, Denis Magda</span><br/><br/>
                    <span class="news-date">May 12, 2017</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://dzone.com/articles/benchmarking-apache-ignite-still-keeps-ahead-of-ha-1" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Apache-Flink-London-Meetup" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Flink meets Apache Ignite&nbsp;<a href="/events.html#Apache-Flink-London-Meetup"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">Apache Flink London Meetup, Speaker - Akmal B. Chaudhri</span><br/><br/>
                    <span class="news-date">May 10, 2017 @6:30pm</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Apache-Flink-London-Meetup/events/239663941/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="apacheignite-oscon-2017" class="page-section news-section">
                    <div><h3 style="display:inline-block;">The next phase of distributed systems with Apache Ignite&nbsp;<a href="/events.html#apacheignite-oscon-2017"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">OSCON, Austin, TX. Speaker - Dani Traphagen</span><br/><br/>
                    <span class="news-date">May 10, 2017 @5:05pm</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://conferences.oreilly.com/oscon/oscon-tx/public/schedule/detail/60801" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="apacher-ignitetm-real-time-processing-iot-generated-streaming-data" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache® Ignite®: Real-Time Processing of IoT-Generated Streaming Data&nbsp;<a href="/events.html#apacher-ignitetm-real-time-processing-iot-generated-streaming-data"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">Webinar, Denis Magda</span><br/><br/>
                    <span class="news-date">May 10, 2017 @11:00am</span>
                    <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="col-sm-12 col-md-9 col-xs-12 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 class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="apache-ignite-20-released" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite 2.0 Released&nbsp;<a href="/events.html#apache-ignite-20-released"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">May 05, 2017</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://blogs.apache.org/ignite/entry/apache-ignite-2-0-redesigned" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="presenting-apache-ignite-at-percona-live-2017" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Accelerate MySQL® for Demanding OLAP and OLTP Use Cases with Apache® Ignite™&nbsp;<a href="/events.html#presenting-apache-ignite-at-percona-live-2017"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">Percona Live 2017, Santa Clara, CA, USA. Speaker - Nikita Ivanov</span><br/><br/>
                    <span class="news-date">April 25, 2017 @1:20pm PT</span>
                    <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="col-sm-12 col-md-9 col-xs-12 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">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="apacher-ignitetm-memory-backbone-microservices-based-architectures" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache® Ignite™: An In-Memory Backbone for Microservices-Based Architectures&nbsp;<a href="/events.html#apacher-ignitetm-memory-backbone-microservices-based-architectures"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">Webinar, Denis Magda</span><br/><br/>
                    <span class="news-date">April 19, 2017 @11:00am PT / 2:00pm ET</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/resources/webinars/apacher-ignitetm-memory-backbone-microservices-based-architectures" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>

                <section id="presenting-apache-ignite-performance-jpoint-2017" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Scalability in Distributed In-Memory Systems&nbsp;<a href="/events.html#presenting-apache-ignite-performance-jpoint-2017"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">JPoint 2017, Moscow, Russia. Speaker - Vladimir Ozerov</span><br/><br/>
                    <span class="news-date">April 7, 2017 @15:30pm</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://jpoint.ru/talks/scalability-in-distributed-in-memory-systems/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="presenting-apache-ignite-performance-jbreak-2017" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Scalability in Distributed In-Memory Systems&nbsp;<a href="/events.html#presenting-apache-ignite-performance-jbreak-2017"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">JBreak 2017, Novosibirsk, Russia. Speaker - Yakov Zhdanov</span><br/><br/>
                    <span class="news-date">April 4, 2017 @15:15pm</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://2017.jbreak.ru/en/talks/scalability-in-distributed-in-memory-systems/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="presenting-apache-ignite-sql-grid-pgconf-2017" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Presenting Apache Ignite SQL Grid at PGConf US 2017&nbsp;<a href="/events.html#presenting-apache-ignite-sql-grid-pgconf-2017"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">Presentation, Denis Magda</span><br/><br/>
                    <span class="news-date">March 30, 2017 @14:00pm EDT</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="http://pgconf.us/conferences/2017/program/proposals/340" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="presenting-apache-ignite-sql-grid" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Presenting Apache Ignite SQL Grid at Big Data Bootcamp&nbsp;<a href="/events.html#presenting-apache-ignite-sql-grid"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">Presentation, Denis Magda</span><br/><br/>
                    <span class="news-date">March 28, 2017 @1:00pm PT</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://blogs.apache.org/ignite/entry/presenting-apache-ignite-sql-grid" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="presenting-apache-ignite-codemotion-rome-2017" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Presenting Apache Ignite at Codemotion Rome 2017&nbsp;<a href="/events.html#presenting-apache-ignite-codemotion-rome-2017"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">Presentation, Mandhir Gidda</span><br/><br/>
                    <span class="news-date">March 24, 2017 @15:00pm</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="http://rome2017.codemotionworld.com/wp-content/themes/event/detail-talk.php?detail=5799" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="apacher-sql-grid-webinar" class="page-section news-section">
                    <div><h3 style="display:inline-block;">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"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">Webinar, Denis Magda</span><br/><br/>
                    <span class="news-date">March 15, 2017 @11:00am PT / 2:00pm ET</span>
                    <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="col-sm-12 col-md-9 col-xs-12 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">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="london_ignite_meetup_feb_23" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite: Transform batch-based system into swift real-time solution&nbsp;<a href="/events.html#london_ignite_meetup_feb_23"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">Apache Ignite London Meetup</span><br/><br/>
                    <span class="news-date">February 23, 2017</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Apache-Ignite-London/events/237189063" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="apacher-ignitetm-web-console" class="page-section news-section">
                    <div><h3 style="display:inline-block;">The Apache&reg; Ignite&reg; Web Console: Automating RDBMS Integration&nbsp;<a href="/events.html#apacher-ignitetm-web-console"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">Webinar, Denis Magda</span><br/><br/>
                    <span class="news-date">February 15, 2017 @11:00am PT / 2:00pm ET</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/resources/webinars/apacher-ignitetm-web-console-automating-rdbms-integration" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="deploying-apacher-ignitetm-and-gridgain-top-7-faqs" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Deploying Apache&reg; Ignite&reg; – Top 7 FAQs&nbsp;<a href="/events.html#deploying-apacher-ignitetm-and-gridgain-top-7-faqs"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">Webinar, Christos Erotocritou and Rachel Pedreschi</span><br/><br/>
                    <span class="news-date">January 25, 2017 @11:00am PT / 2:00pm ET</span>
                    <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="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/resources/webinars/deploying-apacher-ignitetm-and-gridgain-top-7-faqs" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- 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 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>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="release-1.8.0" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite 1.8.0&nbsp;<a href="/events.html#release-1.8.0"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">December 09, 2016</span>
                    <p>
                        This new release includes SQL DML operations support (INSERT, UPDATE, DELETE, MERGE) in Java,
                        MapR distribution support in Hadoop,
                        Entity Framework 2nd level cache and ASP.NET session state cache in .NET,
                        DML and distributed joins in ODBC,
                        stability and performance improvements, and more.
                    </p>
                    <p>
                        <a href="/download.cgi" target="_blank" rel="noopener">Download Ignite 1.8.0</a>
                    </p>
                </section>
                <section id="apache-big-data-europe-nov-16-2" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Shared Memory Layer for Spark Applications&nbsp;<a href="/events.html#apache-big-data-europe-nov-16-2"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">Dmitriy Setrakyan, Apache Big Data Europe</span><br/><br/>
                    <span class="news-date">November 16, 2016</span>
                    <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">Read more</a>
                    </p>
                </section>
                <section id="apache-big-data-europe-nov-16-1" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Shared Memory Layer and Faster SQL for Spark Applications&nbsp;<a href="/events.html#apache-big-data-europe-nov-16-1"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">Dmitriy Setrakyan, Apache Big Data Europe</span><br/><br/>
                    <span class="news-date">November 16, 2016</span>
                    <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">Read more</a>
                    </p>
                </section>
                <section id="apache-big-data-europe-nov-15" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite - Path to Converged Data Platform&nbsp;<a href="/events.html#apache-big-data-europe-nov-15"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">Dmitriy Setrakyan, Apache Big Data Europe</span><br/><br/>
                    <span class="news-date">November 15, 2016</span>
                    <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">Read more</a>
                    </p>
                </section>

                <section id="release-1.7.0" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite 1.7.0&nbsp;<a href="/events.html#release-1.7.0"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">August 05, 2016</span>
                    <p>
                        This new release includes support for distributed SQL JOIN, decimal support in ODBC,
                        custom affinity functions and ASP.NET Output Cache Provider in .NET, stability and performance improvements, and more.
                    </p>
                    <p>
                        <a href="/download.cgi" target="_blank" rel="noopener">Download Ignite 1.7.0</a>
                    </p>
                </section>

                <section id="london-meetup-june-2016" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite London Meetup&nbsp;<a href="/events.html#london-meetup-june-2016"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">July 13, 2016</span>
                    <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">Read more</a>
                    </p>
                </section>

                <section id="nyc-meetup-june-2016" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite NYC Meetup&nbsp;<a href="/events.html#nyc-meetup-june-2016"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">June 28, 2016</span>
                    <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">Read more</a>
                    </p>
                </section>


                <section id="release-1.6.0" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite 1.6.0&nbsp;<a href="/events.html#release-1.6.0"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">May 23, 2016</span>
                    <p>
                        This new release includes support for deadlock detection in Ignite caches, ODBC driver, CacheStore implementation backed by Cassandra DB,
                        AtomicSequence and AtomicReference data structures for .NET, transactions API for C++ client, stability and fault-tolerance improvements, and more.
                    </p>
                    <p>
                        <a href="/download.cgi" target="_blank" rel="noopener">Download Ignite 1.6.0</a>
                    </p>
                </section>


                <section id="ignite-extensions" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Ignite Adds Add-ons&nbsp;<a href="/events.html#ignite-extensions"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">February 17, 2016</span>
                    <p>
                        <a href="/addons.html">Add-ons</a> has been added to the website for projects built on top of Ignite. These projects intend to make user experience with Ignite easier. Currently, there are two such projects available -
                        <a href="https://github.com/sumeet70/aiex" target="_blank" rel="noopener">Apache Ignite Extensions</a> and <a href="https://console.gridgain.com" target="_blank" rel="noopener">GridGain Web Console</a>.
                    </p>
                    <p>
                        <a href="/addons.html" target="_blank" rel="noopener">Read more</a>
                    </p>
                </section>


                <section id="release-1.5.0.final" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite 1.5.0.final Released&nbsp;<a href="/events.html#release-1.5.0.final"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">January 4, 2016</span>
                    <p>
                        This final version of 1.5.0 includes support for .NET and C++, Streamer for MQTT, Twitter, Apache Flume, and Apache Camel,
                        OSGi support, "deadlock-free" transactions, 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.final</a>
                    </p>
                </section>


                <section id="release-1.5.0-b1" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite 1.5.0-b1 Early Access Released&nbsp;<a href="/events.html#release-1.5.0-b1"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">December 12, 2015</span>
                    <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>

                <section id="release-1.4.0" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite 1.4.0 Released&nbsp;<a href="/events.html#release-1.4.0"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">September 28, 2015</span>
                    <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>

                <section id="apache-ignite-graduation" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite Graduated to a Top-Level Project&nbsp;<a href="/events.html#apache-ignite-graduation"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">August 25, 2015</span>
                    <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">Read more</a>
                    </p>
                </section>


                <section id="release-1.3.0" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite 1.3.0 Released&nbsp;<a href="/events.html#release-1.3.0"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">July 21, 2015</span>
                    <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>

                <section id="release-1.2.0" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite 1.2.0 Released&nbsp;<a href="/events.html#release-1.2.0"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">June 29, 2015</span>
                    <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>

                <section id="release-1.1.0" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite 1.1.0 Released&nbsp;<a href="/events.html#release-1.1.0"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">May 28, 2015</span>
                    <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>

                <section id="release-1.0.0" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite 1.0.0 Released&nbsp;<a href="/events.html#release-1.0.0"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">April 2, 2015</span>
                    <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>

                <section id="release-1.0.0-RC3" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite 1.0.0-RC3 Released&nbsp;<a href="/events.html#release-1.0.0-RC3"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">March 24, 2015</span>
                    <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>

                <section id="nikita-interview-ignite-incubation" class="page-section news-section">
                    <div><h3 style="display:inline-block;">InfoQ Interview with Nikita Ivanov on Apache Ignite Incubation&nbsp;<a href="/events.html#nikita-interview-ignite-incubation"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">December 3, 2014</span>
                    <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">Read more</a>
                    </p>
                </section>

                <section id="apache-ignite-enters-incubation" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite Enters Incubation&nbsp;<a href="/events.html#apache-ignite-enters-incubation"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">October 1, 2014</span>
                    <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">Read more</a>
                    </p>
                </section>
            </div>
        </section>
    </main>

    <!--#include virtual="/includes/footer.html" -->
</div>
<!--#include virtual="/includes/scripts.html" -->
<!--
<script type="text/javascript" src="js/jquery.main.js"></script>
-->
</body>
</html>
