Leanpub Header

Skip to main content

The Apache Ignite book

The next phase of the distributed systems

The complete guide to learning everything you need to know about Apache Ignite

The author is letting you choose the price you pay for this book!

Pick Your Price...
PDF
EPUB
WEB
760
Readers
596
Pages
127,604Words
About

About

About the 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 source code of the book is updated to Ignite version 2.14.0 and is available at GitHub

We upload a PDF file that has color images of the diagrams used in this book. You can download it here https://bit.ly/36Mw0y9

What you will learn (please see the table of contents below for more details):

  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 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.

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.

Readership:

The target audiences of this book will be an IT architect, team leader, or programmer with minimum programming knowledge. No excessive knowledge is required, though it would be good to be familiar with Java, Spring framework, and tools like Maven. The book is also useful for any reader, who already familiar with Oracle Coherence, Hazelcast, Infinispan, or Memcached.

If you are not sure if this book is for you, I suggest you read the sample chapter of the book. The sample chapter is available in different formats including HTML. Anyway, I encourage you to try it out, and if you don't like the book, you can always ask a 100% refund within 60 days.

The entire source code of the book is available at GitHub

We need your feedback!

We would like to hear what you think, what you like or dislike the content of the book. Your feedback will help us to write a better book and help others to clear all the concepts. To submit your feedback, please use the feedback link below.

Price

Pick Your Price...

Minimum price

$25.00

$30.00

You pay

$30.00

Author earns

$24.00
$

All prices are in US $. You can pay in US $ or in your local currency when you check out.

EU customers: prices exclude VAT, which is added during checkout.

...Or Buy With Credits!

Number of credits (Minimum 2)

2
The author will earn $24.00 from your purchase!
You can get credits monthly with a Reader Membership

Author

About the Author

Shamim Bhuiyan

Shamim Bhuiyan, 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 blogs #frommyworkshop and shares ideas with others. 

Contents

Table of Contents

Preface

  1. What this book covers
  2. Code Samples
  3. Readership
  4. Conventions
  5. Tip
  6. Warning
  7. Info
  8. Reader feedback

About the authors

Other book by the author

Acknowledgments

Chapter 1. Introduction

Chapter 2. Getting started with Apache Ignite

  1. Info
  2. Installing and setting up Apache Ignite
  3. Warning
  4. Info
  5. Building from source code
  6. Tip
  7. Running multiple instances of the Apache Ignite in a single host
  8. Warning
  9. Running Apache Ignite in Docker containers
  10. Info
  11. Tip
  12. Using Apache Ignite SQLLINE CLI
  13. Warning
  14. Tip
  15. Tip
  16. Using a universal SQL client IDE to work with Apache Ignite
  17. Tip
  18. Warning
  19. First Java application
  20. Tip
  21. Tip
  22. Apache Ignite thin client
  23. Info
  24. Warning
  25. Using REST API for manipulating the Apache Ignite caches
  26. Info
  27. Tip
  28. Configuring a multi-node Ignite cluster in different hosts
  29. Warning
  30. A simple checklist for beginners
  31. Summary
  32. What’s next?

Chapter 3. Apache Ignite use cases

  1. Caching for fast data access
  2. HTAP
  3. Info
  4. High-volume transaction processing
  5. Fast data processing
  6. Lambda architecture
  7. Resilient web acceleration
  8. Microservices in distributed fashion
  9. Cache as a service
  10. Big Data accelerations
  11. In-memory machine learning
  12. In-memory geospatial
  13. Cluster management
  14. Summary
  15. What’s next?

Chapter 4. Architecture deep dive

  1. Functional overview
  2. Understanding the cluster topology: shared-nothing architecture
  3. Client and server node
  4. Tip
  5. Embedded with the application
  6. Client and the server nodes in the same host
  7. Running multiple nodes within single JVM
  8. Tip
  9. Real cluster topology
  10. Data partitioning in Ignite
  11. Tip
  12. Understanding data distribution: DHT
  13. Info
  14. Info
  15. Rendezvous hashing
  16. Info
  17. Replication
  18. Master-Slave replication
  19. Peer-to-peer replication
  20. Partitioned mode
  21. Warning
  22. Info
  23. Replicated mode
  24. Warning
  25. Local mode
  26. Near cache
  27. Warning
  28. Partition loss policies
  29. Caching strategy
  30. Cache a-side
  31. Read through and write through
  32. Write behind
  33. Ignite data model
  34. CAP theorem and where does Ignite stand in?
  35. Info
  36. Apache Ignite life cycle
  37. Tip
  38. Memory-Centric storage
  39. Warning
  40. Durable memory architecture
  41. Page
  42. Data Page
  43. Index pages and B+ trees
  44. Info
  45. Segments
  46. Region
  47. Tip
  48. Data eviction
  49. Info
  50. Page based eviction
  51. Entry based eviction
  52. Info
  53. Tip
  54. Tip
  55. Data expiration
  56. Warning
  57. Ignite read/write path
  58. Native persistence
  59. Tip
  60. Write-Ahead-Log (WAL)
  61. Tip
  62. Tip
  63. Info
  64. Info
  65. Tip
  66. Checkpointing
  67. Tip
  68. Baseline topology
  69. Automatic cluster activation
  70. Split-brain protection
  71. Warning
  72. Fast rebalancing and it’s pitfalls
  73. Tip
  74. Tool to control baseline topology
  75. Automate the rebalancing
  76. Discovery and communication mechanisms
  77. Discovery
  78. Tip
  79. Tip
  80. Warning
  81. Info
  82. Warning
  83. Communication
  84. Info
  85. Tip
  86. Cluster groups
  87. Predefined cluster group
  88. Tip
  89. Cluster group with node attributes
  90. Custom cluster group
  91. Warning
  92. Data collocation
  93. Compute collocation with data
  94. Protocols and clients
  95. Resilience & Automatic failover
  96. Ignite client node
  97. Tip
  98. Ignite thin client
  99. Warning
  100. JDBC client
  101. Ignite Rest client
  102. Multi data center replication
  103. Key API’s
  104. Summary
  105. What’s next?

Chapter 5. Intelligent caching

  1. Smart caching
  2. Caching best practices
  3. Design patterns
  4. Tip
  5. Basic terms
  6. Database caching
  7. Tip
  8. Hibernate caching
  9. Warning:
  10. Tip:
  11. Tip:
  12. Tip:
  13. Warning:
  14. MyBatis caching
  15. Info:
  16. Memoization
  17. Info:
  18. Web session clustering
  19. Info:
  20. Classic solution 1: using a sticky session
  21. Classic solution 2: store sessions in DB
  22. Classic solution 3: use only stateless service
  23. Distributed web session clustering
  24. Info:
  25. Prepare the caches correctly
  26. Summary
  27. What’s next?

Chapter 6. Database

  1. Ignite tables & indexes configuration
  2. Ignite queries
  3. SQL queries
  4. Warning
  5. Tip
  6. Warning
  7. Tip
  8. Tip
  9. Warning
  10. Query API
  11. SqlFieldsQuery
  12. Warning
  13. Tip
  14. Warning
  15. SqlQuery
  16. Tip
  17. Cache queries
  18. Warning
  19. Scan queries
  20. Tip
  21. Tip
  22. Text queries
  23. Info
  24. Tip
  25. Affinity collocation based data modeling
  26. Info
  27. Collocated distributed joins
  28. Info
  29. Non-collocated distributed joins
  30. Spring Data integration
  31. Info
  32. Limitations
  33. Tip
  34. Persistence
  35. Native persistence
  36. Tip
  37. Persistence in 3rd party database (MongoDB)
  38. Info
  39. Warning
  40. Tip
  41. Tip
  42. Transaction
  43. Tip
  44. Warning
  45. Ignite transactions
  46. Info
  47. Transaction commit protocols
  48. Node types (NearNode/Remote/DHT)
  49. Concurrency Modes and Isolation Levels
  50. Info
  51. MVCC
  52. Performance impact on transaction
  53. Summary
  54. What’s next?

Chapter 7. Distributed computing

  1. Info
  2. Compute grid
  3. Distributed Closures
  4. Tip
  5. MapReduce and Fork-join
  6. Note:
  7. Tip
  8. Per-Node share state
  9. Distributed task session
  10. Info
  11. Fault tolerance and checkpointing
  12. Info
  13. Warning
  14. Info
  15. Tip
  16. Collocation of computation and data
  17. Job scheduling
  18. Tip
  19. Service Grid
  20. Developing services
  21. Info
  22. Tip:
  23. Cluster singleton
  24. Warning:
  25. Service management and configuration
  26. Info
  27. Developing microservices in Apache Ignite
  28. Info:
  29. Tip
  30. Summary
  31. What’s next?

Chapter 8. Streaming and complex event processing

  1. Kafka Streamer
  2. IgniteSinkConnector
  3. Tip
  4. Tip
  5. Tip
  6. IgniteSourceConnector
  7. Info
  8. Camel Streamer
  9. Direct Ingestion
  10. Info
  11. Mediated Ingestion
  12. Flume sink
  13. Tip
  14. Tip
  15. Storm streamer
  16. Info
  17. Warning
  18. Summary
  19. What’s next?

Chapter 9. Accelerating Big data computing

  1. Ignite for Apache Spark
  2. Apache Spark – a short history
  3. Ignite RDD
  4. Warning
  5. Warning
  6. Tip
  7. Warning
  8. Tip
  9. Ignite DataFrame
  10. Info
  11. Info
  12. Summary
  13. What’s next?

Chapter 10. Management and monitoring

  1. Managing Ignite cluster
  2. Info
  3. Configuring Zookeeper discovery
  4. Warning
  5. Tip
  6. Warning
  7. Managing Baseline topology
  8. Tip
  9. Monitoring Ignite cluster
  10. Info
  11. Tip
  12. VisualVM
  13. Grafana
  14. Summary

Get the free sample chapters

Click the buttons to get the free sample in PDF or EPUB, or read the sample online here

The Leanpub 60 Day 100% Happiness Guarantee

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

Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.

You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!

So, there's no reason not to click the Add to Cart button, is there?

See full terms...

Earn $8 on a $10 Purchase, and $16 on a $20 Purchase

We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earned over $14 million writing, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

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. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub