blob: a598150a9eff63b4be3c3391c5719ba479d3fa04 [file] [log] [blame]
---
layout: post
status: PUBLISHED
published: true
title: 'Apache Ignite 2.0: Redesigned Off-heap Memory, DDL and Machine Learning'
id: 8fa5953c-9e84-4104-8ff9-cc9b17d12219
date: '2017-05-05 19:37:00 -0400'
categories: ignite
tags:
- rdbms
- grid
- machine
- apache
- imdb
- data
- learning
- ignite
- sql
permalink: ignite/entry/apache-ignite-2-0-redesigned
---
<p>We released the long-awaited Apache Ignite version 2.0 on May 5. The community spent almost a year incorporating tremendous changes to the legacy Apache Ignite 1.x architecture. And all of that effort paid off. Our collective blood, sweat (and perhaps even a few tears) opened up new and exciting opportunities for the Apache Ignite project.</p>
<p>Have I piqued your interest about this new release yet? Let's walk through some of the main new features that have appeared under the hood of Apache Ignite 2.0.</p>
<h3>Reengineered Off-Heap Memory Architecture.</h3>
<p>The platform&rsquo;s entire memory architecture was reengineered from scratch. In a nutshell, all of the data and indexes are now stored in a completely new manageable off-heap memory that has no issues with memory fragmentation, accelerates SQL Grid significantly and helps your application easily tolerate Java GC pauses.</p>
<p>Take a peek at the illustration below and try to guess what&rsquo;s changed. Afterward, please read&nbsp;<a href="https://apacheignite.readme.io/docs/page-memory" target="_blank">this documentation</a>&nbsp;to see if your eye caught everything that&rsquo;s new.</p>
<p><img src="https://files.readme.io/0bf1bbf-Page-Memory-Diagram-v3.png"> </p>
<p>Here&rsquo;s something extremely noteworthy: the architecture now integrates seamlessly with disk drives. Why do we care about this? Stay tuned!</p>
<h3>Data Definition Language.</h3>
<p>This release introduces support for Data Definition Language (DDL) as a part of its SQL Grid functionality. Now you can define -- and, what&rsquo;s more important, alter -- indexes in runtime without the need to restart your cluster. Apache Ignite users have long awaited this feature! Even more exciting news: users can leverage this with standard SQL commands like CREATE or DROP index. This is only the beginning! Go to <a href="https://apacheignite.readme.io/docs/distributed-ddl" target="_blank">this page</a> to learn more about current DDL support.</p>
<h3>Machine Learning Grid Beta - Distributed Algebra.</h3>
<p>Apache Ignite is about more than in-memory storage. And it&rsquo;s not just one more product for distributed computations or real-time streaming. It's much, much more than that. It's a hot blend of well-integrated distributed and highly concurrent modules that turned Apache Ignite into what is today: A robust data-fabric and framework with the goal of making your application thrive and outperform even the best of expectations.</p>
<p>But there was one thing missing until now. Drumroll, please: machine-learning support!</p>
<p>With Apache Ignite 2.0 you can check project&rsquo;s own <a href="https://apacheignite.readme.io/docs/machine-learning" target="_blank">distributed algebra implementation</a>. The distributed algebra is the foundation of the entire component. And soon you can expect to get distributed versions of widely used regression algorithms, decision trees and more.</p>
<h3>Spring Data Integration.</h3>
<p><a href="https://apacheignite-mix.readme.io/docs/spring-data" target="_blank">Spring Data integration</a> allows the interaction of an Apache Ignite cluster using the well-known and highly adopted Spring Data Framework. You can connect to the cluster by means of Spring Data repositories and start executing distributed SQL queries as well as simple CRUD operations.</p>
<h3>Rocket MQ </h3>
<p>Are you using Rocket MQ in your project and need to push data from the Rocket to Ignite?&nbsp;<a href="https://apacheignite-mix.readme.io/docs/rocketmq-streamer" target="_blank">Here is</a> an easy solution.</p>
<h3>Hibernate 5.</h3>
<p>Hibernate L2 cache users have been anticipating support of Hibernate 5 on Apache Ignite for quite a long time. Apache Ignite 2.0 grants <a href="https://apacheignite-mix.readme.io/docs/hibernate-l2-cache" target="_blank">this desire</a>. The integration now supports Hibernate 5 and contains a number of bug fixes and improvements.</p>
<h3>Ignite.NET</h3>
<p>Ignite.NET has been enhanced with an addition of a <a href="https://apacheignite-net.readme.io/docs/plugins" target="_blank">plugin system</a> that allows the writing and embedding 3rd party .NET components into Ignite.NET.</p>
<h3>Ignite.C++</h3>
<p>The Ignite.C++ part of the community finally came up with a way to execute arbitrary C++ code on remote cluster machines.</p>
<p>This approach was initially tested for <a href="https://apacheignite-cpp.readme.io/docs/continuous-queries" target="_blank">continuous queries</a>. You can now register continuous queries' remote filters on any cluster node you like. Going forward you can expect support for the Ignite.C++ compute grid and more.</p>
<p>Want to learn more? Please join me June 7 for a <a href="https://www.gridgain.com/resources/webinars/apacher-ignitetm-whats-new-version-20" target="_blank">webinar</a> titled, &ldquo;Apache&reg; Ignite&trade;: What&rsquo;s New in Version 2.0.&rdquo; I hope to see you there!</p>
<p>P.S. Just in case you can&rsquo;t wait until June&hellip; &nbsp;<a href="https://ignite.apache.org/releases/2.0.0/release_notes.html" target="_blank">here's</a>&nbsp;a full list of the changes inside Apache Ignite 2.0.</p>