Apache Ignite Blog Posts

Machine Learning Blog Series

By Akmal Chaudhri | Aug 13, 2018

Dive into a series of Machine Learning blogs with Akmal Chaudhri. In the following blogs, Akmal explains, with code examples, how ML algorithms can be used in conjunction with Apache Ignite.

  1. Genetic Algorithms with Apache Ignite
  2. Introduction to Machine Learning with Apache Ignite
  3. Using Linear Regression with Apache Ignite
  4. Using k-NN Classification with Apache Ignite
  5. Using K-Means Clustering with Apache Ignite
  6. Using Apache Ignite’s Machine Learning for Fraud Detection at Scale

Apache Ignite 2.5: Scaling to 1000s Nodes Clusters

By Denis Magda | May 31, 2018

Apache Ignite was always appreciated by its users for two primary things it delivers - scalability and performance. Throughout the lifetime many distributed systems tend to do performance optimizations from a release to release while making scalability related improvements just a couple of times. It's not because the scalability is of no interest. Usually, scalability requirements are set and solved once by a distributed system and don't require significant additional interventions by engineers.

However, Apache Ignite grew to the point when the community decided to revisit its discovery subsystem that influences how well and far Ignite scales out. The goal was pretty clear - Ignite has to scale to 1000s of nodes as good as it scales to 100s now.

Read more

Apache Ignite: More than a simple cache

By Gastón Lucero | May 16, 2018

Let us suppose that we start to develop a webserver for our IOT App with a few endpoints, like POST for receive events, GET devicesBySensorType, GET all, and PUT for update device metadata, etc.

At first, a cache for common data could seem like a secondary issue, but if we start to think long term and if we want to improve performance and/or to decrease response time (e.g when a service retrieve data from a database), we realize that a cache is a mandatory requirement.

Read more

Apache Ignite Transactions Architecture: Transaction Handling at the Level of Third-Party Persistence

By Akmal Chaudhri | May 07, 2018

Handling transaction failure with third-party persistence is actually easier than you may think, as updates and changes are applied to the third-party store first.

Read more

Apache Ignite Transactions Architecture: Ignite Persistence Transaction Handling

By Akmal Chaudhri | May 03, 2018

Learn about transaction handling at the level of Apache Ignite persistence (for example, WAL, checkpointing, and more).

Read more

Apache Cassandra and Apache Ignite: Selecting the Right Distributed Database Solution

By Nikita Ivanov | April 10, 2018

Apache® Cassandra™ is a popular open-source, distributed, key-value store columnar NoSQL database used by companies such as Netflix, eBay, and Expedia for key parts of their business. For Apache Cassandra users that need ad-hoc SQL query capabilities but are otherwise happy with their database choice, Apache® Ignite™ can enhance the performance of Apache Cassandra. For Apache Cassandra users or companies considering Cassandra that find it does not have the read speed or SQL capabilities they need in a distributed key-value store database, Apache Ignite can be a powerful alternative to Apache Cassandra.

Read more

Using Apache Ignite to Prevent Duplicate REST Requests

By David Khanaferov | March 19, 2018

Read on to find out how David Khanaferov used Apache Ignite to prevent duplicate REST requests.

Read more

Apache Ignite Persistence, Expiration Policies and Monitoring with Prometheus + Grafana

By Sven Goly | March 17, 2018

Streaming data from Kafka to Ignite and processing it with horizontal and vertical scalability has been covered in the first four parts. At this point, we got our processed data in the cache – so we want to either persist that data or set up some expiration policy so we don’t run out of space. Since we want to make sure everything works as intended, we’ll also start setting up a monitoring.

Read more

Apache Ignite: In-Memory Option for Apache Cassandra Deployments

By Artem Schitow | February 22, 2018

In this blog, Artem Schitow shows how to deploy Apache Ignite as an in-memory layer above Cassandra. Read on to find out how it is possible to preserve existing deployments of Cassandra and address its limitations with Ignite

Read more

Meltdown and Spectre patches show negligible impact to Apache Ignite performance

By Denis Magda | January 30, 2018

Apache Ignite community applied security patches against the notorious Meltdown Spectre vulnerabilities and completed performance testing of general operations and workloads that are typical for Ignite deployments.

Read more

Apache Ignite Transactions Architecture: Concurrency Modes and Isolation Levels

By Akmal Chaudhri | January 25, 2017

Most modern multi-user applications allow concurrent data access and modification. To manage this capability and ensure that the system moves from one consistent state to another, the concept of transactions is used. Transactions rely upon locks, which can be acquired at the beginning of a transaction (pessimistic locking) or at the end of a transaction (optimistic locking) before work is committed.

Read more

Apache Ignite Transactions Architecture: 2-phase commit protocol

By Akmal Chaudhri | January 12, 2017

Apache Ignite supports a range of different Application Programming Interfaces (APIs). In this multi-part article series, we will take a more detailed look at how Apache Ignite manages transactions in its key-value API and some of the mechanisms and protocols it supports.

In this first part, we will begin with a discussion of the two-phase commit (2PC) protocol and then look at how this works with various types of cluster nodes.

Read more

Protecting Apache Ignite from 'Meltdown' and 'Spectre' vulnerabilities

By Denis Magda | January 08, 2018

The world was rocked after the recent disclosure of the Meltdown and Spectre vulnerabilities that literally affect almost all software ever developed. Both issues are related to the way all modern CPUs are designed and this is why they have opened unprecedented security breaches -- making the software, including Apache Ignite, vulnerable to hacker attacks.

Read more

In-Memory Technologies: Meeting Healthcare's Fast Data Challenges (Part 2)

By Akmal Chaudhri | December 28, 2017

Learn about a healthcare case study from a company called e-Therapeutics, which specializes in drug discovery and development, and see how they used Apache Ignite.

Read more

In-Memory Technologies: Meeting Healthcare's Fast Data Challenges (Part 1)

By Akmal Chaudhri | December 19, 2017

Modern healthcare has many demanding requirements for the storage and querying of data. Ignite provides a range of capabilities that can meet these needs perfectly.

Read more

Intel Optane™ SSDs Outperforms Regular SSDs - Verified on Apache Ignite

By Denis Magda | October 31, 2017

This article shows how you can improve performance in random write workloads of a database by replacing regular SSDs with Intel Optane SSDs.

Read more

Kubernetes and Apache Ignite Deployment on AWS

By Akmal Chaudhri | September 28, 2017

Bring K8s and Apache Ignite to the cloud (AWS, at least) with this guide, which touches on Kubernetes' installation, configuration, and connecting to Ignite clusters.

Read more

SSD Performance Tips - Checked on Apache Ignite

By Denis Magda | September 26, 2017

In this blog post, Denis explains how the cache coherence protocol can help you use Apache Ignite to increase the speed and performance of your platform.

Read more

Analyzing Ignite.NET Code With NDepend

By Pavel Tupitsyn | September 19, 2017

See how NDepend works and how you can use it for code analysis to make sure your Ignite.NET code is clean and providing the best performance possible.

Read more

What is Apache Ignite?

By Dmitriy Setrakyan | September 13, 2017

If you ever looked at Apache Ignite, you have probably noticed that it is a fairly rich platform with lots of components. However, despite the extensive feature set, Ignite community aims to make the platform easy to use and understand. In this blog, author Dmitriy Setrakyan defines Ignite by answering several "Is Ignite a ...?" questions.

Read more

Using Java and .NET Apps to Connect to an Apache Ignite Cluster

By Akmal Chaudhri | September 08, 2017

In many organizations, different departments and teams work with different programming languages and frameworks. However, there may be a need for a common storage format to allow various tools to access the same data. Apache Ignite provides the flexibility for development teams to continue working with their favorite programming languages and tools and have the ability to work with the same data in the cluster.

Read more

Apache Ignite - In Memory Performance with Durability of Disk

By Dmitriy Setrakyan | September 07, 2017

Starting with 2.1 release, Apache Ignite has become one of a very few in-memory computing systems that provides its own distributed persistence layer. Essentially, users do not have to integrate Ignite with any type of 3rd party databases (although such integration is still supported), and start using Ignite as a primary storage of their data on disk and in memory. So, what makes Ignite data storage unique?

Read more

Kubernetes and Apache® Ignite™ Deployment on AWS

By Akmal Chaudhri | September 07, 2017

This article will walk through the steps required to get Kubernetes and Apache Ignite deployed on Amazon Web Services (AWS). The local computer operating system used was Ubuntu and if you follow the steps in this article, you may need to adjust the commands as appropriate for your operating system and environment.

Read more

Apache Ignite Tip: Peer Class Loading Deployment Magic

By Akmal Chaudhri | August 29, 2017

Apache Ignite is great for modern data processing. It has a feature called Zero Deployment which is very useful for P2P class loading.

Read more

What's New in Apache Ignite .NET 2.1

By Pavel Tupitsyn | August 02, 2017

Take a look at what's new in the latest release of Apache Ignite 2.1 from a .NET perspective. With this relase, Ignite is a complete database with a unique feature set.

Read more

Apache Ignite 2.1 - A Leap from In-Memory to Memory-Centric Architecture

By Denis Magda | May 12, 2017

The power and beauty of in-memory computing projects is that they truly do what they state -- deliver outstanding performance improvements by moving data closer to the CPU, using RAM as a storage and spreading the data sets out across a cluster of machines relying on horizontal scalability.

However, there is an unspoken side of the story. No matter how fast a platform is, we do not want to lose the data and encounter cluster restarts or other outages. To guarantee this we need to somehow make data persistent on the disk.

Read more

Implementing the Ignite.NET Plugin: Distributed Semaphore

By Pavel Tupitsyn | July 23, 2017

See how the Apache Ignite.NET 2.0 plugin system can make Ignite and third party Java APIs like Ignite Semaphore available in .NET.

Read more

Getting Started With Apache Ignite (Part 6)

By Akmal Chaudhri | July 16, 2017

A major use case for the Service Grid is to deploy a Singleton. There are a number of different types of Singletons that Apache Ignite supports but two common types are — Node Singleton and Cluster Singleton.

Read more

Getting Started With Apache Ignite (Part 5)

By Akmal Chaudhri | July 10, 2017

Apache Ignite is a true Swiss Army Knife, providing scalability and performance for many varied and demanding workloads.

Read more

Apache Ignite with Spring Data

By Shamim Bhuyian | July 09, 2017

Apache Ignite IgniteRepository implements Spring Data CrudRepository interface and extends basic capabilities of the CrudRepository, which in turns supports:

  • Basic CRUD operations on a repository for a specific type.
  • Access to the Apache Ignite SQL grid via Spring Data API.

Read more

Getting Started With Apache Ignite (Part 4)

By Akmal Chaudhri | July 03, 2017

Take a look at the Apache Ignite Streaming Grid component and see how it can help you ingest, manage, and query streaming data.

Read more

Getting Started With Apache Ignite (Part 3)

By Akmal Chaudhri | June 18, 2017

Get a brief look at the Apache Ignite Compute Grid component and learn how it ensures that tasks can be executed in parallel within the grid.

Read more

Getting Started With Apache Ignite (Part 2)

By Akmal Chaudhri | June 04, 2017

In Apache Ignite, a data grid can be thought of as a distributed Key-Value (K-V) store or a distributed HashMap. Learn more about it in this article.

Read more

ADO.NET as Ignite.NET Cache Store

By Pavel Tupitsyn | May 31, 2017

Learn about implementing an efficient Ignite.NET persistent store with ADO.NET and SQL Server, continuing from a previous article on the entity framework cache store.

Read more

Getting Started With Apache Ignite (Part 1)

By Akmal Chaudhri | May 29, 2017

In this series of articles, I will share what I learned about Apache Ignite as a beginner, starting with clustering and deployment.

Read more

How to Monitor Mulitple Apache Ignite Clusters

By Prachi Garg | May 24, 2017

With its latest release, Apache Ignite 2.0 introduced support for DDL, a redesigned off-heap memory architecture, distributed algebra, Spring data integration, support for Hibernate 5, Rocket MQ Integration, as well as plenty of improvements to the currently existing Apache Ignite feature set to enhance speed and performance. Another key feature rolled in is multi-cluster support for Apache Ignite Web Console, which means you can monitor and manage multiple Ignite clusters in parallel from a single instance of Ignite Web console deployed on your system.

This tutorial shows how to start two separate clusters on your system and connect it to an instance of Ignite Web Console deployed locally.

Read more

Benchmarking: Apache Ignite Still Keeps Ahead Of Hazelcast

By Denis Magda | May 12, 2017

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.

Read more

What's new in Apache Ignite.NET 2.0

By Pavel Tupitsyn | May 12, 2017

Apache Ignite 2.0 has been released last week. Changes on Java side are tremendous, but Ignite.NET has some cool things to offer as well. Read on to to find out more.

Read more

An impatient start with Apache Ignite machine learning grid

By Shamim Bhuyian | May 12, 2017

Recently Apache Ignite 2.0 introduced a beta version of the in-memory machine learning grid, which is a distributed machine learning library built on top of the Apache IMDG. This beta release of ML library can perform local and distributed vector, decompositions and matrix algebra operations. The data structure can be stored in Java heap, off-heap or distributed Ignite caches. In this short post, we are going to download the new Apache Ignite 2.0 release, build the example and run them.

Read more

Apache Ignite 2.0: Redesigned Off-heap Memory, DDL and Machine Learning

By Denis Magda | May 05, 2017

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:

  • Re-engineered Off-Heap Memory Architecture
  • Data Definition Language
  • Machine Learning Grid Beta - Distributed Algebra
  • Integration with Spring Data, Rocket MQ, Hibernate 5
  • Enchanced Inite.Net and Ignite C++ APIs

See release notes for a full list of the changes.

Read more

Apache Ignite: Build Cloud Ready Applications Today!

By Turik Campbell | May 02, 2017

All applications fundamentally are comprised of computing instructions and data the instructions utilize to solve a problem. These applications are high performant when computing instructions and data are distributed among available computing resources. A ‘cloud ready’ application should be able to:

  • Massively parallelize compute instructions.
  • Massively parallelize data.
  • Scale automatically as hardware resources are introduced into the network.
All of these features and more are provided by Apache Ignite’s in memory computing platform.

Read more

Light a fire under Cassandra with Apache Ignite

By Nikita Ivanov | April 27, 2017

Over time as business requirements evolve and Cassandra deployments scale, many organizations find themselves constrained by some of Cassandra’s limitations, which in turn restrict what they can do with their data. Apache Ignite, an in-memory computing platform, provides these organizations with a new way to access and manage their Cassandra infrastructure, allowing them to make Cassandra data available to new OLTP and OLAP use cases while delivering extremely high performance.

Read more

Microservices on Top of an In-Memory Data Grid: Part III

By Denis Magda | April 26, 2017

This is the last blog post in a series recommending how to design and implement microservices-based architecture on top of Apache Ignite In-Memory Data Fabric. The first two posts in the series can be found here:

  • Part I - Overview of the proposed solution.
  • Part II - Various coding templates needed to implement the solution in a live environment.

This final post describes how to integrate the cluster with a persistent store and send requests to the microservices from external applications -- apps that know nothing about the cluster and don't rely on its APIs.

Read more

LINQ vs. SQL in Ignite.NET: Performance

By Pavel Tupitsyn | March 29, 2017

Ignite.NET offers a LINQ provider which translates C# expressions to SQL queries. LINQ has many benefits over SQL — but at what cost? Read on to find out.

Read more

Getting Started with Apache Ignite - Part 1

By Dani Traphagen | March 29, 2017

My best definition of Apache Ignite is that it's a distributed in-memory cache, query and compute engine built to work with large-scale data sets in real-time. A cluster of Ignite nodes (which is simply a combination of server and client nodes) will slide between the application and data layers.

Read more

Deploying Apache Ignite in Kubernetes on Microsoft Azure

By Denis Magda | March 21, 2017

Apache Ignite's most recent release includes a Kubernetes integration. See it in action as you learn to run a cluster on Microsoft Azure.

Read more

Continuous Queries in Apache Ignite C++ 1.9

By Igor Sapego | March 21, 2017

Apache Ignite 1.9 was released last week and it brings some cool features. One of them is Continuous Queries for Apache Ignite C++ that allows you to track data modifications on caches.

Read more

Modern Application Design With In-Memory Data Fabrics

By Shamim Bhuiyan | March 16, 2017

In-memory grids like Apache Ignite have served as an essential, architectural component for transforming the way businesses use their data to do business.

Read more

What's New in Apache Ignite.NET 1.9

By Pavel Tupitsyn | March 14, 2017

The newest version of Apache Ignite includes TransactionScope API, Distributed DML, and LINQ improvements. Read on to find out how these functionalities can provide enhanced transactional and SQL capabilities.

Read more

Apache Ignite 1.9 Release Highlights

By Denis Magda | March 06, 2017

Apache Ignite community released a new version of Apache Ignite In-Memory Data Fabric. Learn more about improvements available in version 1.9.

Read more

Book Review: High Performance In-Memory Computing With Apache Ignite

By Shamim Bhuiyan | February 16, 2017

The Apache Ignite platform is very big and growing day by day. This book focuses on features of Apache Ignite that help improve application performance.

Read more

The ASF asks: Have you met Apache Ignite?

By Sally Khudairi | January 18, 2017

Did you know that numerous Fortune 500 enterprises depend on Apache Ignite's in-memory data platform to process large-scale data sets in real-time, at orders of magnitude faster than traditional technologies?

Read more

Running Microservices on Top of In-Memory Data Grid: Part II

By Denis Magda | January 18, 2017

Let's look into the Apache Ignite Cluster Layer, a GitHub project that includes the basic building blocks needed to implement a proposed microservices-based architecture.

Read more

Book: High performance in-memory computing with Apache Ignite has been published

By Shamim Bhuiyan | January 09, 2017

This book wraps all the topics like in-memory data grid, highly available service grid, streaming and in-memory computing use cases from high-performance computing to get the performance gain.

Read more

Enabling Access to Apache Ignite via Redis Protocol

By Roman Shtykh | January 09, 2017

The Apache Ignite versions have the ability to store and retrieve data in the grid using any Redis client. Let's make connections to an Ignite cluster and do Redis string operations.

Read more

Apache Ignite Enables Full-fledged SQL Support for PHP

By Denis Magda | December 27, 2016

It's time to get your SQL statements and queries up and running on Apache Ignite's PHP offerings. You'll need a driver and some setup, but it's quick and easy.

Read more

Using the GridGain Web Console for Automatic RDBMS Integration With Apache Ignite

By Prachi Garg | December 19, 2016

Apache Ignite can import database schemas and automatically generate all the required XML OR-mapping configurations and Java domain model POJOs that you can easily download and copy into your Apache Ignite project.

Read more

Geospatial Queries With Apache Ignite

By Denis Magda | December 16, 2016

Storing and querying location data can be useful for any number of apps for projects. Apache Ignite has a geospatial component made just for that.

Read more

What's New in Apache Ignite.NET 1.8

By Pavel Tupitsyn | December 14, 2016

The newest version of Apache Ignite includes an entity framework second-level cache, ASP.NET session state cache, custom logging, and LINQ improvements.

Read more

Apache Ignite With JPA: A Missing Element

By Shamim Bhuiyan | December 07, 2016

Learn how to persist your entities with Apache Ignite and JPA. This tutorial will guide you through the setup of execution of that handy ability.

Read more

Entity Framework As Ignite.NET Cache Store

By Pavel Tupitsyn | October 27, 2016

Learn how to implement Ignite.NET persistent store with Entity Framework and SQL Server.

Read more

Running Microservices on Top of In-Memory Data Grid: Part I

By Denis Magda | October 26, 2016

With this post, we start a series that will provide a guide on building a fault-tolerant, scalable, microservice-based solution with Apache Ignite In-Memory Data Fabric.

Read more

Ignite.NET Serialization Performance

By Pavel Tupitsyn | October 04, 2016

How fast are different Ignite serialization modes? How do they compare to other popular serializers? Find out in this blog by Pavel Tupitsin.

Read more

Deadlock-Free Transactions with Apache Ignite

By Prachi Garg | September 21, 2016

Deadlocks can kill services, so see how Apache Ignite avoids it by assigning numbers to transactions in order to compare and utilize them in a fluid manner.

Read more

ASP.NET Distributed Output Cache with Apache Ignite

By Pavel Tupitsyn | September 19, 2016

You can speed up your ASP.NET web farm with Apache Ignite distributed caching. Read on to learn more.

Read more

Building a Multi-Platform Ignite Cluster: Java + .NET

By Pavel Tupitsyn | September 09, 2016

Ignite cluster can consist of nodes on any supported platform: Java, .NET, and C++. This example shows you how to run a .NET/Java cluster with NuGet and Maven.

Read more

Apache Ignite 1.7: Welcome Non-Collocated Distributed Joins!

By Denis Magda | August 24, 2016

Apache Ignite 1.7.0 has been recently rolled out, and among the new changes, you can find a killer one that was awaited by many Apache Ignite users and customers for a long time — Non-Collocated Distributed Join support for SQL queries.

Read more

Using Apache Ignite.NET in LINQPad

By Pavel Tupitsyn | August 19, 2016

Here is a quick how-to for using Apache Ignite.NET in LINQPad.

Read more

What's New in Apache Ignite.NET 1.7

By Pavel Tupitsyn | August 09, 2016

Apache Ignite.NET 1.7 brings some pretty cool new features. Read on to find out more!

Read more

Getting Started with Apache Ignite.NET Part 3: Cache Queries

By Pavel Tupitsyn | July 28, 2016

In Part 3 of Pavel Tupitsyn's series, he covers the cache queries: Scan, SQL, LINQ, and Text.

Read more

Getting Started with Apache Ignite.NET Part 2: Distributed Cache

By Pavel Tupitsyn | July 16, 2016

Learn the cache operations and object serialization of Apache Ignite.NET.

Read more

Getting Started with Apache Ignite.NET Part 1

By Pavel Tupitsyn | June 25, 2016

Learn the basics of using Apache Ignite.NET, from an explanation about the terminology to helpful code snippets illustrating the instructions.

Read more

Real-time In-memory OLTP and Analytics with Apache Ignite on AWS

By Babu Elumalai | June 06, 2016

This post shows you how to build a Lambda architecture using Apache Ignite, and provides some examples explaining how to perform ANSI SQL on real-time data and how to use it as a cache for OLTP reads.

Read more

Apache Ignite: How to Read Data from Persistent Store

By Prachi Garg | June 03, 2016

A tutorial on how to load data from a MySQL database into an Ignite distributed cache.

Read more

Pitfalls of the MyBatis Caches with Apache Ignite

By Shamim Bhuiyan | March 09, 2016

A tutorial on how to look at cache entries in Apache Ignite.

Read more

Linking Apache Ignite and Apache Kafka for Highly Scalable and Reliable Data Processing

By Roman Shtykh | March 03, 2016

How to link Apache Kafka and Ignite for maintaining scalability and reliability for data processing.

Read more

A Universal Streamer for Apache Ignite based on Apache Camel

By Raúl Kripalani | January 28, 2016

Apache Ignite has the concept of Data Streamers: components to ingest fast data in a streaming fashion into an Ignite cache from a variety of protocols, technologies or platforms, such as JMS, MQTT, Twitter, Flume, Kafka, etc. However, with Apache Ignite 1.5.0 we released the jack of all trades: an Apache Camel streamer.

Read more

Apache Ignite: Distributed In-Memory Key-Value Store

By Prachi Garg | January 27, 2016

For systems where low latency is critical, there is nothing better than caching the data in memory in a distributed cluster. While storing data in memory provides fast data access, distributing it on a cluster of nodes increases application performance and scalability. And Apache Ignite helps you achieve exactly that.

Read more

Getting Started with Apache Ignite

By Prachi Garg | December 19, 2015

This tutorial shows you how to create a simple "Hello World" example in Apache Ignite.

Read more

Apache Ignite for Database Caching

By Prachi Garg | Septmeber 23, 2015

A tutorial on how to use Apache Ignite for caching RDBMS, NoSQL, or HDFS databases.

Read more

How Apache Ignite Processes Geographically Distributed Transactions

By Yakov Zhdanov | July 22, 2015

Imagine a bank offering variety of services to its customers. The customers of the bank are located in different geo-zones (regions), and most of the operations performed by a customer are zone-local, like ATM withdrawals or bill payments... However, some operations, such as wire transfers for example, may affect customers across different zones. Cross-zone operations are not as frequent, but nevertheless need to be supported in a transactional fashion as well.

Read more