The Apache Ignite Book

recommended by the Apache Ignite community
The Apache Ignite Book

This book is addressed to anyone interested in learning in-memory computing and distributed database. It is useful for developers and architects new to Apache Ignite as well as those who already use any other in-memory databases and want to expand their knowledge.

The book covers Ignite version 2.6.0 and above. For every topic, a complete application is delivered, which helps the audience to a quick start with the topic. Each chapter focuses on the complete implementation of a real-world scenario, the commonly occurring challenges in each scenario have also discussed, along with tips and tricks and best practices on how to overcome them.

  • Leanpub
  • hotmart-transparent
  • Lulu
  • Amazon

What you will learn:

  1. Apache Ignite architecture in depth such as data distributing technics (DHT), Rendezvous hashing, durable memory architecture, various cluster topologies, Ignite native persistence, Baseline topology and much more.

  2. Apache Ignite proven use cases as a memory-centric distributed database, caching and computing platforms.

  3. Getting started with Apache Ignite by using different tools and technics. 

  4. Caching strategies by examples and how to use Apache Ignite for improving application performance including Hibernate L2 cache, MyBatis, Memoization and Web session clustering.

  5. Using Spring Data and JPA (Hibernate OGM) with Apache Ignite for developing high-performance web applications.

  6. Ignite query (SQL, API, Text and Scan queries) capabilities in depth. 

  7. Using Spark RDD and Data frames for improving performance on processing fast data.

  8. Developing and executing distributed computations in a parallel fashion to gain high performance, low latency, and linear scalability. 

  9. Developing distributed Microservices in fault-tolerant fashion.

  10. Processing events & streaming data for IoT projects, integrate Apache Ignite with other frameworks like Kafka, Storm, Camel, etc.

  11. Real time data Replication between Ignite clusters through Kafka.

  12. Configuring, management and monitoring Ignite cluster with built-in and 3rd party tools.

Get The Apache Ignite Book

In digital edition or paperback

  • Read it anywhere (pdf, epub, mobi)

  • 40 days money back guaranty 

The paperback version of the book is available on Lulu (the best option for purchasing from Europe, also there are always some discounts) & Amazon (check your local Amazon stores).

Write me back with proof of purchase (such as voucher), and I’ll give you free access to the digital edition so that you can get all future updates.

Don't hesitate to ask any questions if you got any difficulties with purchase.

Table of Contents
  • Preface

  • What this book covers

  • Code Samples

  • Readership

  • Conventions

  • Reader feedback

  • About the authors

  • Acknowledgments

  • Chapter 1. Introduction

  • Chapter 2. Getting started with Apache Ignite

    • Installing and setting up Apache Ignite

      • Building from source code

    • Running multiple instances of the Apache Ignite in a single host

    • Running Apache Ignite in Docker containers

    • Using Apache Ignite SQLLINE CLI

    • Meet with Apache Ignite SQL engine: H2 database

    • Using a universal SQL client IDE to work with Apache Ignite

    • First Java application

    • Apache Ignite thin client

    • Using REST API for manipulating the Apache Ignite caches

    • Configuring a multi-node Ignite cluster in different hosts

    • A simple checklist for beginners

    • Summary

    • What’s next?

  • Chapter 3. Apache Ignite use cases

    • Caching for fast data access

    • HTAP

    • High-volume transaction processing

    • Fast data processing

    • Lambda architecture

    • Resilient web acceleration

    • Microservices in distributed fashion

    • Cache as a service

    • Big Data accelerations

    • In-memory machine learning

    • In-memory geospatial

    • Cluster management

    • Summary

    • What’s next?

  • Chapter 4. Architecture deep dive

    • Functional overview

    • Understanding the cluster topology: shared-nothing architecture

      • Client and server node

      • Embedded with the application

      • Client and the server nodes in the same host

      • Running multiple nodes within single JVM

      • Real cluster topology

    • Data partitioning in Ignite

      • Understanding data distribution: DHT

      • Rendezvous hashing

      • Replication

      • Master-Slave replication

      • Peer-to-peer replication

      • Partitioned mode

      • Replicated mode

      • Local mode

      • Near cache

      • Partition loss policies

    • Caching strategy

      • Cache a-side

      • Read through and write through

      • Write behind

    • Ignite data model

    • CAP theorem and where does Ignite stand in?

    • Apache Ignite life cycle

    • Memory-Centric storage

    • Durable memory architecture

      • Page

      • Data Page

      • Index pages and B+ trees

      • Segments

      • Region

      • Data eviction

        • Page based eviction

        • Entry based eviction

      • Data expiration

      • Ignite read/write path

    • Native persistence

      • Write-Ahead-Log (WAL)

      • Checkpointing

    • Baseline topology

      • Automatic cluster activation

      • Split-brain protection

      • Fast rebalancing and it’s pitfalls

      • Tool to control baseline topology

      • Automate the rebalancing

    • Discovery and communication mechanisms

      • Discovery

      • Communication

    • Cluster groups

      • Predefined cluster group

      • Cluster group with node attributes

      • Custom cluster group

    • Data collocation

    • Compute collocation with data

    • Protocols and clients

    • Resilience & Automatic failover

      • Ignite client node

      • Ignite thin client

      • JDBC client

      • Ignite Rest client

    • Multi data center replication

    • Key API’s

    • Summary

    • What’s next?

  • Chapter 5. Intelligent caching

    • Smart caching

      • Caching best practices

      • Design patterns

      • Basic terms

    • Database caching

      • Hibernate caching

      • MyBatis caching

    • Memoization

    • Web session clustering

      • Classic solution 1: using a sticky session

      • Classic solution 2: store sessions in DB

      • Classic solution 3: use only stateless service

      • Distributed web session clustering

    • Prepare the caches correctly

    • Summary

    • What’s next?

  • Chapter 6. Database

    • Ignite tables & indexes configuration

    • Ignite queries

      • SQL queries

      • Query API

        • SqlFieldsQuery

        • SqlQuery

      • How SQL queries works in Ignite

      • Cache queries

        • Scan queries

        • Text queries

      • Affinity collocation based data modeling

      • Collocated distributed joins

      • Non-collocated distributed joins

    • Spring Data integration

    • Apache Ignite with JPA

    • Persistence

      • Native persistence

      • Persistence in 3 party database (MongoDB)

    • Transaction

      • Ignite transactions

      • Transaction commit protocols

      • Node types (NearNode/Remote/DHT)

      • Concurrency Modes and Isolation Levels

      • MVCC

      • Performance impact on transaction

    • Summary

    • What’s next?

  • Chapter 7. Distributed computing

    • Compute grid

      • Distributed Closures

      • MapReduce and Fork-join

      • Per-Node share state

      • Distributed task session

      • Fault tolerance and checkpointing

      • Collocation of computation and data

      • Job scheduling

    • Service Grid

      • Developing services

      • Cluster singleton

      • Service management and configuration

    • Developing Microservices in Apache Ignite

    • Summary

    • What’s next?

  • Chapter 8. Streaming and complex event processing

    • Kafka Streamer

      • IgniteSinkConnector

      • IgniteSourceConnector

    • Camel Streamer

      • Direct Ingestion

      • Mediated Ingestion

    • Flume sink

    • Storm streamer

    • Summary

    • What’s next?

  • Chapter 9. Accelerating Big data computing

    • Ignite for Apache Spark

      • Apache Spark – a short history

      • Ignite RDD

      • Ignite DataFrame

    • Summary

    • What’s next?

  • Chapter 10. Management and monitoring

    • Managing Ignite cluster

      • Configuring Zookeeper discovery

      • Managing Baseline topology

    • Monitoring Ignite cluster

      • VisualVM

      • Grafana

    • Summary


This is one of the very few good books on Apache Ignite. It covers the whole spectrum of Ignite. From use-cases and architecture till maintenance and code examples to get your hands dirty. If you want one book to get it all, this is it!

—  Edward Kuenen, software developer