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

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

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

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

<!DOCTYPE html>
<html>
<head>
    <link rel="canonical" href="https://ignite.apache.org/events.html" />
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
    <meta http-equiv="Pragma" content="no-cache" />
    <meta http-equiv="Expires" content="0" />
    <title>Meetups & Events - Apache Ignite</title>
    <link media="all" rel="stylesheet" href="css/all.css?v=1514336028">
    <link href="https://netdna.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet">
    <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>
</head>
<body>
<div id="wrapper">
    <!--#include virtual="/includes/header.html" -->

    <main id="main" role="main" class="container">
        <section id="news" class="page-section">
            <h1 class="first">Meetups & Events</h1>
            <div class="col-sm-12 col-md-12 col-xs-12" style="padding-left: 0; padding-right: 20px;">
                <section id="brighttalk-comparing-apacher-ignitetm-and-cassandratm-hybrid-transactional-applications" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Comparing Apache® Ignite™ and Cassandra™ for Hybrid Transactional Applications (HTAP)
                        <a href="/events.html#brighttalk-comparing-apacher-ignitetm-and-cassandratm-hybrid-transactional-applications"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">BrightTALK Webinar, Denis Magda</span><br/><br/>
                    <span class="news-date">March 28, 2018</span>
                    <p>
                        Learn some of the current best practices in building HTAP applications, and the
                        differences between two of the more common technologies companies use: Apache® Cassandra™ and Apache® Ignite™.
                        This session will cover:
                    </p>
                    <ul class="page-list">
                        <li>The requirements for real-time, high volume HTAP applications</li>
                        <li>Architectural best practices, including how in-memory computing fits in and has eliminated tradeoffs between consistency, speed and scale</li>
                        <li>A detailed comparison of Apache Ignite and GridGain® for HTAP applications</li>
                    </ul>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.brighttalk.com/webcast/9059/306965?utm_campaign=webcasts-search-results-feed&utm_content=Ignite&utm_source=brighttalk-portal&utm_medium=web" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.brighttalk.com/webcast/9059/306965?utm_campaign=webcasts-search-results-feed&utm_content=Ignite&utm_source=brighttalk-portal&utm_medium=web"
                             data-a2a-title="Comparing Apache® Ignite™ and Cassandra™ for Hybrid Transactional Applications (HTAP)">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="comparing-apacher-ignitetm-and-cassandratm-hybrid-transactional-applications" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Comparing Apache® Ignite™ and Cassandra™ for Hybrid Transactional Applications (HTAP)
                        <a href="/events.html#comparing-apacher-ignitetm-and-cassandratm-hybrid-transactional-applications"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Denis Magda</span><br/><br/>
                    <span class="news-date">March 28, 2018</span>
                    <p>
                        Learn some of the current best practices in building HTAP applications, and the
                        differences between two of the more common technologies companies use: Apache® Cassandra™ and Apache® Ignite™.
                        This session will cover:
                    </p>
                    <ul class="page-list">
                        <li>The requirements for real-time, high volume HTAP applications</li>
                        <li>Architectural best practices, including how in-memory computing fits in and has eliminated tradeoffs between consistency, speed and scale</li>
                        <li>A detailed comparison of Apache Ignite and GridGain® for HTAP applications</li>
                    </ul>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/resources/webinars/comparing-apacher-ignitetm-and-cassandratm-hybrid-transactional-applications" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.gridgain.com/resources/webinars/comparing-apacher-ignitetm-and-cassandratm-hybrid-transactional-applications"
                             data-a2a-title="Comparing Apache® Ignite™ and Cassandra™ for Hybrid Transactional Applications (HTAP)">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="in-memory-computing-essentials-for-data-scientists" class="page-section news-section">
                    <div><h3 style="display:inline-block;">In-Memory Computing Essentials for Data Scientists
                        <a href="/events.html#in-memory-computing-essentials-for-data-scientists"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Symbion IoT Meetup (Copenhagen, Denmark), Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">March 28, 2018</span>
                    <p>
                        In this hands on workshop, attendees will be introduced to the fundamental capabilities of in-memory computing platforms that
                        boost highly-loaded applications, research projects, risk analysis and fraud detection tasks by
                        storing and processing massive amounts of data in memory and on disk across a cluster of machines.
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://symbion.dk/event/in-memory-computing-essentials-for-data-scientists/" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://symbion.dk/event/in-memory-computing-essentials-for-data-scientists/"
                             data-a2a-title="In-Memory Computing Essentials for Data Scientists">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="apache-ignite-the-in-memory-hammer-in-your-data-science-toolkit" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite: the in-memory hammer in your data science toolkit
                        <a href="/events.html#apache-ignite-the-in-memory-hammer-in-your-data-science-toolkit"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Symbion IoT Meetup (Copenhagen, Denmark), Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">March 27, 2018</span>
                    <p>
                        In this presentation, Akmal will explain some of the main components of Apache Ignite,
                        such as the Compute Grid, Data Grid and the Machine Learning Grid.
                        Through examples, attendees will learn how Apache Ignite can be used for data analysis.
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://symbion.dk/event/apache-ignite-the-in-memory-hammer-in-your-data-science-toolkit/" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://symbion.dk/event/apache-ignite-the-in-memory-hammer-in-your-data-science-toolkit/"
                             data-a2a-title="Apache Ignite: the in-memory hammer in your data science toolkit">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="webinar-choosing-right-in-memory-computing-technology" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Choosing the Right In-Memory Computing Technology
                        <a href="/events.html#webinar-choosing-right-in-memory-computing-technology"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Dmitriy Setrakyan</span><br/><br/>
                    <span class="news-date">March 14, 2018</span>
                    <p>
                        The need for real-time computing has resulted in the growth of many different in-memory computing technologies
                        including caches, in-memory data grids, in-memory databases, streaming technologies and broader
                        in-memory computing platforms.  But what are the best technologies for each type of project?
                        Learn about your options from one of the leading in-memory computing veterans.
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/resources/webinars/choosing-right-in-memory-computing-technology" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.gridgain.com/resources/webinars/choosing-right-in-memory-computing-technology"
                             data-a2a-title="Choosing the Right In-Memory Computing Technology">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Moscow-Apache-Ignite-Meetup-events-247608182" class="page-section news-section">
                    <div><h3 style="display:inline-block;">In-Memory Computing Essentials for Architects and Developers - Part 1
                        <a href="/events.html#Moscow-Apache-Ignite-Meetup-events-247608182"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Moscow Apache Ignite Meetup, Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">March 13, 2018</span>
                    <p>
                        Denis Magda will talk about the main features and components of In-Memory Computing solutions using the example of Apache Ignite.
                        The webinar combines theory and practice, after which participants will be able to design and write code for similar systems.
                        On specific examples of the code you will learn about:
                    <ul class="page-list">
                        <li>Configuration and launch of clusters</li>
                        <li>Data processing using key-value API</li>
                        <li>Optimal data processing with distributed SQL</li>
                    </ul>
                    <br/>
                    <i>This webinar is in Russian.</i>
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Moscow-Apache-Ignite-Meetup/events/247608182/" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.meetup.com/Moscow-Apache-Ignite-Meetup/events/247608182/"
                             data-a2a-title="In-Memory Computing Essentials for Architects and Developers: Part 1">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="elciotna18-event-DYLq" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Spark and Apache Ignite: Where Fast Data Meets the IoT
                        <a href="/events.html#elciotna18-event-DYLq"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">OpenIoTSummit North America, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">March 12, 2018</span>
                    <p>
                        This session will show attendees how to build a Fast Data solution that will receive endless streams
                        from the IoT side and will be capable of processing the streams in real-time using Apache Ignite's cluster resources.
                        In particular, attendees will learn about data streaming to an Apache Ignite cluster from
                        embedded devices and real-time data processing with Apache Spark.
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://elciotna18.sched.com/event/DYLq" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://elciotna18.sched.com/event/DYLq"
                             data-a2a-title="Apache Spark and Apache Ignite: Where Fast Data Meets the IoT">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Amsterdam-Java-User-Group-events-246975240" class="page-section news-section">
                    <div><h3 style="display:inline-block;">In-Memory Computing Essentials for Java Developers
                        <a href="/events.html#Amsterdam-Java-User-Group-events-246975240"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Amsterdam Java User Group Workshop, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">March 08, 2018</span>
                    <p>
                        Akmal Chaudhri will introduce to the fundamental capabilities of in-memory computing platforms that
                        boost high-load applications and services, and bring existing IT architecture to the next level by
                        storing and processing a massive amount of data both in RAM and, optionally, on disk.
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Amsterdam-Java-User-Group/events/246975240/" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.meetup.com/Amsterdam-Java-User-Group/events/246975240/"
                             data-a2a-title="In-Memory Computing Essentials for Java Developers">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Amsterdam-Java-User-Group-events-244797561" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Catch an intro to the Java-powered Apache Ignite - memory-centric distributed platform
                        <a href="/events.html#Amsterdam-Java-User-Group-events-244797561"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Amsterdam Java User Group, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">March 07, 2018</span>
                    <p>
                        In his talk, Akmal will introduce the many components of the open-source Apache Ignite.
                        You will learn how to solve some of the most demanding scalability and performance challenges.
                        Akmal will also cover a few typical use cases and work through some code examples.
                        Hope to see you there so you can leave ready to fire up your database deployments!
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Amsterdam-Java-User-Group/events/244797561/" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.meetup.com/Amsterdam-Java-User-Group/events/244797561/"
                             data-a2a-title="Catch an intro to the Java-powered Apache Ignite - memory-centric distributed platform">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Amsterdam-Kubernetes-Meetup-events-247989650" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Distributed Database DevOps Dilemmas? Kubernetes to the rescue!
                        <a href="/events.html#Amsterdam-Kubernetes-Meetup-events-247989650"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Amsterdam Kubernetes/Cloud-Native Meetup, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">March 06, 2018</span>
                    <p>
                        Attendees will be introduced to the fundamental capabilities of in-memory computing platforms that
                        boost highly-loaded applications, research projects, risk analysis and fraud detection tasks by
                        storing and processing massive amounts of data in memory and on disk across a cluster of machines.<br/><br/>
                        These capabilities and benefits will be demonstrated with the usage of Apache Ignite which is the
                        in-memory computing platform that is durable, strongly consistent, and highly available with
                        powerful SQL, key-value and processing APIs.
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Amsterdam-Kubernetes-Meetup/events/247989650/" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.meetup.com/Amsterdam-Kubernetes-Meetup/events/247989650/"
                             data-a2a-title="Distributed Database DevOps Dilemmas? Kubernetes to the rescue!">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="BruJUG-events-247929324" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Skyrocket Java applications with the open-source Apache Ignite
                        <a href="/events.html#BruJUG-events-247929324"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">The Brussels Java User Group, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">March 05, 2018</span>
                    <p>
                        In his talk, Akmal will introduce the many components of the open-source Apache Ignite.
                        As Java professionals, you will learn how to solve some of the most demanding scalability and performance challenges.
                        He’ll also cover a few typical use cases and work through some code examples.
                        Attendees would leave ready to fire up their own database deployments!
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/BruJUG/events/247929324/" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.meetup.com/BruJUG/events/247929324/"
                             data-a2a-title="Skyrocket Java applications with the open-source Apache Ignite">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="webinars-essentials-in-russian-part1" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Basics of In-Memory Computing for architects and developers: Part 1
                        <a href="/events.html#webinars-essentials-in-russian-part1"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Denis Magda</span><br/><br/>
                    <span class="news-date">Febuary 28, 2018</span>
                    <p>
                        Denis Magda will talk about the main features and components of In-Memory Computing solutions using the example of Apache Ignite.
                        The webinar combines theory and practice, after which participants will be able to design and write code for similar systems.
                        On specific examples of the code you will learn about:
                        <ul class="page-list">
                            <li>Configuration and launch of clusters</li>
                            <li>Data processing using key-value API</li>
                            <li>Optimal data processing with distributed SQL</li>
                        </ul>
                        <br/>
                        <i>This webinar is in Russian.</i>
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/resources/webinars/essentials-in-russian-part1" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.gridgain.com/resources/webinars/essentials-in-russian-part1"
                             data-a2a-title="Basics of In-Memory Computing for architects and developers: Part 1">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Big-Data-Berlin-events-247348848" class="page-section news-section">
                    <div><h3 style="display:inline-block;">The In-Memory Hammer In Your Data Science Toolkit
                        <a href="/events.html#Big-Data-Berlin-events-247348848"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Big Data, Berlin, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">Febuary 22, 2018</span>
                    <p>
                        In this presentation, Akmal will explain some of the main components of Apache Ignite,
                        such as the Compute Grid, Data Grid and the Machine Learning Grid.
                        Through examples, attendees will learn how Apache Ignite can be used for data analysis.
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Big-Data-Berlin/events/247348848/" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.meetup.com/Big-Data-Berlin/events/247348848/"
                             data-a2a-title="The In-Memory Hammer In Your Data Science Toolkit">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Bay-Area-In-Memory-Computing-events-247427747" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Building consistent and highly available distributed systems with Apache Ignite and GridGain
                        <a href="/events.html#Bay-Area-In-Memory-Computing-events-247427747"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Bay Area In-Memory Computing Meetup, Speaker - Valentin Kulichenko</span><br/><br/>
                    <span class="news-date">Febuary 21, 2018</span>
                    <p>
                        In this session, meetup attendees will be given an overview of Apache® Ignite™ and GridGain capabilities that allow the delivery of high availability, while not breaking data consistency. Specific guidelines will be presented on how to build such systems covering topics such as:
                        <ul class="page-list">
                            <li>In-memory backups</li>
                            <li>Data persistence</li>
                            <li>Data center replication</li>
                            <li>Full and incremental snapshots</li>
                        </ul>
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Bay-Area-In-Memory-Computing/events/247427747/" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.meetup.com/Bay-Area-In-Memory-Computing/events/247427747/"
                             data-a2a-title="Building consistent and highly available distributed systems with Apache Ignite and GridGain">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Berlin-Kubernetes-Meetup-events-247357559" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Kubernetes: Good, Bad, Ugly of GKE and Distributed Databases in Kubernetes
                        <a href="/events.html#Berlin-Kubernetes-Meetup-events-247357559"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Berlin Kubernetes Meetup, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">Febuary 21, 2018</span>
                    <p>
                        In this talk you will learn how Kubernetes can orchestrate distributed database like Apache Ignite, in particular:
                        <ul class="page-list">
                            <li>Cluster Assembling - database nodes auto-discovery in Kubernetes</li>
                            <li>Database Resilience - automated horizontal scalability</li>
                            <li>Database Availability - what’s the role of Kubernetes and the database</li>
                            <li>Utilizing both RAM and disk - set up Apache Ignite in a way to get in-memory performance with durability of disk</li>
                        </ul>
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Berlin-Kubernetes-Meetup/events/247357559/" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.meetup.com/Berlin-Kubernetes-Meetup/events/247357559/"
                             data-a2a-title="Kubernetes: Good, Bad, Ugly of GKE and Distributed Databases in Kubernetes">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="ibm-indexconf-sessions" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Spark and Apache Ignite: Where Fast Data Meets the IoT
                        <a href="/events.html#ibm-indexconf-sessions"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Index Developer Conference, Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">Febuary 20, 2018</span>
                    <p>
                        It is not enough to build a mesh of sensors or embedded devices to obtain more insights about the
                        surrounding environment and optimize your production systems. Usually, your IoT solution needs
                        to be capable of transferring enormous amounts of data to storage or the cloud where the
                        data have to be processed further.

                        This session will show attendees how to build a Fast Data solution that will receive
                        endless streams from the IoT side and will be capable of processing the streams in
                        real-time using Apache Ignite's cluster resources.
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://developer.ibm.com/indexconf/sessions/#!?id=5554" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://developer.ibm.com/indexconf/sessions/#!?id=5554"
                             data-a2a-title="Apache Spark and Apache Ignite: Where Fast Data Meets the IoT">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="jug-bb-events-247490915" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Skyrocket Java applications with the open-source Apache Ignite
                        <a href="/events.html#jug-bb-events-247490915"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Java Usergroup Berlin-Brandenburg, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">Febuary 20, 2018</span>
                    <p>
                        In his talk, Akmal will introduce the many components of the open-source Apache Ignite.
                        Meetup members, as Java professionals, will learn how to solve some of the most
                        demanding scalability and performance challenges. He’ll also cover a few typical use cases
                        and work through some code examples. Attendees would leave ready to fire up their own database deployments!

                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/jug-bb/events/247490915/" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.meetup.com/jug-bb/events/247490915/"
                             data-a2a-title="Skyrocket Java applications with the open-source Apache Ignite">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="redis-replaced-why-companies-now-choose-apacher-ignitetm" class="page-section news-section">
                    <div><h3 style="display:inline-block;">GridGain Webinar: Redis Replaced: Why Companies Now Choose Apache® Ignite™ to Improve Application Speed and Scale
                        <a href="/events.html#redis-replaced-why-companies-now-choose-apacher-ignitetm"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Denis Magda</span><br/><br/>
                    <span class="news-date">Febuary 20, 2018</span>
                    <p>
                        Learn why businesses are choosing Apache Ignite to handle their in-memory computing needs, and moving away from traditional caches like Redis.
                        In this session, Denis will explain how:
                        <ul class="page-list">
                            <li>In-memory technologies have evolved from caches to in-memory computing platform</li>
                            <li>Apache Ignite slides in-between existing applications and SQL databases to improve performance and scale</li>
                            <li>Apache Ignite native SQL and ACID transaction support works</li>
                            <li>Apache Ignite in-memory storage and collocated computing scales out linearly to avoid scale limitations with traditional caches</li>
                        </ul>
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/company/news/events/gridgain-webinar-redis-replaced-why-companies-now-choose-apacher-ignitetm" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.gridgain.com/company/news/events/gridgain-webinar-redis-replaced-why-companies-now-choose-apacher-ignitetm"
                             data-a2a-title="GridGain Webinar: Redis Replaced: Why Companies Now Choose Apache® Ignite™ to Improve Application Speed and Scale">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="San-Francisco-Kubernetes-Meetup-events-247330448" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Deploy like a Boss: Using Kubernetes and Apache Ignite!
                        <a href="/events.html#San-Francisco-Kubernetes-Meetup-events-247330448"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">San Francisco Kubernetes Meetup, Speaker - Dani Traphagen</span><br/><br/>
                    <span class="news-date">Febuary 15, 2018</span>
                    <p>
                        If downtime is not an option for you and your application needs to be extremely low-latency;
                        what cocktail of open source projects can facilitate this best? Both Kubernetes and Apache Ignite
                        are Open Source Frameworks that work exceedingly well together to achieve said goals. By working with containerization
                        Kubernetes helps enable developers to work seamlessly with new versions of their applications, running
                        them where they want with a flexibly scalable experience. Apache Ignite is the perfect complement to this.
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/San-Francisco-Kubernetes-Meetup/events/247330448/" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.meetup.com/San-Francisco-Kubernetes-Meetup/events/247330448/"
                             data-a2a-title="Deploy like a Boss: Using Kubernetes and Apache Ignite! - Dani Traphagen">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="getting-started-apacher-ignitetm-distributed-database" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Getting Started with Apache® Ignite™ as a Distributed Database
                        <a href="/events.html#getting-started-apacher-ignitetm-distributed-database"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Valentin Kulichenko</span><br/><br/>
                    <span class="news-date">Febuary 14, 2018</span>
                    <p>
                        Apache Ignite native persistence is a distributed ACID and SQL-compliant store that turns Apache Ignite into a full-fledged distributed SQL database.
                        In this webinar, Valentin Kulichenko will:
                        <ul class="page-list">
                            <li>Explain what native persistence is, and how it works</li>
                            <li>Show step-by-step how to set up Apache Ignite with native persistence</li>
                            <li>Explain the best practices for configuration and tuning</li>
                        </ul>
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/resources/webinars/getting-started-apacher-ignitetm-distributed-database" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.gridgain.com/resources/webinars/getting-started-apacher-ignitetm-distributed-database"
                             data-a2a-title="Getting Started with Apache® Ignite™ as a Distributed Database">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Sydney-Cassandra-Users-events-246922765" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Ignite your Cassandra Love Story: Caching Cassandra with Apache Ignite
                        <a href="/events.html#Sydney-Cassandra-Users-events-246922765"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Sydney Cassandra Users Meetup, Speaker - Rachel Pedreschi</span><br/><br/>
                    <span class="news-date">Febuary 13, 2018</span>
                    <p>
                        In this session you will learn how Apache Ignite can turbocharge your Cassandra cluster without sacrificing availability guarantees.
                        In this talk we’ll cover:
                        <ul class="page-list">
                            <li>An overview of the Apache Ignite architecture</li>
                            <li>How to deploy Apache Ignite in minutes on top of Cassandra</li>
                            <li>How companies use this powerful combination to handle extreme OLTP workloads</li>
                        </ul>
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Sydney-Cassandra-Users/events/246922765/" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.meetup.com/Sydney-Cassandra-Users/events/246922765/"
                             data-a2a-title="Ignite your Cassandra Love Story: Caching Cassandra with Apache Ignite">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="boston-java-events-246725780" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Java and In-Memory Computing: Apache Ignite
                        <a href="/events.html#boston-java-events-246725780"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">The Boston Java Meetup Group, Speaker - Fotios Filacouris</span><br/><br/>
                    <span class="news-date">Febuary 13, 2018</span>
                    <p>
                        In his talk, Akmal will introduce the many components of the open-source Apache Ignite.
                        Meetup members, as Java professionals, will learn how to solve some of the most
                        demanding scalability and performance challenges. He’ll also cover a few typical use cases
                        and work through some code examples. Attendees would leave ready to fire up their own database deployments!

                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/boston-java/events/246725780/" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.meetup.com/boston-java/events/246725780/"
                             data-a2a-title="Java and In-Memory Computing: Apache Ignite">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="mysqlbos-events-246021720" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Turbocharge your MySQL queries in-memory with Apache Ignite
                        <a href="/events.html#mysqlbos-events-246021720"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">The Boston MySQL Meetup Group, Speaker - Fotios Filacouris</span><br/><br/>
                    <span class="news-date">Febuary 12, 2018</span>
                    <p>
                        Apache Ignite is a unique data management platform that is built on top of a distributed key-value storage
                        and provides full-fledged MySQL support.Attendees will learn how Apache Ignite handles auto-loading of a
                        MySQL schema and data from PostgreSQL, supports MySQL indexes, supports compound indexes, and various
                        forms of MySQL queries including distributed MySQL joins.
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/mysqlbos/events/246021720/" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.meetup.com/mysqlbos/events/246021720/"
                             data-a2a-title="Turbocharge your MySQL queries in-memory with Apache Ignite">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="London-In-Memory-Computing-Meetup-events-246875000" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Building consistent and highly available distributed systems with Apache Ignite and GridGain
                        <a href="/events.html#London-In-Memory-Computing-Meetup-events-246875000"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">London In-Memory Computing Meetup, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">Febuary 07, 2018</span>
                    <p>
                        It is well known that there is a tradeoff between data consistency and high availability.
                        However, there are many applications that require very strong consistency guarantees.
                        Making such applications highly available can be a significant challenge. Akmal will explain how to overcome these challenges.
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/London-In-Memory-Computing-Meetup/events/246875000/" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.meetup.com/London-In-Memory-Computing-Meetup/events/246875000/"
                             data-a2a-title="Building consistent and highly available distributed systems with Apache Ignite and GridGain">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="apache-ignite-service-grid-foundation-of-your-microservices-based-solution" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite Service Grid: Foundation of Your Microservices-Based Solution
                        <a href="/events.html#apache-ignite-service-grid-foundation-of-your-microservices-based-solution"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">DeveloperWeek 2018, Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">Febuary 07, 2018</span>
                    <p>
                        During this session, Denis will provide a step-by-step guide on how to build a
                        fault-tolerant and scalable microservice-based solution using Apache Ignite's Service Grid and other components to resolve these aforementioned issues.
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://developerweeksfbayarea2018.sched.com/event/D6C7/apache-ignite-service-grid-foundation-of-your-microservices-based-solution" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://developerweeksfbayarea2018.sched.com/event/D6C7/apache-ignite-service-grid-foundation-of-your-microservices-based-solution"
                             data-a2a-title="Apache Ignite Service Grid: Foundation of Your Microservices-Based Solution">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="techiteasy-events-245530302" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Meet Apache Ignite In-Memory Computing Platform
                        <a href="/events.html#techiteasy-events-245530302"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Tech it Easy- Tokyo, Speaker - Roman Shtykh</span><br/><br/>
                    <span class="news-date">Febuary 01, 2018</span>
                    <p>
                        In this talk you will learn about Apache Ignite memory-centric distributed database, caching,
                        and processing platform. Roman will explain how one can do distributed computing, and use SQL
                        with horizontal scalability and high availability of NoSQL systems with Apache Ignite.
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/techiteasy/events/245530302/" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.meetup.com/techiteasy/events/245530302/"
                             data-a2a-title="Meet Apache Ignite In-Memory Computing Platform">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Los-Angeles-Kubernetes-Meetup-244966244" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Deploy like a Boss: Using Kubernetes and Apache Ignite!
                        <a href="/events.html#Los-Angeles-Kubernetes-Meetup-244966244"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Los Angeles Kubernetes Meetup, Dani Traphagen</span><br/><br/>
                    <span class="news-date">January 31, 2018</span>
                    <p>
                        If downtime is not an option for you and your application needs to be extremely low-latency;
                        what cocktail of open source projects can facilitate this best? Both Kubernetes and Apache Ignite
                        are Open Source Frameworks that work exceedingly well together to achieve said goals.
                        By working with containerization Kubernetes helps enable developers to work seamlessly with
                        new versions of their applications, running them where they want with a flexibly scalable experience. Apache Ignite is the perfect complement to this.
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Los-Angeles-Kubernetes-Meetup/events/244966244/" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.meetup.com/Los-Angeles-Kubernetes-Meetup/events/244966244/"
                             data-a2a-title="Deploy like a Boss: Using Kubernetes and Apache Ignite!">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="webinar-ignite-fire-in-your-sql-app" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Ignite The Fire In Your SQL App
                        <a href="/events.html#webinar-ignite-fire-in-your-sql-app"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">January 31, 2018</span>
                    <p>
                        Apache Ignite is (an in-memory computing platform OR an in-memory distributed data store and compute grid) with full-fledged SQL,
                        key-value and processing APIs. Many companies have added it as a cache in-between existing SQL databases
                        and their applications to speed up response times and scale. In other projects they've used it as its own SQL database.
                        This session will dive into some of the best practices for both types of projects using Apache Ignite.
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/resources/webinars/ignite-fire-in-your-sql-app" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.gridgain.com/resources/webinars/ignite-fire-in-your-sql-app"
                             data-a2a-title="Ignite The Fire In Your SQL App">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="BigDataApps-244915185" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Spark and Apache Ignite: Where Fast Data Meets the IoT
                        <a href="/events.html#BigDataApps-244915185"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Big Data Application Meetup, Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">January 31, 2018</span>
                    <p>
                        This session will show attendees how to build a Fast Data solution that will
                        receive endless streams from the IoT side and will be capable of processing the streams
                        in real-time using Apache Ignite's cluster resources.
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/BigDataApps/events/244915185/" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.meetup.com/BigDataApps/events/244915185/"
                             data-a2a-title="Apache Spark and Apache Ignite: Where Fast Data Meets the IoT">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="NYC-In-Memory-Computing-Meetup-246047934" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Building consistent and highly available distributed systems with Apache Ignite and GridGain
                        <a href="/events.html#NYC-In-Memory-Computing-Meetup-246047934"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">NYC In-Memory Computing Meetup, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">January 25, 2018</span>
                    <p>
                        It is well known that there is a tradeoff between data consistency and high availability.
                        However, there are many applications that require very strong consistency guarantees,
                        and making such applications highly available can be a significant challenge. In this session,
                        attendees will be given an overview of Apache Ignite and GridGain capabilities
                        that allow the delivery of high availability, while not breaking data consistency.
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/NYC-In-Memory-Computing-Meetup/events/246047934/" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.meetup.com/NYC-In-Memory-Computing-Meetup/events/246047934/"
                             data-a2a-title="Building consistent and highly available distributed systems with Apache Ignite and GridGain">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="scale-out-and-conquer-architectural-decisions-behind-distributed-in-memory" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Scale Out and Conquer: Architectural Decisions Behind Distributed In-Memory Systems
                        <a href="/events.html#scale-out-and-conquer-architectural-decisions-behind-distributed-in-memory"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Denis Magda</span><br/><br/>
                    <span class="news-date">January 17, 2018</span>
                    <p>
                        Distributed platforms like Apache® Ignite™ rely on a horizontal “scale-out” architecture where you dynamically
                        add more machines to achieve near-linear, elastic scalability. But how does it really work? What are its limits?
                        And how can you optimize performance and scalability?
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/resources/webinars/scale-out-and-conquer-architectural-decisions-behind-distributed-in-memory" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.gridgain.com/resources/webinars/scale-out-and-conquer-architectural-decisions-behind-distributed-in-memory"
                             data-a2a-title="Scale Out and Conquer: Architectural Decisions Behind Distributed In-Memory Systems">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="niketechtalksdec2017" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Getting Started With Apache Ignite
                        <a href="/events.html#niketechtalksdec2017"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Nike Teck Talks, Speaker - Dani Traphagen</span><br/><br/>
                    <span class="news-date">December 14, 2017</span>
                    <p>
                        Apache Ignite provides a caching layer between applications and the system of record,
                        but additionally, it provides a peer to peer architecture for transacting data, performing computations, microservices, streaming, and much more.<br/><br/>
                        During this session, we will do a deep-dive into the Apache Ignite architecture and discuss
                        how it is being deployed around the globe. You will walk away knowing why and when to use Apache Ignite in your next data intensive application!
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://niketechtalksdec2017.splashthat.com/" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://niketechtalksdec2017.splashthat.com/"
                             data-a2a-title="Getting Started With Apache Ignite">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Bay-Area-In-Memory-Computing-events-245196260" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Want extreme performance at scale? Do distributed the RIGHT way!
                        <a href="/events.html#Bay-Area-In-Memory-Computing-events-245196260"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Bay Area In-Memory Computing Meetup, Speaker - Valentin Kulichenko</span><br/><br/>
                    <span class="news-date">December 13, 2017</span>
                    <p>
                        During this meetup, Valentin Kulichenko will talk about challenges and
                        pitfalls one may face when architecting and developing a distributed system. Valentin will show how to take advantage
                        of the affinity collocation concept that is one of the most powerful and usually undervalued technique provided by distributed systems.
                        He will take Apache Ignite as a database for his experiments covering these moments in particular:<br/><br/>

                        What is data affinity and why is it important for distributed systems?
                        What is affinity colocation and how does it help to improve performance?
                        How does affinity colocation affects execution of distributed computations and distributed SQL queries? And more...
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Bay-Area-In-Memory-Computing/events/245196260/" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.meetup.com/Bay-Area-In-Memory-Computing/events/245196260/"
                             data-a2a-title="Want extreme performance at scale? Do distributed the RIGHT way!">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="in-memory-computing-essentials-architects-and-developers-part-2" class="page-section news-section">
                    <div><h3 style="display:inline-block;">In-Memory Computing Essentials for Architects and Developers: Part 2
                        <a href="/events.html#in-memory-computing-essentials-architects-and-developers-part-2"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Denis Magda</span><br/><br/>
                    <span class="news-date">December 13, 2017</span>
                    <p>
                        In this webinar, Denis Magda will introduce the fundamental capabilities and components of a distributed,
                        in-memory computing platform. With increasingly advanced coding examples, you’ll learn about:
                    </p>
                    <ul class="page-list">
                        <li>Collocated processing</li>
                        <li>Collocated processing for distributed computations</li>
                        <li>Collocated processing for SQL (distributed joins and more)</li>
                        <li>Distributed persistence usage</li>
                    </ul>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/resources/webinars/in-memory-computing-essentials-architects-and-developers-part-2" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.gridgain.com/resources/webinars/in-memory-computing-essentials-architects-and-developers-part-2"
                             data-a2a-title="In-Memory Computing Essentials for Architects and Developers: Part 2">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Moscow-Apache-Ignite-Meetup-events-245332076" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite Use Cases for Banks and Telecoms
                        <a href="/events.html#Moscow-Apache-Ignite-Meetup-events-245332076"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Moscow Apache Ignite Meetup, Speakers- Mikhail Kuznetzov, Mikhail Khasin, Victor Khoodyakov</span><br/><br/>
                    <span class="news-date">December 12, 2017</span>
                    <p>
                        Welcome to the inaugural gathering of the Moscow Apache® Ignite™ Meetup! Our guest experts -  Mikhail Kuznetzov, Mikhail Khasin, and Victor Khoodyakov will talk about their experiences implementing solutions for a large bank as well as a telecom company, based on Apache Ignite.
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Moscow-Apache-Ignite-Meetup/events/245332076/" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.meetup.com/Moscow-Apache-Ignite-Meetup/events/245332076/"
                             data-a2a-title="Apache Ignite Use Cases for Banks and Telecoms">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="kccncna17-event-D3vE" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Distributed Database DevOps Dilemmas? Kubernetes to the Rescue
                        <a href="/events.html#kccncna17-event-D3vE"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">KubeCon + CloudNativeCon North America 2017, Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">December 08, 2017</span>
                    <p>
                        Distributed databases can make so many things easier for a developer... but not always for DevOps.
                        OK, almost never for DevOps.  Kubernetes has come to the rescue with an easy application orchestration!<br/><br/>
                        In this talk you will learn how Kubernetes can orchestrate distributed database like Apache Ignite, in particular:
                    </p>
                    <ul class="page-list">
                        <li>Cluster Assembling - database nodes auto-discovery in Kubernetes.</li>
                        <li>Database Resilience - automated horizontal scalability.</li>
                        <li>Database Availability - what’s the role of Kubernetes and the database.</li>
                        <li>Utilizing both RAM and disk - set up Apache Ignite in a way to get in-memory performance with durability of disk.</li>
                    </ul>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://kccncna17.sched.com/event/D3vE" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://kccncna17.sched.com/event/D3vE"
                             data-a2a-title="Distributed Database DevOps Dilemmas? Kubernetes to the Rescue">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="austin-data-meetup-events-245472777" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite: the in-memory hammer in your data science toolkit
                        <a href="/events.html#austin-data-meetup-events-245472777"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Austin Data Meetup, Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">December 07, 2017</span>
                    <p>
                        Machine learning is a method of data analysis that automates the building of analytical models.
                        By using algorithms that iteratively learn from data, computers are able to find hidden insights
                        without the help of explicit programming. These insights bring tremendous benefits into many different domains.
                        For business users, in particular, these insights help organizations improve customer experience,
                        become more competitive, and respond much faster to opportunities or threats. The availability of very
                        powerful in-memory computing platforms, such as the open-source Apache Ignite (https://ignite.apache.org/),
                        means that more organizations can benefit from machine learning today.<br/><br/>

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

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

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.meetup.com/austindata/events/245472777/"
                             data-a2a-title="Apache Ignite: the in-memory hammer in your data science toolkit">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="meeting-challenges-fast-data-in-healthcare-in-memory-technologies" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Meeting the Challenges of Fast Data in Healthcare with In-Memory Technologies
                        <a href="/events.html#meeting-challenges-fast-data-in-healthcare-in-memory-technologies"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">December 06, 2017</span>
                    <p>
                        In this webinar, Akmal Chaudhri will discuss the requirements for fast data in healthcare and specifically
                        how Apache Ignite, a distributed in-memory computing platform, is used by drug discovery companies to identify potential therapies for complex diseases.
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/resources/webinars/meeting-challenges-fast-data-in-healthcare-in-memory-technologies" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.gridgain.com/resources/webinars/meeting-challenges-fast-data-in-healthcare-in-memory-technologies"
                             data-a2a-title="Meeting the Challenges of Fast Data in Healthcare with In-Memory Technologies">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="implementing-durable-memory-centric-architectures-in-large-financial" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Implementing Durable Memory-Centric Architectures in Large Financial <br/>Institutions
                        <a href="/events.html#implementing-durable-memory-centric-architectures-in-large-financial"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Dmitriy Setrakyan</span><br/><br/>
                    <span class="news-date">November 29, 2017</span>
                    <p>
                        In this 1-hour webinar, GridGain Systems Chief Product Officer Dmitriy Setrakyan will present
                        how distributed memory-centric architectures can be applied to various financial systems.<br/><br/>
                        Dmitriy will first go over some Apache® Ignite™ features important for financial use cases, including ACID compliance,
                        SQL compatibility, persistence, replication, security, fault tolerance and more. He will next analyze one of the largest
                        Apache Ignite deployments in the world at Sberbank, a Russian and eastern European bank. He’ll walk through its overall
                        architecture and demonstrate the 5 major challenges that Sberbank ran into when integrating distributed,
                        horizontally scalable memory-centric database at their bank.
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/resources/webinars/implementing-durable-memory-centric-architectures-in-large-financial" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.gridgain.com/resources/webinars/implementing-durable-memory-centric-architectures-in-large-financial"
                             data-a2a-title="Implementing Durable Memory-Centric Architectures in Large Financial Institutions">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="in-memory-computing-essentials-architects-and-developers-part-1" class="page-section news-section">
                    <div><h3 style="display:inline-block;">In-Memory Computing Essentials for Architects and Developers: Part 1
                        <a href="/events.html#in-memory-computing-essentials-architects-and-developers-part-1"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Denis Magda</span><br/><br/>
                    <span class="news-date">November 21, 2017</span>
                    <p>
                        In this webinar, Denis Magda will introduce the fundamental capabilities and components of an in-memory computing platform, and
                        demonstrate how to apply the theory in practice. With increasingly advanced coding examples, you’ll learn about:
                    </p>
                    <ul class="page-list">
                        <li>Cluster configuration and deployment</li>
                        <li>Data processing with key-value APIs</li>
                        <li>Data processing with SQL</li>
                    </ul>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/resources/webinars/in-memory-computing-essentials-architects-and-developers-part-1" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.gridgain.com/resources/webinars/in-memory-computing-essentials-architects-and-developers-part-1"
                             data-a2a-title="In-Memory Computing Essentials for Architects and Developers: Part 1">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="datariders-events-243704486" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Hands-on Workshop: In-Memory Computing Essentials for Java Developers
                        <a href="/events.html#datariders-events-243704486"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Big Data and Cloud Meetup, Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">November 16, 2017</span>
                    <p>
                        Attendees will be introduced to the fundamental capabilities of in-memory computing platforms that boost
                        high-load applications and services, and bring existing IT architecture to the next level by storing
                        and processing a massive amount of data both in RAM and, optionally, on disk.<br/><br/>
                        The capabilities and benefits of such platforms will be demonstrated with the usage of Apache Ignite,
                        which is the in-memory computing platform that is durable, strongly consistent, and highly available with powerful SQL, key-value and processing APIs.
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/preview/datariders/events/243704486" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.meetup.com/preview/datariders/events/243704486"
                             data-a2a-title="Hands-on Workshop: In-Memory Computing Essentials for Java Developers">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="devoxx-Apache_Spark_and_Apache_Ignite:_Where_Fast_Data_Meets_the_IoT" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Spark and Apache Ignite: Where Fast Data Meets the IoT
                        <a href="/events.html#devoxx-Apache_Spark_and_Apache_Ignite:_Where_Fast_Data_Meets_the_IoT"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Devoxx Morocco, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">November 16, 2017</span>
                    <p>
                        It is not enough to build a mesh of sensors or embedded devices to obtain more insights about the surrounding environment and
                        optimize your production systems. Usually, your IoT solution needs to be capable of transferring enormous amounts of data to
                        storage or the cloud where the data have to be processed further. Quite often, the processing of the endless streams of data has
                        to be done in real-time so that you can react on the IoT subsystem's state accordingly.<br/><br/>
                        This session will show attendees how to build a Fast Data solution that will receive endless streams from the
                        IoT side and will be capable of processing the streams in real-time using Apache Ignite's cluster resources. In particular, attendees will learn
                        about data streaming to an Apache Ignite cluster from embedded devices and real-time data processing with Apache Spark.
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://cfp.devoxx.ma/2017/talk/RYX-3007/Apache_Spark_and_Apache_Ignite:_Where_Fast_Data_Meets_the_IoT" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://cfp.devoxx.ma/2017/talk/RYX-3007/Apache_Spark_and_Apache_Ignite:_Where_Fast_Data_Meets_the_IoT"
                             data-a2a-title="Apache Spark and Apache Ignite: Where Fast Data Meets the IoT">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="devoxx-How_to_build_an_event-driven_dynamically_re-configurable_micro-services_platform" class="page-section news-section">
                    <div><h3 style="display:inline-block;">How to build an event-driven, dynamically re-configurable micro-services platform
                        <a href="/events.html#How_to_build_an_event-driven_dynamically_re-configurable_micro-services_platform"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Devoxx Belgium, Speaker - Sven Beauprez</span><br/><br/>
                    <span class="news-date">November 10, 2017</span>
                    <p>
                        Why only look at Apache Kafka to build event-driven microservices when there is also Apache Ignite, which brings far more to the table?
                    </p>
                    <p>
                        In this presentation, Sven will show you how to combine Apache Ignite with Docker to not only build an event-driven microservice platform but also to make this dynamically re-configurable without any downtime at all.
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://cfp.devoxx.be/2017/talk/YPK-6082/How_to_build_an_event-driven_dynamically_re-configurable_micro-services_platform" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://cfp.devoxx.be/2017/talk/YPK-6082/How_to_build_an_event-driven_dynamically_re-configurable_micro-services_platform"
                             data-a2a-title="How to build an event-driven, dynamically re-configurable micro-services platform">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="odsc-apache-ignite-memory-hammer-data-science-toolkit-2" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite: The In-Memory Hammer In Your Data Science Toolkit&nbsp;
                        <a href="/events.html#odsc-apache-ignite-memory-hammer-data-science-toolkit-2"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">ODSC San Francisco, Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">November 3, 2017</span>
                    <p>
                        Machine learning is a method of data analysis that automates the building of analytical models.
                        By using algorithms that iteratively learn from data, computers are able to find hidden insights without
                        the help of explicit programming. These insights bring tremendous benefits into many different domains.
                        For business users, in particular, these insights help organizations improve customer experience, become more competitive,
                        and respond much faster to opportunities or threats. The availability of very powerful in-memory computing platforms,
                        such as Apache Ignite, means that more organizations can benefit from machine learning today.<br/><br/>
                        In this presentation Denis will look at some of the main components of Apache Ignite, such as the Compute Grid,
                        Data Grid and the Machine Learning Grid. Through examples, attendees will learn how Apache Ignite can be used for data analysis.
                    </p>

                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://odsc.com/training/portfolio/apache-ignite-memory-hammer-data-science-toolkit-2" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

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

                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/company/news/events/sydney-ibm-bluemix-meetup-group" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.gridgain.com/company/news/events/sydney-ibm-bluemix-meetup-group"
                             data-a2a-title="Fast Data meets Big Data in the IoT- Using Apache Ignite">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Bay-Area-In-Memory-Computing-243868747" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Achieving High Availability and Consistency With Distributed Systems&nbsp;
                        <a href="/events.html#Bay-Area-In-Memory-Computing-243868747"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Bay Area Apache® Ignite™ Meetup, Speakers - Denis Magda, Valetin Kulichenko</span><br/><br/>
                    <span class="news-date">November 2, 2017</span>
                    <p>
                        Tech talk No. 1 - Val kicks off the learning with a session titled, "Building Consistent and Highly Available Distributed Systems with Apache Ignite and GridGain."
                    </p>

                    <p>
                        Tech talk No. 2 - Denis continues the knowledge sharing with a session titled, "Harnessing the 21st Century with a Distributed Memory-Centric SQL."
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Bay-Area-In-Memory-Computing/events/243868747/" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.meetup.com/Bay-Area-In-Memory-Computing/events/243868747/"
                             data-a2a-title="Achieving High Availability and Consistency With Distributed Systems">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Dublin-Spark-Meetup-events-243875410" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Spark and Apache Ignite: Where Fast Data Meets the IoT&nbsp;
                        <a href="/events.html#Dublin-Spark-Meetup-events-243875410"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Dublin Spark Meetup, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">October 26, 2017</span>
                    <p>
                        In this session, Akmal  will show attendees how to build a Fast Data solution that will receive endless streams from the
                        IoT side and will be capable of processing the streams in real-time using Apache Ignite's cluster resources. In particular,
                        attendees will learn about data streaming to an Apache Ignite cluster from embedded devices and real-time data processing with Apache Spark.
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Dublin-Spark-Meetup/events/243875410/" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.meetup.com/Dublin-Spark-Meetup/events/243875410/"
                             data-a2a-title="Apache Spark and Apache Ignite: Where Fast Data Meets the IoT">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="spark-summit-eu-2017-how-to-share-state" class="page-section news-section">
                    <div><h3 style="display:inline-block;">How to Share State Across Multiple Spark Jobs using Apache® Ignite™&nbsp;
                        <a href="/events.html#spark-summit-eu-2017-how-to-share-state"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Spark Summit Europe 2017, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">October 25, 2017</span>
                    <p>
                        Attend this session to learn how to easily share state in-memory across multiple Spark jobs, either
                        within the same application or between different Spark applications using an implementation of the Spark RDD
                        abstraction provided in Apache Ignite. During the talk, attendees will learn in detail how IgniteRDD –
                        an implementation of native Spark RDD and DataFrame APIs – shares the state of the RDD across other Spark jobs,
                        applications and workers. Examples will show how IgniteRDD, with its advanced in-memory indexing capabilities,
                        allows execution of SQL queries many times faster than native Spark RDDs or Data Frames.
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://spark-summit.org/eu-2017/events/how-to-share-state-across-multiple-apache-spark-jobs-using-apache-ignite/" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://spark-summit.org/eu-2017/events/how-to-share-state-across-multiple-apache-spark-jobs-using-apache-ignite/"
                             data-a2a-title="How to Share State Across Multiple Spark Jobs using Apache® Ignite™">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="imc-summit-2017" class="page-section news-section">
                    <div><h3 style="display:inline-block;">The In-Memory Computing Summit 2017 – North America&nbsp;
                        <a href="/events.html#imc-summit-2017"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">South San Francisco Conference Center</span><br/><br/>
                    <span class="news-date">October 24-25, 2017</span>
                    <p>
                        There will be several highly technical talks about Apache Ignite at the 3rd-annual  In-Memory Computing Summit
                        Oct. 24-25 at the South San Francisco Conference Center. The IMC Summit is the only industry-wide event that focuses
                        on the full range of in-memory computing-related technologies and solutions held in North America.
                    </p>
                    <p>Check out the agenda here: <a href="https://www.imcsummit.org/us/agenda/schedule/day-1">https://www.imcsummit.org/us/agenda/schedule/day-1</a></p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.imcsummit.org/us/" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.imcsummit.org/us/"
                             data-a2a-title="The In-Memory Computing Summit 2017 – North America">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Eurostaff-Big-Data-243650721" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Better Machine Learning with Apache® Ignite™&nbsp;
                        <a href="/events.html#Eurostaff-Big-Data-243650721"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Eurostaff Big Data Meetup, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">October 19, 2017</span>
                    <p>
                        The availability of very powerful in-memory computing platforms, such as Apache® Ignite™, means that more organizations can benefit
                        from machine learning today. In this presentation, Akmal will discuss how the Compute Grid, Data Grid, and Machine Learning Grid
                        components of Apache Ignite work together to enable your business to start reaping the benefits of machine learning.
                    </p>
                    <p>
                        Through examples, attendees will learn how Apache Ignite can be used for data analysis and be the in-memory hammer in your machine learning toolkit.
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Eurostaff-Big-Data/events/243650721/" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.meetup.com/Eurostaff-Big-Data/events/243650721/"
                             data-a2a-title="Better Machine Learning with Apache® Ignite™">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="sv-jug-events-242946746" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Catch an intro to Apache Ignite and skyrocket Java applications&nbsp;
                        <a href="/events.html#sv-jug-events-242946746"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Java User Group Meetup, Speaker - Valentin Kulichenko</span><br/><br/>
                    <span class="news-date">October 18, 2017</span>
                    <p>
                        Join Valentin (Val) Kulichenko as he introduces the many components of the open-source Apache Ignite.
                        You, as a Java professional, will learn how to solve some of the most demanding scalability and performance challenges.
                        He will also cover a few typical use cases and work through some code examples.
                        Hope to see you there so you can leave ready to fire up your database deployments!
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/preview/sv-jug/events/242946746" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.meetup.com/preview/sv-jug/events/242946746"
                             data-a2a-title="Catch an intro to Apache Ignite and skyrocket Java applications">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="apacher-sparktm-and-apacher-ignitetm-where-fast-data-meets-iot" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache® Spark™ and Apache® Ignite™: Where Fast Data Meets the IoT&nbsp;
                        <a href="/events.html#apacher-sparktm-and-apacher-ignitetm-where-fast-data-meets-iot"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Denis Magda</span><br/><br/>
                    <span class="news-date">October 18, 2017</span>
                    <p>
                        During this 1-hour webinar, Denis Magda will discuss a Fast Data solution that can receive endless streams
                        from the Internet of Things (IoT) and be capable of processing the streams in real-time using Apache Ignite’s cluster resources.
                        You will also learn about data streaming to an Apache Ignite cluster from embedded devices and real-time data processing with Apache® Spark™.
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/resources/webinars/apacher-sparktm-and-apacher-ignitetm-where-fast-data-meets-iot" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.gridgain.com/resources/webinars/apacher-sparktm-and-apacher-ignitetm-where-fast-data-meets-iot"
                             data-a2a-title="Apache® Spark™ and Apache® Ignite™: Where Fast Data Meets the IoT">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="odsc-europe-2017-apache-ignite-memory-hammer-data-science-toolkit" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite™: The In-Memory Hammer in Your Data Science Toolkit&nbsp;
                        <a href="/events.html#odsc-europe-2017-apache-ignite-memory-hammer-data-science-toolkit"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">ODSC Europe 2017, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">October 14, 2017</span>
                    <p>
                        In this presentation, Akmal will show some of the main components of Apache Ignite™,
                        such as the Compute Grid, Data Grid and the Machine Learning Grid. Through examples,
                        attendees will learn how Apache Ignite can be used for data analysis.
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://odsc.com/training/portfolio/apache-ignite-memory-hammer-data-science-toolkit" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://odsc.com/training/portfolio/apache-ignite-memory-hammer-data-science-toolkit"
                             data-a2a-title="Apache Ignite™: The In-Memory Hammer in Your Data Science Toolkit">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="london-bigdataweek-powering-banks-financial-institutions-distributed-systems" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Powering up banks and financial institutions with distributed systems&nbsp;
                        <a href="/events.html#london-bigdataweek-powering-banks-financial-institutions-distributed-systems"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Big Data Week London 2017, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">October 13, 2017</span>
                    <p>
                        In this presentation, attendees will learn about important Apache Ignite features for financial applications,
                        such as ACID compliance, SQL compatibility, persistence, replication, security, fault tolerance and more.
                    </p>
                    <p>
                        A customer case study will also be presented. We will analyze one of the largest Apache Ignite deployments in the world at Sberbank,
                        a Russian and Eastern European Bank, by walking through the overall architecture and demonstrating various implementation and deployment challenges.
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="http://london.bigdataweek.com/session/powering-banks-financial-institutions-distributed-systems/" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="http://london.bigdataweek.com/session/powering-banks-financial-institutions-distributed-systems/"
                             data-a2a-title="Powering up banks and financial institutions with distributed systems">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="dataplatform-jp" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Real-time Data Analysis with Apache Ignite High-Performance In-memory Platform&nbsp;
                        <a href="/events.html#dataplatform-jp"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Data Platform Conference Tokyo 2017, Speaker - Roman Shtykh</span><br/><br/>
                    <span class="news-date">October 10, 2017</span>
                    <p>
                        With the advances in IoT technology, the volume and the diversity of data to be analyzed has enormously increased,
                        and processing it with traditional disk-based technology has become more challenging. Therefore the number of data
                        analysis solutions using in-memory technology, such as Apache Ignite high-performance in-memory platform, has increased.
                    </p>
                    <p>
                        In this session, Roman will introduce Apache Ignite, and explain how it can be used for real-time analysis of large volumes of IoT data.
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="http://dataplatform.jp/" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="http://dataplatform.jp/"
                             data-a2a-title="Real-time Data Analysis with Apache Ignite High-Performance In-memory Platform">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="webinar-postgres-apacher-ignitetm" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Postgres with Apache® Ignite™: Faster Transactions and Analytics&nbsp;
                        <a href="/events.html#webinar-postgres-apacher-ignitetm"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Fotios Filacouris</span><br/><br/>
                    <span class="news-date">October 4, 2017</span>
                    <p>
                        Join Fotios Filacouris as he discusses how you can supplement PostgreSQL with Apache Ignite. You'll learn:
                    </p>
                    <ul class="page-list">
                        <li>The strategic benefits of using Apache Ignite instead of Memcache, Redis®, GigaSpaces®, or Oracle Coherence™</li>
                        <li>How to overcome the limitations of the PostgreSQL architecture for big data analytics by leveraging the parallel distributed computing and ANSI SQL-99 capabilities of Apache Ignite</li>
                        <li>How to use Apache Ignite as an advanced high-performance cache platform for hot data</li>
                    </ul>

                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/resources/webinars/postgres-apacher-ignitetm-faster-transactions-and-analytics" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.gridgain.com/resources/webinars/postgres-apacher-ignitetm-faster-transactions-and-analytics"
                             data-a2a-title="Postgres with Apache® Ignite™: Faster Transactions and Analytics">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Paris-Spark-Meetup-243673170" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Spark and Apache Ignite: Where Fast Data Meets the IoT&nbsp;
                        <a href="/events.html#Paris-Spark-Meetup-243673170"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Paris Spark Meetup, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">October 3, 2017</span>
                    <p>
                        In this session, Akmal  will show attendees how to build a Fast Data solution that will receive endless streams from the
                        IoT side and will be capable of processing the streams in real-time using Apache Ignite's cluster resources. In particular,
                        attendees will learn about data streaming to an Apache Ignite cluster from embedded devices and real-time data processing with Apache Spark.
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Paris-Spark-Meetup/events/243673170/" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.meetup.com/Paris-Spark-Meetup/events/243673170/"
                             data-a2a-title="Apache Spark and Apache Ignite: Where Fast Data Meets the IoT">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Big-Data-Developers-in-Paris-243327509" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Giving a boost to the Hadoop and Spark ecosystems with in-memory technologies&nbsp;
                        <a href="/events.html#Big-Data-Developers-in-Paris-243327509"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Big Data & Data Science, Paris, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">October 2, 2017</span>
                    <p>
                        In this talk, Akmal present how to speed up existing Hadoop and Spark deployments by making Apache Ignite responsible for RAM utilization.
                        No code modifications, no new architecture from scratch! Specifically, this presentation will cover :
                        Hadoop Accelerator, HDFS compliant In-Memory File System, MapReduce Accelerator, Spark Shared RDDs, Spark SQL boost.

                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/preview/Big-Data-Developers-in-Paris/events/243327509" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.meetup.com/preview/Big-Data-Developers-in-Paris/events/243327509"
                             data-a2a-title="Giving a boost to the Hadoop and Spark ecosystems with in-memory technologies">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="New-York-Kubernetes-Meetup-242597746" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Stateful Apps in Production and Distributed Database Orchestration&nbsp;
                        <a href="/events.html#New-York-Kubernetes-Meetup-242597746"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">New York Kubernetes Meetup, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">September 27, 2017</span>
                    <p>
                        This talk will focus on a DevOps perspective on the orchestration of distributed databases, Apache Ignite.
                        Denis will speak on node auto-discovery, automated horizontal scalability, availability and utilization of RAM and disk with Apache Ignite.
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/New-York-Kubernetes-Meetup/events/242597746/" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.meetup.com/New-York-Kubernetes-Meetup/events/242597746/"
                             data-a2a-title="Stateful Apps in Production and Distributed Database Orchestration">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="better-machine-learning-apacher-ignitetm" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Better Machine Learning with Apache® Ignite™&nbsp;
                        <a href="/events.html#better-machine-learning-apacher-ignitetm"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">September 27, 2017</span>
                    <p>
                        In this presentation, Akmal will discuss how the Compute Grid, Data Grid, and Machine Learning Grid components of Apache Ignite work together
                        to enable your business to start reaping the benefits of machine learning. Through examples, attendees will learn how Apache Ignite
                        can be used for data analysis and be the in-memory hammer in your machine learning toolkit.
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/resources/webinars/better-machine-learning-apacher-ignitetm" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.gridgain.com/resources/webinars/better-machine-learning-apacher-ignitetm"
                             data-a2a-title="Better Machine Learning with Apache® Ignite™">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="NYC-In-Memory-Computing-Meetup-243150945" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Powering up banks and financial institutions with distributed systems&nbsp;
                        <a href="/events.html#NYC-In-Memory-Computing-Meetup-243150945"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">NYC In-Memory Computing Meetup, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">September 26, 2017</span>
                    <p>
                        In this talk, Akmal will start with a brief high-level overview of distributed computing fundamentals and in-memory computing use cases.
                        Then he'll introduce the open-source Apache Ignite, an in-memory computing platform that enables high-performance transactions,
                        real-time streaming, and fast analytics in a single, comprehensive data access and processing layer.
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/NYC-In-Memory-Computing-Meetup/events/243150945/" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.meetup.com/NYC-In-Memory-Computing-Meetup/events/243150945/"
                             data-a2a-title="Powering up banks and financial institutions with distributed systems">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="internet-things-iot-new-york-meetup" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Spark and Apache Ignite: Where Fast Data Meets the IoT&nbsp;
                        <a href="/events.html#NYC-In-Memory-Computing-Meetup-243150945"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Internet of Things (IoT) New York Meetup, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">September 25, 2017</span>
                    <p>
                        Quite often, the processing of the endless streams of data has to be done in real-time so that you can react on the IoT subsystem's state accordingly.
                        In this session, Akmal will show attendees how to build a Fast Data solution that will receive endless streams from the IoT
                        side and will be capable of processing the streams in real-time using Apache Ignite's cluster resources.
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/company/news/events/internet-things-iot-new-york-meetup" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.gridgain.com/company/news/events/internet-things-iot-new-york-meetup"
                             data-a2a-title="Apache Spark and Apache Ignite: Where Fast Data Meets the IoT">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="SF-Spark-and-Friends-242935496" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Spark, Apache Flink, and Apache Ignite: Where Fast Data Meets the IoT&nbsp;
                        <a href="/events.html#SF-Spark-and-Friends-242935496"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Meetup, San Francisco, CA, Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">September 20, 2017</span>
                    <p>
                        This session will show attendees how to build a Fast Data solution that will receive endless streams from the IoT side and
                        will be capable of processing the streams in real-time using Apache Ignite's cluster resources.
                    </p>
                    <p>
                        In particular, attendees will learn about data streaming to an Apache Ignite cluster from embedded
                        devices and real-time data processing with Apache Flink.
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/SF-Spark-and-Friends/events/242935496/" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.meetup.com/SF-Spark-and-Friends/events/242935496/"
                             data-a2a-title="Apache Spark, Apache Flink, and Apache Ignite: Where Fast Data Meets the IoT">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="Cambridge-NET-User-Group-238837204" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Business Intelligence and Apache Ignite for .NET Users&nbsp;
                        <a href="/events.html#Cambridge-NET-User-Group-238837204"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Meetup, Cambridge .NET User Group, Speaker - Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">September 18, 2017</span>
                    <p>
                        This presentation will provide a deep dive into .NET features of the top level Apache projects: Apache Ignite.
                        Apache Ignite is the memory-centric platform that combines distributed SQL database and key-value data grid,
                        that is ACID compliant, horizontally scalable and highly available, and empowered with compute and machine learning capabilities.
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Cambridge-NET-User-Group/events/238837204/" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.meetup.com/Cambridge-NET-User-Group/events/238837204/"
                             data-a2a-title="Business Intelligence and Apache Ignite for .NET Users">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="SF-Big-Analytics-242368299" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite: The in-memory hammer in your data science toolkit&nbsp;
                        <a href="/events.html#SF-Big-Analytics-242368299"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Meetup, Mountain View, CA, Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">September 13, 2017</span>
                    <p>
                        In this talk, Denis will go through some of the main components of Apache Ignite, such as the Compute Grid, Data Grid and the Machine Learning Grid.
                        Through examples, attendees will learn how Apache Ignite can be used for big data analysis.
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/SF-Big-Analytics/events/242368299/" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.meetup.com/SF-Big-Analytics/events/242368299/"
                             data-a2a-title="Apache Ignite: The in-memory hammer in your data science toolkit">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="webinar-5573556767611108099" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Implementing In-Memory Computing for Financial Services Use Cases with Apache® Ignite™&nbsp;
                        <a href="/events.html#SF-Big-Analytics-242368299"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Denis Magda</span><br/><br/>
                    <span class="news-date">September 12, 2017</span>
                    <p>
                        In this presentation,  Denis will explain features of the Apache Ignite distributed computing platform that are important for financial use cases, including:
                    </p>
                    <ul class="page-list">
                        <li>ACID transaction guarantees</li>
                        <li>Distributed ANSI-99 SQL support</li>
                        <li>Replication</li>
                        <li>Security</li>
                        <li>Fault tolerance</li>
                        <li>Persistence</li>
                    </ul>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://register.gotowebinar.com/register/5573556767611108099" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://register.gotowebinar.com/register/5573556767611108099"
                             data-a2a-title="Implementing In-Memory Computing for Financial Services Use Cases with Apache® Ignite™">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="big-data-and-cloud-meetup-santa-clara-242523245" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Spark and Apache Ignite: Where Fast Data Meets the IoT&nbsp;
                        <a href="/events.html#big-data-and-cloud-meetup-santa-clara-242523245"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Meetup, Santa Clara, CA, Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">September 09, 2017</span>
                    <p>
                        In his talk, Denis will will show attendees how to build a sast Data solution that will receive endless streams from
                        the IoT side and will be capable of processing the streams in real-time using the cluster resources of Apache Ignite.
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/datariders/events/242523245/" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.meetup.com/datariders/events/242523245/"
                             data-a2a-title="Apache Spark and Apache Ignite: Where Fast Data Meets the IoT">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="deploy-boss-using-kubernetesr-and-apacher-ignitetm" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Deploy like a Boss: Using Kubernetes® and Apache® Ignite™&nbsp;
                        <a href="/events.html#deploy-boss-using-kubernetesr-and-apacher-ignitetm"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Dani Traphagen</span><br/><br/>
                    <span class="news-date">August 23, 2017</span>
                    <p>
                        If downtime is not an option for you, and your application needs to be extremely low-latency, Kubernetes® and Apache® Ignite™ are open source frameworks that work exceedingly well together to achieve these goals.
                    </p>
                    <p>
                        In this webinar, Dani Traphagen will walk through the basics of a Kubernetes and Apache Ignite deployment, including:
                    </p>
                    <ul class="page-list">
                        <li>Setting up a Apache Ignite cluster</li>
                        <li>Using the Kubernetes IP Finder and the Kubernetes Ignite Lookup Service</li>
                        <li>Sharing the Ignite Cluster Configuration</li>
                        <li>Deploying your Ignite Pods</li>
                        <li>Adjusting the Ignite Cluster Size when you need to scale</li>
                    </ul>

                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="http://info.gridgain.com/r40u0R2G0WUmSWT9S00K030" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="http://info.gridgain.com/r40u0R2G0WUmSWT9S00K030"
                             data-a2a-title="Deploy like a Boss: Using Kubernetes® and Apache® Ignite™">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="big-community-webinar-2423316315303466241" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Introduction to Apache Ignite, a memory-centric distributed platform&nbsp;
                        <a href="/events.html#big-community-webinar-2423316315303466241"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">August 16, 2017</span>
                    <p>
                        Apache Ignite is an open source memory-centric platform that combines a distributed SQL database with a Key-Value Data Grid that
                        is ACID-compliant and horizontally scalable. It enables high-performance transactions, real-time streaming, and fast analytics
                        in a single, comprehensive data access and processing layer.
                    </p>
                    <p>
                        In this webinar, attendees will learn about the many components of Apache  Ignite, including the Data Grid, Compute Grid,
                        distributed SQL database and the Machine Learning Grid. We will also cover a few typical use cases and work through some Java code examples.
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://register.gotowebinar.com/register/2423316315303466241" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://register.gotowebinar.com/register/2423316315303466241"
                             data-a2a-title="Introduction to Apache Ignite, a memory-centric distributed platform">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="building-consistent-and-highly-available-distributed-systems" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Building Consistent and Highly Available Distributed Systems with Apache® Ignite™&nbsp;
                        <a href="/events.html#building-consistent-and-highly-available-distributed-systems"><i class="fa fa-anchor"></i></a>
                    </h3></div>
                    <span class="news-date">Webinar, Valentin Kulichenko</span><br/><br/>
                    <span class="news-date">August 02, 2017</span>
                    <p>
                        In this session, Valentin Kulichenko, Apache Ignite Committer and PMC, will give an overview of some of Apache® Ignite™
                        capabilities that allow the delivery as much availability as possible, while not breaking data consistency.
                        Valentin will give specific guidelines on how to build such systems, and will do a deep dive into topics like:
                    </p>
                    <ul class="page-list">
                        <li>In-memory backups</li>
                        <li>Data persistence</li>
                        <li>Data center replication</li>
                        <li>Full and incremental snapshots</li>
                    </ul>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/resources/webinars/building-consistent-and-highly-available-distributed-systems-apacher-ignitetm" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">

                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.gridgain.com/resources/webinars/building-consistent-and-highly-available-distributed-systems-apacher-ignitetm"
                             data-a2a-title="Building Consistent and Highly Available Distributed Systems with Apache® Ignite™">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>

                <section id="Bay-Area-In-Memory-Computing-241381155" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Diving into the internals of Apache Ignite's memory architecture&nbsp;<a href="/events.html#Bay-Area-In-Memory-Computing-241381155"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">Meetup, Denis Magda</span><br/><br/>
                    <span class="news-date">Jul 27, 2017</span>
                    <p>
                        Apache Ignite is one of the fastest growing Apache projects. The presentation will take the audience on a
                        roadmap discovery of Ignite moving to a memory-centric storage model, supporting both, fast in-memory and durable on-disk data,
                        and blending a distributed SQL database with an in-memory key-value data grid.
                    </p>

                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Bay-Area-In-Memory-Computing/events/241381155/" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">
                        
                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.meetup.com/Bay-Area-In-Memory-Computing/events/241381155/"
                             data-a2a-title="Diving into the internals of Apache Ignite's memory architecture">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>

                <section id="Brighton-Java-241395191" class="page-section news-section">
                    <div><h3 style="display:inline-block;">An Intro to Apache Ignite, the Memory-centric Distributed Platform&nbsp;<a href="/events.html#Brighton-Java-241395191"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">Meetup, Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">July 26, 2017</span>
                    <p>
                        Join Akmal Chaudhri as he introduces the many components of the open-source Apache Ignite.
                        You, as a Java professional, will learn how to solve some of the most demanding scalability and performance challenges.
                        He will also cover a few typical use cases and work through some code examples.
                    </p>

                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Brighton-Java/events/241395191/" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">
                        
                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.meetup.com/Brighton-Java/events/241395191/"
                             data-a2a-title="An Intro to Apache Ignite, the Memory-centric Distributed Platform">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>

                <section id="distributed-acid-transactions-apache-ignite" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Distributed ACID Transactions in Apache Ignite&nbsp;<a href="/events.html#"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">Webinar, Akmal Chaudhri</span><br/><br/>
                    <span class="news-date">July 19, 2017</span>
                    <p>
                        During this session, Akmal Chaudhri will do a deep-dive on the architecture of
                        Apache Ignite's ACID-compliant transactional subsystem, elaborating on the following:
                    </p>
                    <ul class="page-list">
                        <li>Data consistency: one-phase and two-phase commit implementations.</li>
                        <li>Fault-tolerance: recovery protocol for running transactions.</li>
                        <li>Optimistic and Pessimistic transactions.</li>
                        <li>Deadlock-free transactions</li>
                        <li>Deadlock detection mechanism</li>
                    </ul>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/resources/webinars/distributed-acid-transactions-apache-ignite" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">
                        
                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.gridgain.com/resources/webinars/distributed-acid-transactions-apache-ignite"
                             data-a2a-title="Distributed ACID Transactions in Apache Ignite">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>

                <section id="SQL-queries-meetup-amsterdam" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Turbocharge your SQL queries in-memory with Apache® Ignite™&nbsp;<a href="/events.html#SQL-queries-meetup-amsterdam"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">Meetup, Amsterdam, Netherlands, Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">June 20, 2017 @6:30pm</span>
                    <p>
                        During this session, Denis will explain how Apache Ignite handles auto-loading of SQL schema and data from MySQL,
                        supports SQL indexes, compound indexes support, and various forms of SQL queries including distributed SQL joins.
                        He will demostrate how to:
                    </p>
                    <ul class="page-list">
                        <li>Import SQL schema from MySQL and preserve the data sets stored in MySQL and Apache Ignite in sync.</li>
                        <li>Connect to Apache Ignite from your favourite tool or application language using ODBC or JDBC driver and start
                            talking to a clustered data using familiar statements like SELECT, UPDATE, DELETE or INSERT.</li>
                        <li>Boost application performance 1,000x and scale to over 1 billion transactions per second with in-memory storage of hundreds
                            of TB's of data for your SQL-based applications.</li>
                    </ul>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/MySQL-User-Group-NL/events/240545280/" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">
                        
                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.meetup.com/MySQL-User-Group-NL/events/240545280/"
                             data-a2a-title="Turbocharge your SQL queries in-memory with Apache® Ignite™">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="meetup-an-overview-of-ignite-persistent-store" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite Community Meetup - An Overview of Donated Ignite Persistent Store Feature&nbsp;<a href="/events.html#meetup-an-overview-of-ignite-persistent-store"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">Meetup, GoToMeeting, Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">June 16, 2017 @8:00am</span>
                    <p>
                        Apache Ignite Community decided to gather and dive into the details of Ignite Persistent Store donation to the main code base.
                        It’s planned to give a general overview of the store learning more about its main capabilities and features as well as go over implementation details referring to the source code.

                        To join use the details below.<br/><br/>

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

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

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

                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="http://apache-ignite-developers.2346864.n4.nabble.com/DISCUSS-Webinar-for-Ignite-Persistent-Store-walk-through-td18677.html#a18767" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">
                        
                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="http://apache-ignite-developers.2346864.n4.nabble.com/DISCUSS-Webinar-for-Ignite-Persistent-Store-walk-through-td18677.html#a18767"
                             data-a2a-title="Apache Ignite Community Meetup - An Overview of Donated Ignite Persistent Store Feature">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>

                <section id="sparksummit2017-apacheignite-apachespark" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite and Apache Spark: This is Where Fast Data Meets the IoT&nbsp;<a href="/events.html#sparksummit2017-apacheignite-apachespark"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">Spark Summit 2017, San Francisco, CA. Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">June 07, 2017 @3:20pm</span>
                    <p>
                        During this session, Denis will explain and demonstrate how to build a Fast Data solution that will receive
                        endless streams from the IoT side and will be capable of processing the streams in real-time.
                        In particular, you will learn the following:
                    </p>
                    <ul class="page-list">
                        <li>Data streaming to an Apache Ignite cluster from embedded devices powered by Apache Mynewt.</li>
                        <li>Real-time data processing with Apache Spark and Apache Ignite.</li>
                    </ul>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://spark-summit.org/2017/events/apache-spark-and-apache-ignite-where-fast-data-meets-the-iot/" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">
                        
                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://spark-summit.org/2017/events/apache-spark-and-apache-ignite-this-is-where-fast-data-meets-the-iot/"
                             data-a2a-title="Apache Ignite and Apache Spark: This is Where Fast Data Meets the IoT">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="apacher-ignitetm-whats-new-version-201" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache® Ignite™ 2.0: Prelude to a Distributed SQL Database&nbsp;<a href="/events.html#apacher-ignitetm-whats-new-version-201"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">Webinar, Denis Magda</span><br/><br/>
                    <span class="news-date">June 07, 2017 @11:00am PT / 2:00pm ET</span>
                    <p>
                        Apache Ignite 2.0 is a turnkey release which blends a distributed in-memory SQL database (IMDB) and an in-memory key-value data
                        grid (IMDG) under one data management platform.  It is also a necessary stepping stone ahead of Ignite 2.1 release
                        which will be focused around the native disk persistence, allowing Ignite operate equally well in-memory and on-disk.

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

                        You will also learn how to create and alter SQL indexes at runtime, as well as utilize DDL to
                        update distributed data sets using standard SQL syntax. We will also cover B+Tree data structures
                        used to store SQL indexes off-heap.
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/resources/webinars/apacher-ignitetm-20-prelude-distributed-sql-database" target="_blank">Register for this webinar</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">
                        
                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.gridgain.com/resources/webinars/apacher-ignitetm-20-prelude-distributed-sql-database"
                             data-a2a-title="Apache® Ignite™ 2.0: Prelude to a Distributed SQL Database">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="apachecon2017-apacheignite-apachespark" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite and Apache Spark: This is Where Fast Data Meets the IoT&nbsp;<a href="/events.html#apachecon2017-apacheignite-apachespark"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">ApacheCon North America, Miami, FL. Speaker - Denis Magda</span><br/><br/>
                    <span class="news-date">May 18, 2017 @2:40pm</span>
                    <p>
                        During this session, Denis will explain and demonstrate how to build a Fast Data solution that will receive
                        endless streams from the IoT side and will be capable of processing the streams in real-time.
                        In particular, you will learn the following:
                    </p>
                    <ul class="page-list">
                        <li>Data streaming to an Apache Ignite cluster from embedded devices powered by Apache Mynewt.</li>
                        <li>Real-time data processing with Apache Spark and Apache Ignite.</li>
                    </ul>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://apachecon2017.sched.com/event/9zot" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">
                        
                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://apachecon2017.sched.com/event/9zot"
                             data-a2a-title="Apache Ignite and Apache Spark: This is Where Fast Data Meets the IoT">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>

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

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

                        This webinar discusses how in-memory computing using Apache® Ignite™ can overcome the performance limitations
                        common to microservices architectures built using traditional database architectures.
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.gridgain.com/resources/webinars/apacher-ignitetm-memory-backbone-microservices-based-architectures" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">
                        
                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.gridgain.com/resources/webinars/apacher-ignitetm-memory-backbone-microservices-based-architectures"
                             data-a2a-title="Apache® Ignite™: An In-Memory Backbone for Microservices-Based Architectures">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>

                <section id="presenting-apache-ignite-performance-jpoint-2017" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Scalability in Distributed In-Memory Systems&nbsp;<a href="/events.html#presenting-apache-ignite-performance-jpoint-2017"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">JPoint 2017, Moscow, Russia. Speaker - Vladimir Ozerov</span><br/><br/>
                    <span class="news-date">April 7, 2017 @15:30pm</span>
                    <p>
                        In-memory computing frameworks and products rely on a simple horizontal scalability property - the more machines we have in a cluster the better the performance.
                        However, a reasonable question arises. If I add a second machine to the cluster will I get 2x improvement? If there are 10 machines in a cluster should I expect overall 10x performance increase?
                        Is it true and if, yes, if the guarantee meets all the time?
                        Join Yakov on his talk to get answers on these questions and learn more about scalability and concurrency concepts implemented in Apache Ignite In-Memory Data Fabric.
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://jpoint.ru/talks/scalability-in-distributed-in-memory-systems/" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">
                        
                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://jpoint.ru/talks/scalability-in-distributed-in-memory-systems/"
                             data-a2a-title="Scalability in Distributed In-Memory Systems, Speaker - Vladimir Ozerov">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="presenting-apache-ignite-performance-jbreak-2017" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Scalability in Distributed In-Memory Systems&nbsp;<a href="/events.html#presenting-apache-ignite-performance-jbreak-2017"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">JBreak 2017, Novosibirsk, Russia. Speaker - Yakov Zhdanov</span><br/><br/>
                    <span class="news-date">April 4, 2017 @15:15pm</span>
                    <p>
                        In-memory computing frameworks and products rely on a simple horizontal scalability property - the more machines we have in a cluster the better the performance.
                        However, a reasonable question arises. If I add a second machine to the cluster will I get 2x improvement? If there are 10 machines in a cluster should I expect overall 10x performance increase?
                        Is it true and if, yes, if the guarantee meets all the time?
                        Join Yakov on his talk to get answers on these questions and learn more about scalability and concurrency concepts implemented in Apache Ignite In-Memory Data Fabric.
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://2017.jbreak.ru/en/talks/scalability-in-distributed-in-memory-systems/" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">
                        
                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://2017.jbreak.ru/en/talks/scalability-in-distributed-in-memory-systems/"
                             data-a2a-title="Scalability in Distributed In-Memory Systems, Speaker - Yakov Zhdanov">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="presenting-apache-ignite-sql-grid-pgconf-2017" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Presenting Apache Ignite SQL Grid at PGConf US 2017&nbsp;<a href="/events.html#presenting-apache-ignite-sql-grid-pgconf-2017"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">Presentation, Denis Magda</span><br/><br/>
                    <span class="news-date">March 30, 2017 @14:00pm EDT</span>
                    <p>
                        Learn how to boost performance 1,000x and scale to over 1 billion transactions per second with in-memory storage of hundreds
                        of TBs of data for your SQL-based applications. Apache Ignite is a unique NewSQL platform that is built on top of a distributed
                        key-value storage and provides full-fledged SQL support. Denis will show how Apache Ignite handles auto-loading of SQL schema and data,
                        SQL indexes, compound indexes support, and various forms of SQL queries including distributed SQL joins.
                        It will be demonstrated how to connect to Apache Ignite from your favorite tool or application language using ODBC or JDBC driver and
                        start talking to a clustered data using familiar statements like SELECT, UPDATE, DELETE or INSERT.
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="http://pgconf.us/conferences/2017/program/proposals/340" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">
                        
                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="http://pgconf.us/conferences/2017/program/proposals/340"
                             data-a2a-title="Presenting Apache Ignite SQL Grid at PGConf US 2017">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="presenting-apache-ignite-sql-grid" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Presenting Apache Ignite SQL Grid at Big Data Bootcamp&nbsp;<a href="/events.html#presenting-apache-ignite-sql-grid"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">Presentation, Denis Magda</span><br/><br/>
                    <span class="news-date">March 28, 2017 @1:00pm PT</span>
                    <p>
                        In this presentation, Denis will introduce Apache Ignite SQL Grid component that combines the best of two worlds - performance and scalability of data grids and
                        traditional ANSI-99 SQL support of relational databases. Moreover, Denis will take an existing application that works with a relational database and
                        will show how to run it on top of Apache Ignite with minimum efforts.
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://blogs.apache.org/ignite/entry/presenting-apache-ignite-sql-grid" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">
                        
                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://blogs.apache.org/ignite/entry/presenting-apache-ignite-sql-grid"
                             data-a2a-title="Presenting Apache Ignite SQL Grid at Big Data Bootcamp">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="presenting-apache-ignite-codemotion-rome-2017" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Presenting Apache Ignite at Codemotion Rome 2017&nbsp;<a href="/events.html#presenting-apache-ignite-codemotion-rome-2017"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">Presentation, Mandhir Gidda</span><br/><br/>
                    <span class="news-date">March 24, 2017 @15:00pm</span>
                    <p>
                        Join and learn about Apache Ignite which is a high-performance, integrated and distributed in-memory platform for
                        computing and transacting on large-scale data sets in real-time, orders of magnitude faster than possible with traditional
                        disk-based or flash technologies.
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="http://rome2017.codemotionworld.com/wp-content/themes/event/detail-talk.php?detail=5799" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">
                        
                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="http://rome2017.codemotionworld.com/wp-content/themes/event/detail-talk.php?detail=5799"
                             data-a2a-title="Presenting Apache Ignite at Codemotion Rome 2017">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="apacher-sql-grid-webinar" class="page-section news-section">
                    <div><h3 style="display:inline-block;">The Apache&reg; Ignite&trade; SQL Grid: A Hot Blend of Traditional SQL and In-Memory Data Grids&nbsp;<a href="/events.html#apacher-sql-grid-webinar"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">Webinar, Denis Magda</span><br/><br/>
                    <span class="news-date">March 15, 2017 @11:00am PT / 2:00pm ET</span>
                    <p>
                        During this webinar, Apache Ignite PMC chair Denis Magda will introduce the SQL Grid component of Apache&reg; Ignite&trade;. 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">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 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&trade; SQL Grid: A Hot Blend of Traditional SQL and In-Memory Data Grids">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="london_ignite_meetup_feb_23" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite: Transform batch-based system into swift real-time solution&nbsp;<a href="/events.html#london_ignite_meetup_feb_23"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">Apache Ignite London Meetup</span><br/><br/>
                    <span class="news-date">February 23, 2017</span>
                    <p>
                        IHS Markit will present first on how they have been using Apache Ignite on several major projects.
                        The 2nd part of the meetup will be led by Mandhir Gidda who's been working with in-memory technologies for nearly 10 years.
                    </p>
                    <div class="col-sm-12 col-md-9 col-xs-12 news-readmore">
                        <p>
                            <a href="https://www.meetup.com/Apache-Ignite-London/events/237189063" target="_blank">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 col-xs-12 ">
                        
                        <!-- AddToAny BEGIN -->
                        <div class="a2a_kit a2a_kit_size_28 a2a_default_style news-socialmedia-icons"
                             data-a2a-url="https://www.meetup.com/Apache-Ignite-London/events/237189063"
                             data-a2a-title="Apache Ignite: Transform batch-based system into swift real-time solution">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="apacher-ignitetm-web-console" class="page-section news-section">
                    <div><h3 style="display:inline-block;">The Apache&reg; Ignite&trade; Web Console: Automating RDBMS Integration&nbsp;<a href="/events.html#apacher-ignitetm-web-console"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">Webinar, Denis Magda</span><br/><br/>
                    <span class="news-date">February 15, 2017 @11:00am PT / 2:00pm ET</span>
                    <p>
                        During this webinar, Apache Ignite PMC chair Denis Magda will demonstrate how  Apache&reg; Ignite&trade; 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">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 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&trade; Web Console: Automating RDBMS Integration">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="deploying-apacher-ignitetm-and-gridgain-top-7-faqs" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Deploying Apache&reg; Ignite&trade; – Top 7 FAQs&nbsp;<a href="/events.html#deploying-apacher-ignitetm-and-gridgain-top-7-faqs"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">Webinar, Christos Erotocritou and Rachel Pedreschi</span><br/><br/>
                    <span class="news-date">January 25, 2017 @11:00am PT / 2:00pm ET</span>
                    <p>
                        Christos Erotocritou and Rachel Pedreschi have helped numerous customers get started with Apache&reg; Ignite&trade; 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">Read more</a>
                        </p>
                    </div>
                    <div class="col-sm-12 col-md-3 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&trade; – Top 7 FAQs">
                            <a class="a2a_button_twitter"></a>
                            <a class="a2a_button_linkedin"></a>
                            <a class="a2a_button_facebook"></a>
                            <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
                        </div>
                        <!-- AddToAny END -->
                    </div>
                    <p style="margin:0;">&nbsp;</p>
                </section>
                <section id="release-1.8.0" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite 1.8.0&nbsp;<a href="/events.html#release-1.8.0"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">December 09, 2016</span>
                    <p>
                        This new release includes SQL DML operations support (INSERT, UPDATE, DELETE, MERGE) in Java,
                        MapR distribution support in Hadoop,
                        Entity Framework 2nd level cache and ASP.NET session state cache in .NET,
                        DML and distributed joins in ODBC,
                        stability and performance improvements, and more.
                    </p>
                    <p>
                        <a href="/download.cgi" target="_blank">Download Ignite 1.8.0</a>
                    </p>
                </section>
                <section id="apache-big-data-europe-nov-16-2" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Shared Memory Layer for Spark Applications&nbsp;<a href="/events.html#apache-big-data-europe-nov-16-2"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">Dmitriy Setrakyan, Apache Big Data Europe</span><br/><br/>
                    <span class="news-date">November 16, 2016</span>
                    <p>
                        Join Dmitriy Setrakyan, Apache Ignite Project Management Committee Chairman and co-founder and Chief Product Officer at GridGain,
                        to learn more about the need to share state across different Spark jobs and applications and several technologies that make it possible, including Tachyon and Apache Ignite.
                    </p>
                    <p>
                        <a href="https://apachebigdataeu2016.sched.org/event/8m2O/shared-memory-layer-for-spark-applications-dmitriy-setrakyan-gridgain" target="_blank">Read more</a>
                    </p>
                </section>
                <section id="apache-big-data-europe-nov-16-1" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Shared Memory Layer and Faster SQL for Spark Applications&nbsp;<a href="/events.html#apache-big-data-europe-nov-16-1"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">Dmitriy Setrakyan, Apache Big Data Europe</span><br/><br/>
                    <span class="news-date">November 16, 2016</span>
                    <p>
                        Learn the importance of In Memory File Systems, Shared In-Memory RDDs with Apache Ignite, as well as the need to index data in-memory for fast SQL execution.
                    </p>
                    <p>
                        <a href="https://apachebigdataeu2016.sched.org/event/8m2i/shared-memory-layer-and-faster-sql-for-spark-applications-dmitriy-setrakyan-gridgain" target="_blank">Read more</a>
                    </p>
                </section>
                <section id="apache-big-data-europe-nov-15" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite - Path to Converged Data Platform&nbsp;<a href="/events.html#apache-big-data-europe-nov-15"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">Dmitriy Setrakyan, Apache Big Data Europe</span><br/><br/>
                    <span class="news-date">November 15, 2016</span>
                    <p>
                        The presentation will take the audience on a roadmap discovery of Ignite moving to a converged storage model, supporting both, analytical and transactional data sets.
                    </p>
                    <p>
                        <a href="https://apachebigdataeu2016.sched.org/event/8TzM/apache-ignite-path-to-converged-data-platform-dmitriy-setrakyan-gridgain" target="_blank">Read more</a>
                    </p>
                </section>

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

                <section id="london-meetup-june-2016" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite London Meetup&nbsp;<a href="/events.html#london-meetup-june-2016"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">July 13, 2016</span>
                    <p>
                        Join us for a technical session to look at Apache Ignite and hear from BlackRock on how they believe it will
                        solve their application performance & scalability challenges.
                    </p>
                    <p>
                        Please RSVP on <a href="https://secure.meetup.com/register/?ctx=ref" target="_blank">Meetup.com</a>.
                    </p>
                    <p>
                        <a href="http://www.meetup.com/Apache-Ignite-London/events/231963106/" target="_blank">Read more</a>
                    </p>
                </section>

                <section id="nyc-meetup-june-2016" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite NYC Meetup&nbsp;<a href="/events.html#nyc-meetup-june-2016"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">June 28, 2016</span>
                    <p>
                        Apache Ignite PMC member, Nikita Ivanov will be presenting a deep dive on Apache Ignite at our NYC meetup,
                        Tuesday, June 28 at Work Market, 240 W 37th St, 9th Floor, New York, NY.
                    </p>
                    <p>
                        Please RSVP on <a href="http://www.meetup.com/mysqlnyc/events/231578906/" target="_blank">Meetup.com</a>. Space is limited and is filling up fast!
                    </p>
                    <p>
                        <a href="http://www.meetup.com/mysqlnyc/events/231578906/" target="_blank">Read more</a>
                    </p>
                </section>


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


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


                <section id="release-1.5.0.final" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite 1.5.0.final Released&nbsp;<a href="/events.html#release-1.5.0.final"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">January 4, 2016</span>
                    <p>
                        This final version of 1.5.0 includes support for .NET and C++, Streamer for MQTT, Twitter, Apache Flume, and Apache Camel,
                        OSGi support, "deadlock-free" transactions, compact binary protocol, performance improvements for SQL queries, transactions, and more.
                    </p>
                    <p>
                        <a href="/download.cgi" target="_blank">Download Ignite 1.5.0.final</a>
                    </p>
                </section>


                <section id="release-1.5.0-b1" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite 1.5.0-b1 Early Access Released&nbsp;<a href="/events.html#release-1.5.0-b1"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">December 12, 2015</span>
                    <p>
                        This early access version includes support for .NET and C++, Streamer for MQTT, Twitter, and Apache Flume,
                        compact binary protocol, performance improvements for SQL queries, transactions, and more.
                    </p>
                    <p>
                        <a href="/download.cgi" target="_blank">Download Ignite 1.5.0-b1</a>
                    </p>
                </section>

                <section id="release-1.4.0" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite 1.4.0 Released&nbsp;<a href="/events.html#release-1.4.0"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">September 28, 2015</span>
                    <p>
                        This is the first Apache Ignite release since the project graduated from incubation in
                        August, 2015. This new release includes SSL support to communication and discovery, support for log4j2, significantly faster JDBC driver implementation,
                        fixes for SQL queries group index logic, auto-retries for cache operations in recoverable cases and more.
                    </p>
                    <p>
                        <a href="/download.cgi" target="_blank">Download Ignite 1.4.0</a>
                    </p>
                </section>

                <section id="apache-ignite-graduation" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite Graduated to a Top-Level Project&nbsp;<a href="/events.html#apache-ignite-graduation"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">August 25, 2015</span>
                    <p>
                        The Apache Software Foundation (ASF), the all-volunteer developers, stewards, and incubators of more than 350
                        Open Source projects and initiatives, announced today that Apache™ Ignite™ has graduated from the Apache Incubator
                        to become a Top-Level Project (TLP), signifying that the project's community and products have been well-governed
                        under the ASF's meritocratic process and principles.
                    </p>
                    <p>
                        <a href="http://globenewswire.com/news-release/2015/08/25/763148/10146997/en/The-Apache-Software-Foundation-Announces-Apache-tm-Ignite-tm-as-a-Top-Level-Project.html" target="_blank">Read more</a>
                    </p>
                </section>


                <section id="release-1.3.0" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite 1.3.0 Released&nbsp;<a href="/events.html#release-1.3.0"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">July 21, 2015</span>
                    <p>
                        This new release includes integration with Apache YARN for data center and resource
                        management, fixes for JTA transactions, Hibernate L2 Cache improvements, and more.
                    </p>
                    <p>
                        <a href="/download.cgi" target="_blank">Download Ignite 1.3.0</a>
                    </p>
                </section>

                <section id="release-1.2.0" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite 1.2.0 Released&nbsp;<a href="/events.html#release-1.2.0"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">June 29, 2015</span>
                    <p>
                        This new release includes shared RDD for Apache Spark (based on Ignite Data Grid),
                        integration with Apache Mesos for data center management, client-mode for light-weight
                        cluster discovery, memory-size eviction policy, and more.

                    </p>
                    <p>
                        <a href="/download.cgi" target="_blank">Download Ignite 1.2.0</a>
                    </p>
                </section>

                <section id="release-1.1.0" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite 1.1.0 Released&nbsp;<a href="/events.html#release-1.1.0"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">May 28, 2015</span>
                    <p>
                        This new release includes Google Compute Engine and generic cloud TCP discovery IP finder, "Collocated" mode for SQL queries,
                        support for (*) star notation in cache names, fix for SQL union support, and more.
                    </p>
                    <p>
                        <a href="/download.cgi" target="_blank">Download Ignite 1.1.0</a>
                    </p>
                </section>

                <section id="release-1.0.0" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite 1.0.0 Released&nbsp;<a href="/events.html#release-1.0.0"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">April 2, 2015</span>
                    <p>
                        This new release includes dynamic caching functionality to start and stop caches during runtime,
                        simplified Query API, automatic aggregation, grouping and sorting support for SQL Queries,
                        Streaming examples, and more.
                    </p>
                    <p>
                        <a href="/download.cgi" target="_blank">Download Ignite 1.0.0</a>
                    </p>
                </section>

                <section id="release-1.0.0-RC3" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite 1.0.0-RC3 Released&nbsp;<a href="/events.html#release-1.0.0-RC3"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">March 24, 2015</span>
                    <p>
                        This is the first release of Apache Ignite project. The source code in large part is based
                        on the GridGain In-Memory Data Fabric, open source edition, v. 6.6.2, which was donated to Apache Software Foundation.
                        The main feature set of Ignite In-Memory Data Fabric includes:
                    </p>
                    <ul class="page-list">
                        <li>Advanced Clustering</li>
                        <li>Compute Grid</li>
                        <li>Data Grid</li>
                        <li>Service Grid</li>
                        <li>IGFS - Ignite File System</li>
                        <li>Distributed Data Structures</li>
                        <li>Distributed Messaging</li>
                        <li>Distributed Events</li>
                        <li>Streaming & CEP</li>
                    </ul>
                    <p>
                        <a href="/download.cgi" target="_blank">Download Ignite 1.0.0-RC3</a>
                    </p>
                </section>

                <section id="nikita-interview-ignite-incubation" class="page-section news-section">
                    <div><h3 style="display:inline-block;">InfoQ Interview with Nikita Ivanov on Apache Ignite Incubation&nbsp;<a href="/events.html#nikita-interview-ignite-incubation"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">December 3, 2014</span>
                    <p>
                        InfoQ caught up with Nikita Ivanov, CTO and founder of GridGain, about the
                        In-Memory Computing framework becoming an Apache project, motivation behind this decision,
                        and upcoming features and enhancements of GridGain.

                    </p>
                    <p>
                        <a href="http://www.infoq.com/articles/gridgain-apache-ignite" target="_blank">Read more</a>
                    </p>
                </section>

                <section id="apache-ignite-enters-incubation" class="page-section news-section">
                    <div><h3 style="display:inline-block;">Apache Ignite Enters Incubation&nbsp;<a href="/events.html#apache-ignite-enters-incubation"><i class="fa fa-anchor"></i></a></h3></div>
                    <span class="news-date">October 1, 2014</span>
                    <p>
                        GridGain recently announced that the GridGain In-Memory Data Fabric has been accepted
                        into the Apache Incubator program under the name "Apache Ignite." Earlier in 2014, GridGain was
                        transformed to an open source model through Apache 2.0 license. Now, the product will be available
                        under the Apache Foundation project portfolio.
                    </p>
                    <p>
                        <a href="http://www.infoq.com/news/2014/12/gridgain-ignite" target="_blank">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>
