High Performance in-memory computing with Apache Ignite
High Performance in-memory computing with Apache Ignite (The Book with code samples)

Retired

This book is no longer available for sale.

High Performance in-memory computing with Apache Ignite

This book is 100% complete

Completed on 2018-01-08

About the Book

Attention! The book is not going to be updated any more. A new title "The Apache Ignite Book" had been published and available at LeanPub.

The paperback version of the book is now available at Lulu.com & Amazon.com

"As one of the original creators of the Apache Ignite project, I really enjoyed reading this book. The coding examples are nice and descriptive. Ignite components are described in an easy to understand language. Great work by the authors!" -- Dmitriy Setrakyan, founder of the Apache Ignite project.

Table of Contents

  • Preface
    • What this book covers
    • Code Samples
    • Support
  • About the authors
  • Acknowledgments
  • Introduction
    • What is Apache Ignite?
    • Modern application architecture with Apache Ignite
    • Who uses Apache Ignite?
    • Why Ignite instead of others?
    • Our Hope
  • Chapter one: Installation and the first Ignite application
    • Pre-requisites
    • Installation
    • Run multiple instances of Apache Ignite in a single host
    • Configure a multi-node cluster in different host
    • Rest client to manipulate with the Apache Ignite
    • Java client
    • SQL client
    • Conclusion
    • What’s Next
  • Chapter two: Architecture overview
    • Functional overview
    • Cluster Topology
      • Client and Server
      • Embedded with the application
      • Server in separate JVM (real cluster topology)
      • Client and Server in separate JVM on single host
    • Caching Topology
      • Partitioned caching topology
      • Replicated caching topology
      • Local mode
    • Caching strategy
      • Cache-aside
      • Read-through and Write-through
      • Write behind
    • Data model
    • CAP theorem and where does Ignite stand in?
    • Clustering
      • Cluster group
      • Data collocation
      • Compute collocation with Data
      • Zero SPOF
    • How SQL queries works in Ignite
    • Multi-datacenter replication
    • Asynchronous support
    • Resilience
    • Security
    • Key API
    • Conclusion
    • What’s next
  • Chapter three: In-memory caching
    • Apache Ignite as a 2 level cache
      • MyBatis 2 level cache
      • Hibernate 2 level cache
    • Java method caching
    • Web session clustering with Apache Ignite
    • Apache Ignite as a big memory, off-heap memory
    • Conclusion
    • What’s next
  • Chapter four: Persistence
    • Persistence Ignite’s cache
      • Persistence in RDBMS (PostgreSQL)
      • Persistence in MongoDB
    • Cache queries
      • Scan queries
      • Text queries
    • SQL queries
      • Projection and indexing with annotations
      • Query API
      • Collocated distributed Joins
      • Non-collocated distributed joins
      • Performance tuning SQL queries
    • Apache Ignite with JPA
    • Apache Ignite with Spring Data
    • Expiration & Eviction of cache entries
      • Expiration
      • Eviction
    • Transaction
      • Ignite transactions
      • Transaction commit protocols
      • Optimistic Transactions
      • Pessimistic Transactions
      • Performance impact on transaction
    • Conclusion
    • What’s next
  • Chapter five: Accelerating Big Data computing
    • Hadoop accelerator
      • In-memory Map/Reduce
      • Using Apache Pig for data analysis
      • Near real-time data analysis with Hive
      • Replace HDFS by Ignite In-memory File System (IGFS)
      • Hadoop file system cache
    • Ignite for Apache Spark
      • Apache Spark – an introduction
      • IgniteContext
      • IgniteRDD
      • Preparing the sandbox
      • Spark-shell to run Spark jobs
      • Spark application example in Scala to share states
    • Conclusion
    • What’s next
  • Chapter six: Streaming and complex event processing
    • Introducing data streamer
    • IgniteDataStreamer
      • StreamReceiver
      • StreamVisitor
    • Camel data streamer
      • Direct Ingestion
      • Mediated Ingestion
    • Flume streamer
    • Storm data streamer
    • Conclusion
    • What’s next
  • Chapter seven: 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 Ignite
    • Conclusion

About the Editors

Shamim Ahmed
Shamim Ahmed Bhuiyan

received his Ph.D. in Computer Science from the University of Vladimir, Russia in 2007. He is currently working as an Enterprise architect, where he is responsible for designing and building out high scalable, high load middleware solutions. He has been in the IT field for over 16 years and specialized in Java and Data science. Also, he is a former SOA solution designer, speaker, and Big data evangelist. Actively participates in the development and designing high-performance software for IT, telecommunication and banking industry. In spare times, he usually writes the blog frommyworkshop and shares ideas with others. 

Michael Zheludkov
Michael Zheludkov

Graduated from the Bauman Moscow State Technical University in 2002. Master's degree in computer science.

Lecturer at BMSTU since 2013, delivering course “Parallel programming and distributive systems”

Timur Isachenko
Timur Isachenko

Timur Isachenko is a Full Stack Developer working for AT-Consulting, passionate about web development and solving a wide variety of related challenges.

Timur spends his time learning cutting-edge technologies every day to make the best developer out himself.

The Leanpub 45-day 100% Happiness Guarantee

Within 45 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

See full terms...

Write and Publish on Leanpub

Authors and publishers use Leanpub to publish amazing in-progress and completed ebooks, just like this one. You can use Leanpub to write, publish and sell your book as well! Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks. Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. It really is that easy.

Learn more about writing on Leanpub