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

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

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

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

<!DOCTYPE html>
<html lang="en">
<head>
    <link rel="canonical" href="https://ignite.apache.org/events.html" />
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
    <meta http-equiv="Pragma" content="no-cache" />
    <meta http-equiv="Expires" content="0" />
    <title>Meetups & Events - Apache Ignite</title>
    <!--#include virtual="/includes/styles.html" -->
</head>
<body>
<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="how-to-boost-and-scale-postgres-from-sharding-to-in-memory-data-grids" class="page-section news-section">
                    <div><h3 style="display:inline-block;">How to boost and scale Postgres - from sharding to in-memory data grids
                        <a href="/events.html#how-to-boost-and-scale-postgres-from-sharding-to-in-memory-data-grids"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Bengaluru, PGConf India</span><br/><br/>
                    <span class="news-date">February 26, 2020</span>

                    <p>Whether you want to scale to petabytes or tap into RAM, there is a solution for Postgres. Let's review these practical solutions, including built-in caching, sharding, and in-memory data grids like Apache Ignite.</p>

                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://pgconf.in/conferences/pgconfin2020/program/proposals/184" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-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://pgconf.in/conferences/pgconfin2020/program/proposals/184"
                             data-a2a-title="How to boost and scale Postgres - from sharding to in-memory data grids">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>				
				
				<section id="in-memory-computing-essentials-for-software-engineers" 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"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">San Francisco, DeveloperWeek 2020, Speaker: Denis Magda</span><br/><br/>
                    <span class="news-date">February 13, 2020</span>

                    <p>The session is tailored for Java experts who thirst for practical experience with in-memory computing technologies. You’ll be given an overview of in-memory concepts such as caches, databases, and data grids combined with a technical deep-dive.</p>

                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://developerweek2020.sched.com/event/YF7B" 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://developerweek2020.sched.com/event/YF7B"
                             data-a2a-title="In-Memory Computing Essentials for Software Engineers">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>					
				
				
				
				
				<section id="in-memory-computing-essentials-for-java-developers" class="page-section news-section">
                    <div><h3 style="display:inline-block;">In-Memory Computing Essentials for Java Developers
                        <a href="/events.html#in-memory-computing-essentials-for-java-developers"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Chicago Java User Group, Speaker: Denis Magda</span><br/><br/>
                    <span class="news-date">January 16, 2020</span>

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

                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/meetup-group-mqTCMocI/events/267293957/" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-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/meetup-group-mqTCMocI/events/267293957/"
                             data-a2a-title="In-Memory Computing Essentials for Java Developers">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>				
				
				
				
				<section id="data-streaming-using-apache-flink-and-apache-ignite" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Data Streaming Using Apache Flink and Apache Ignite
                        <a href="/events.html#data-streaming-using-apache-flink-and-apache-ignite"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Speaker: Saikat Maitra</span><br/><br/>
                    <span class="news-date">DECEMBER 18, 2019</span>

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

                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/resources/webinars/data-streaming-using-apache-flink-and-apache-ignite" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div class="col-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/data-streaming-using-apache-flink-and-apache-ignite"
                             data-a2a-title="Data Streaming Using Apache Flink and Apache Ignite">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>				
				

				<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<sup>®</sup> is changing from an In-Memory Data Grid into an In-Memory Database
                        <a href="/events.html#in-memory-computing-essentials-for-software-engineers-oct"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Open Source Database Best Practices, Speaker: Alexey Goncharuk</span><br/><br/>
                    <span class="news-date">DECEMBER 16, 2019</span>

                    <p>Our upcoming event “Open Source Database Best Practices” focuses on the latest developments in open source database technology. You will hear about ProxySQL, ClickHouse and Apache Ignite from speakers who are actively engaged in creating these technologies. The speakers work for ProxySQL, Altinity, and GridGain Systems and are all active committers to their respective projects.</p>
					
					<a href="https://www.google.com/maps/place/51°30'07.1%22N+0°07'07.9%22W/@51.501965,-0.118852,17z/data=!3m1!4b1!4m5!3m4!1s0x0:0x0!8m2!3d51.501965!4d-0.118852" target="_blank" rel="noopener">Where to Find Us</a>

                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.eventbrite.com/e/open-source-database-best-practices-registration-82082285325" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div 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/open-source-database-best-practices-registration-82082285325"
                             data-a2a-title="How and why Apache Ignite™ is changing from an In-Memory Data Grid into an In-Memory Database">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>				

				<section id="how-to-migrate-your-data-schema-to-apache-ignite-deec-4-19" class="page-section news-section">
                    <div><h3 style="display:inline-block;">How to Migrate Your Data Schema to Apache Ignite 
                        <a href="/events.html#how-to-migrate-your-data-schema-to-apache-ignite-deec-4-19"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Speaker: Ivan Rakov</span><br/><br/>
                    <span class="news-date">DECEMBER 4, 2019</span>

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

                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/resources/webinars/how-migrate-your-data-schema-apache-ignite" target="_blank" rel="noopener">Read more</a>
                        </p>
                    </div>
                    <div 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/how-migrate-your-data-schema-apache-ignite"
                             data-a2a-title="How to Migrate Your Data Schema to Apache Ignite">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>					
				
				<section id="apache-ignite-moscow-meetup-dec-3-19" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite Moscow Meetup 
                        <a href="/events.html#apache-ignite-moscow-meetup-dec-3-19"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Moscow, Russia, Speakers: Andrey Gura, Denis Garus</span><br/><br/>
                    <span class="news-date">DECEMBER 3, 2019</span>

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

                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://gridgain.timepad.ru/event/1124829/" 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/1124829/"
                             data-a2a-title="Apache Ignite Moscow Meetup">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event 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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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#" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event 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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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 aria-label="Twitter" class="a2a_button_twitter"></a>
                            <a aria-label="Linkedin" class="a2a_button_linkedin"></a>
                            <a aria-label="Facebook" class="a2a_button_facebook"></a>
                            <a aria-label="Add To Any" 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" aria-label="Event Meetup"><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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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" aria-label="Event Meetup"><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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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" aria-label="Event Meetup"><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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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" aria-label="Event Meetup"><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" aria-label="Event Meetup"><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" aria-label="Event Meetup"><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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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" aria-label="Event Meetup"><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" aria-label="Event Meetup"><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" aria-label="Event Meetup"><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" aria-label="Event Meetup"><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" aria-label="Event Meetup"><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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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" aria-label="Event Meetup"><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" aria-label="Event Meetup">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>
