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
What this book covers
About the authors
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
Chapter 3. Apache Ignite use cases
Caching for fast data access
High-volume transaction processing
Fast data processing
Resilient web acceleration
Microservices in distributed fashion
Cache as a service
Big Data accelerations
In-memory machine learning
Chapter 4. Architecture deep dive
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
Partition loss policies
Read through and write through
Ignite data model
CAP theorem and where does Ignite stand in?
Apache Ignite life cycle
Durable memory architecture
Index pages and B+ trees
Page based eviction
Entry based eviction
Ignite read/write path
Automatic cluster activation
Fast rebalancing and it’s pitfalls
Tool to control baseline topology
Automate the rebalancing
Discovery and communication mechanisms
Predefined cluster group
Cluster group with node attributes
Custom cluster group
Compute collocation with data
Protocols and clients
Resilience & Automatic failover
Ignite client node
Ignite thin client
Ignite Rest client
Multi data center replication
Chapter 5. Intelligent caching
Caching best practices