The Apache Ignite Book
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.

What you will learn:
-
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.
-
Apache Ignite proven use cases as a memory-centric distributed database, caching and computing platforms.
-
Getting started with Apache Ignite by using different tools and technics.
-
Caching strategies by examples and how to use Apache Ignite for improving application performance including Hibernate L2 cache, MyBatis, Memoization and Web session clustering.
-
Using Spring Data and JPA (Hibernate OGM) with Apache Ignite for developing high-performance web applications.
-
Ignite query (SQL, API, Text and Scan queries) capabilities in depth.
-
Using Spark RDD and Data frames for improving performance on processing fast data.
-
Developing and executing distributed computations in a parallel fashion to gain high performance, low latency, and linear scalability.
-
Developing distributed Microservices in fault-tolerant fashion.
-
Processing events & streaming data for IoT projects, integrate Apache Ignite with other frameworks like Kafka, Storm, Camel, etc.
-
Real time data Replication between Ignite clusters through Kafka.
-
Configuring, management and monitoring Ignite cluster with built-in and 3rd party tools.
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