SlideShare a Scribd company logo
How we broke Apache Ignite by adding
persistence
Stephen Darlington
16 December, 2019
2018 © GridGain Systems
2019 © GridGain Systems GridGain Company Confidential2
(spoiler: already fixed)
2019 © GridGain Systems GridGain Company Confidential
What is Ignite?
Distributed memory-centric storage
Combines the performance and scale of in-
memory computing together with the disk
durability and strong consistency in one system
Co-located Computations
Brings the computations to the servers where
the data actually resides, eliminating need to
move data over the network
Distributed Key-Value
Read, write and transact with
fast key-value APIs
Distributed SQL ACID Transactions Machine and Deep Learning
Horizontally, fault-tolerant distributed SQL
database that treats memory and disk as
active storage tiers
Supports distributed ACID transactions for
key-value as well as SQL operations
Set of simple, scalable and efficient tools that
allow building predictive machine learning
models without costly data transfers (ETL)
2019 © GridGain Systems GridGain Company Confidential
Apache Ignite In-Memory Computing Platform
Mainframe NoSQL HadoopIgnite Persistence
Persistent Layer
RDBMS
Machine and Deep Learning
EventsStreamingMessaging
Transaction
s
SQLKey-Value
Service GridCompute Grid
Application Layer
Web SaaS SocialMobile IoT
In-Memory Data Store
2019 © GridGain Systems GridGain Company Confidential
Apache Ignite’s History
5
Data Grid Local Store
Transactional
Persistence
?
2019 © GridGain Systems GridGain Company Confidential
Circa 2011
6
Local Store
Transactional
Persistence
?Data Grid
2019 © GridGain Systems GridGain Company Confidential
Circa 2014
7
Transactional
Persistence
?Data Grid Local Store
2019 © GridGain Systems GridGain Company Confidential
Circa 2017
• Start time does not depend on the data volume
• Can store more data than memory
• Crash recovery
• Single in-memory & native persistence architecture
2019 © GridGain Systems GridGain Company Confidential
Ignite 2.0: What we wanted
“We will just save everything to disk”
2019 © GridGain Systems GridGain Company Confidential
Circa 2017
10
?Data Grid Local Store
Transactional
Persistence
2019 © GridGain Systems GridGain Company Confidential
Beginning: Durable Memory
2019 © GridGain Systems GridGain Company Confidential
Beginning: Durable Memory
• ARIES Architecture
• Page-based
• Write-ahead log (when persistence is enabled)
• Everything is off heap
2019 © GridGain Systems GridGain Company Confidential
Beginning: Durable Memory
• PK Index: how to replace a HashMap
• Concurrent B+ Tree: a well-known data structure
• Separate PK Index per each partition
• Compare key hash first
• Bonus: guaranteed iteration order in a hash map
2019 © GridGain Systems GridGain Company Confidential
Baseline Topology
16
• [16:21:01] Ignite node started OK (id=326bab44)
• [16:21:01] >>> Ignite cluster is not active (limited functionality available). Use control.(sh|bat)
script or IgniteCluster interface to activate.
• [16:21:01] Topology snapshot [ver=1, locNode=326bab44, servers=1, clients=0, state=INACTIVE, CPUs=8,
offheap=3.2GB, heap=3.6GB]
• [16:21:01] ^-- Baseline [id=11, size=3, online=1, offline=2]
• [16:21:01] ^-- 2 nodes left for auto-activation [6213b7af-23bb-4c8d-a045-157d7f2d7718, db969788-
fc01-41f4-a91c-c03f2d201f76]
• [16:21:19] Joining node doesn't have encryption data [node=89b6ef6c-1055-4678-bcfa-00fb222208ce]
• [16:21:19] Topology snapshot [ver=2, locNode=326bab44, servers=2, clients=0, state=INACTIVE, CPUs=8,
offheap=6.4GB, heap=7.1GB]
• [16:21:19] ^-- Baseline [id=11, size=3, online=2, offline=1]
• [16:21:19] ^-- 1 nodes left for auto-activation [6213b7af-23bb-4c8d-a045-157d7f2d7718]
• [16:21:37] Joining node doesn't have encryption data [node=dd55ff24-da61-42cd-bbaf-c7940fab07d3]
• [16:21:37] Topology snapshot [ver=3, locNode=326bab44, servers=3, clients=0, state=INACTIVE, CPUs=8,
offheap=9.6GB, heap=11.0GB]
• [16:21:37] ^-- Baseline [id=11, size=3, online=3, offline=0]
• [16:21:37] ^-- All baseline nodes are online, will start auto-activation
2019 © GridGain Systems GridGain Company Confidential
Disk. Predictable access speed
• Disks are slow (even NVMe)
• At peak load naïve implementation steps on it’s tail easily
• Sudden performance drops to 0
2019 © GridGain Systems GridGain Company Confidential
Disk. Predictable access speed
• So, we need to… make Ignite slower
• Throttle input load depending on
• How fast we produce “dirty” pages
• How fast we write to disk
• How free the Copy-On-Write buffer is
2019 © GridGain Systems GridGain Company Confidential
Disk. Predictable access speed
• Page cache: what can go wrong
• We already have one-page cache in Ignite (durable memory)
• OS-level page cache
• Effectively doubles the memory consumption
2019 © GridGain Systems GridGain Company Confidential
Disk. Predictable access speed
• Page cache: solution is Direct IO
• Available in Java 10, but we build on Java 8
• Need to have native/platform specific calls or Java-
dependent module
2019 © GridGain Systems GridGain Company Confidential
The future?
21
Data Grid Local Store
Transactional
Persistence
?
2019 © GridGain Systems GridGain Company Confidential22
Questions?
2019 © GridGain Systems GridGain Company Confidential
More information
23
• Main landing page: https://ignite.apache.org
• Documentation: https://apacheignite.readme.io/docs
• Please complete our survey on how Apache Ignite should evolve:
https://docs.google.com/forms/d/e/1FAIpQLSdUveEVXer3lpkyiqfFw4175T
vZzGHUOS4snPfnkO0NDku0eQ/viewform
• Realtime data loading: https://www.imcsummit.org/2019/us/session/best-
practices-loading-real-time-data-distributed-systems-change-data-capture
2019 © GridGain Systems GridGain Company Confidential24
Stephen Darlington
Senior Consultant, GridGain Systems
@sdarlington

More Related Content

What's hot (20)

PPTX
Transactional SQL in Apache Hive
DataWorks Summit
 
PPTX
Securing Hadoop with Apache Ranger
DataWorks Summit
 
PDF
Outrageous Performance: RageDB's Experience with the Seastar Framework
ScyllaDB
 
PDF
RocksDB Performance and Reliability Practices
Yoshinori Matsunobu
 
PDF
Introduction to Cassandra
Gokhan Atil
 
PDF
HBase Storage Internals
DataWorks Summit
 
PDF
Engineering data quality
Lars Albertsson
 
PPTX
Apache Phoenix + Apache HBase
DataWorks Summit/Hadoop Summit
 
PDF
Parquet and AVRO
airisData
 
PPTX
OLTP+OLAP=HTAP
EDB
 
PDF
Spark SQL Catalyst Code Optimization using Function Outlining with Kavana Bha...
Databricks
 
PDF
Cassandra nice use cases and worst anti patterns
Duyhai Doan
 
PDF
Building an open data platform with apache iceberg
Alluxio, Inc.
 
PDF
Iceberg: A modern table format for big data (Strata NY 2018)
Ryan Blue
 
PPTX
Machine Learning in the IoT with Apache NiFi
DataWorks Summit/Hadoop Summit
 
PDF
Actionable Insights with AI - Snowflake for Data Science
Harald Erb
 
PDF
Neo4j 4.1 overview
Neo4j
 
PPTX
An Overview of Apache Cassandra
DataStax
 
PDF
ACID ORC, Iceberg, and Delta Lake—An Overview of Table Formats for Large Scal...
Databricks
 
PPTX
Modern data warehouse presentation
David Rice
 
Transactional SQL in Apache Hive
DataWorks Summit
 
Securing Hadoop with Apache Ranger
DataWorks Summit
 
Outrageous Performance: RageDB's Experience with the Seastar Framework
ScyllaDB
 
RocksDB Performance and Reliability Practices
Yoshinori Matsunobu
 
Introduction to Cassandra
Gokhan Atil
 
HBase Storage Internals
DataWorks Summit
 
Engineering data quality
Lars Albertsson
 
Apache Phoenix + Apache HBase
DataWorks Summit/Hadoop Summit
 
Parquet and AVRO
airisData
 
OLTP+OLAP=HTAP
EDB
 
Spark SQL Catalyst Code Optimization using Function Outlining with Kavana Bha...
Databricks
 
Cassandra nice use cases and worst anti patterns
Duyhai Doan
 
Building an open data platform with apache iceberg
Alluxio, Inc.
 
Iceberg: A modern table format for big data (Strata NY 2018)
Ryan Blue
 
Machine Learning in the IoT with Apache NiFi
DataWorks Summit/Hadoop Summit
 
Actionable Insights with AI - Snowflake for Data Science
Harald Erb
 
Neo4j 4.1 overview
Neo4j
 
An Overview of Apache Cassandra
DataStax
 
ACID ORC, Iceberg, and Delta Lake—An Overview of Table Formats for Large Scal...
Databricks
 
Modern data warehouse presentation
David Rice
 

Similar to How we broke Apache Ignite by adding persistence, by Stephen Darlington (Gridgain Systems) (20)

PDF
Nike tech-talk-intro-to-apache-ignite
Dani Traphagen
 
PPTX
Apache Spark and Apache Ignite: Where Fast Data Meets the IoT
Denis Magda
 
PPTX
In-Memory Computing Essentials for Software Engineers
Denis Magda
 
PPTX
An Introduction to Apache Ignite - Mandhir Gidda - Codemotion Rome 2017
Codemotion
 
PDF
OSDC 2017 - Christos Erotocritou - Apache ignite in-memory data fabric
NETWAYS
 
PPTX
Apache Ignite: In-Memory Hammer for Your Data Science Toolkit
Denis Magda
 
PPTX
In-Memory Computing Essentials for Architects and Engineers
Denis Magda
 
PDF
Spark Summit EU talk by Christos Erotocritou
Spark Summit
 
PDF
“Building consistent and highly available distributed systems with Apache Ign...
Tom Diederich
 
PDF
Getting Started with Apache Ignite as a Distributed Database
Roman Shtykh
 
PDF
Apache Ignite: In-Memory Hammer for Your Data Science Toolkit
Denis Magda
 
PPTX
IMC Summit 2016 Breakout - Nikita Ivanov - Shared In-Memory RDDs – Missing Li...
In-Memory Computing Summit
 
PPTX
Deploying Distributed Databases and In-Memory Computing Platforms with Kubern...
Stephen Darlington
 
PDF
Fast, In-Memory SQL on Apache Cassandra with Apache Ignite (Rachel Pedreschi,...
DataStax
 
PDF
Apache Spark and Apache Ignite: Where Fast Data Meets IoT
Denis Magda
 
PDF
The next-phase-of-distributed-systems-with-apache-ignite
Dani Traphagen
 
PPTX
Apache Ignite - Distributed SQL Database Capabilities
Denis Magda
 
PDF
Fast Data with Apache Ignite and Apache Spark with Christos Erotocritou
Spark Summit
 
PDF
Improving Apache Spark™ In-Memory Computing with Apache Ignite™
Tom Diederich
 
PDF
Data Summer Conf 2018, “Apache Ignite + Apache Spark RDDs and DataFrames inte...
Provectus
 
Nike tech-talk-intro-to-apache-ignite
Dani Traphagen
 
Apache Spark and Apache Ignite: Where Fast Data Meets the IoT
Denis Magda
 
In-Memory Computing Essentials for Software Engineers
Denis Magda
 
An Introduction to Apache Ignite - Mandhir Gidda - Codemotion Rome 2017
Codemotion
 
OSDC 2017 - Christos Erotocritou - Apache ignite in-memory data fabric
NETWAYS
 
Apache Ignite: In-Memory Hammer for Your Data Science Toolkit
Denis Magda
 
In-Memory Computing Essentials for Architects and Engineers
Denis Magda
 
Spark Summit EU talk by Christos Erotocritou
Spark Summit
 
“Building consistent and highly available distributed systems with Apache Ign...
Tom Diederich
 
Getting Started with Apache Ignite as a Distributed Database
Roman Shtykh
 
Apache Ignite: In-Memory Hammer for Your Data Science Toolkit
Denis Magda
 
IMC Summit 2016 Breakout - Nikita Ivanov - Shared In-Memory RDDs – Missing Li...
In-Memory Computing Summit
 
Deploying Distributed Databases and In-Memory Computing Platforms with Kubern...
Stephen Darlington
 
Fast, In-Memory SQL on Apache Cassandra with Apache Ignite (Rachel Pedreschi,...
DataStax
 
Apache Spark and Apache Ignite: Where Fast Data Meets IoT
Denis Magda
 
The next-phase-of-distributed-systems-with-apache-ignite
Dani Traphagen
 
Apache Ignite - Distributed SQL Database Capabilities
Denis Magda
 
Fast Data with Apache Ignite and Apache Spark with Christos Erotocritou
Spark Summit
 
Improving Apache Spark™ In-Memory Computing with Apache Ignite™
Tom Diederich
 
Data Summer Conf 2018, “Apache Ignite + Apache Spark RDDs and DataFrames inte...
Provectus
 
Ad

More from Altinity Ltd (20)

PPTX
Building an Analytic Extension to MySQL with ClickHouse and Open Source.pptx
Altinity Ltd
 
PDF
Cloud Native ClickHouse at Scale--Using the Altinity Kubernetes Operator-2022...
Altinity Ltd
 
PPTX
Building an Analytic Extension to MySQL with ClickHouse and Open Source
Altinity Ltd
 
PDF
Fun with ClickHouse Window Functions-2021-08-19.pdf
Altinity Ltd
 
PDF
Cloud Native Data Warehouses - Intro to ClickHouse on Kubernetes-2021-07.pdf
Altinity Ltd
 
PDF
Building High Performance Apps with Altinity Stable Builds for ClickHouse | A...
Altinity Ltd
 
PDF
Application Monitoring using Open Source - VictoriaMetrics & Altinity ClickHo...
Altinity Ltd
 
PDF
Own your ClickHouse data with Altinity.Cloud Anywhere-2023-01-17.pdf
Altinity Ltd
 
PDF
ClickHouse ReplacingMergeTree in Telecom Apps
Altinity Ltd
 
PDF
Adventures with the ClickHouse ReplacingMergeTree Engine
Altinity Ltd
 
PDF
Building a Real-Time Analytics Application with Apache Pulsar and Apache Pinot
Altinity Ltd
 
PDF
Altinity Webinar: Introduction to Altinity.Cloud-Platform for Real-Time Data.pdf
Altinity Ltd
 
PDF
OSA Con 2022 - What Data Engineering Can Learn from Frontend Engineering - Pe...
Altinity Ltd
 
PDF
OSA Con 2022 - Welcome to OSA CON Version 2022 - Robert Hodges - Altinity.pdf
Altinity Ltd
 
PDF
OSA Con 2022 - Using ClickHouse Database to Power Analytics and Customer Enga...
Altinity Ltd
 
PDF
OSA Con 2022 - Tips and Tricks to Keep Your Queries under 100ms with ClickHou...
Altinity Ltd
 
PDF
OSA Con 2022 - The Open Source Analytic Universe, Version 2022 - Robert Hodge...
Altinity Ltd
 
PDF
OSA Con 2022 - Switching Jaeger Distributed Tracing to ClickHouse to Enable A...
Altinity Ltd
 
PDF
OSA Con 2022 - Streaming Data Made Easy - Tim Spann & David Kjerrumgaard - St...
Altinity Ltd
 
PDF
OSA Con 2022 - State of Open Source Databases - Peter Zaitsev - Percona.pdf
Altinity Ltd
 
Building an Analytic Extension to MySQL with ClickHouse and Open Source.pptx
Altinity Ltd
 
Cloud Native ClickHouse at Scale--Using the Altinity Kubernetes Operator-2022...
Altinity Ltd
 
Building an Analytic Extension to MySQL with ClickHouse and Open Source
Altinity Ltd
 
Fun with ClickHouse Window Functions-2021-08-19.pdf
Altinity Ltd
 
Cloud Native Data Warehouses - Intro to ClickHouse on Kubernetes-2021-07.pdf
Altinity Ltd
 
Building High Performance Apps with Altinity Stable Builds for ClickHouse | A...
Altinity Ltd
 
Application Monitoring using Open Source - VictoriaMetrics & Altinity ClickHo...
Altinity Ltd
 
Own your ClickHouse data with Altinity.Cloud Anywhere-2023-01-17.pdf
Altinity Ltd
 
ClickHouse ReplacingMergeTree in Telecom Apps
Altinity Ltd
 
Adventures with the ClickHouse ReplacingMergeTree Engine
Altinity Ltd
 
Building a Real-Time Analytics Application with Apache Pulsar and Apache Pinot
Altinity Ltd
 
Altinity Webinar: Introduction to Altinity.Cloud-Platform for Real-Time Data.pdf
Altinity Ltd
 
OSA Con 2022 - What Data Engineering Can Learn from Frontend Engineering - Pe...
Altinity Ltd
 
OSA Con 2022 - Welcome to OSA CON Version 2022 - Robert Hodges - Altinity.pdf
Altinity Ltd
 
OSA Con 2022 - Using ClickHouse Database to Power Analytics and Customer Enga...
Altinity Ltd
 
OSA Con 2022 - Tips and Tricks to Keep Your Queries under 100ms with ClickHou...
Altinity Ltd
 
OSA Con 2022 - The Open Source Analytic Universe, Version 2022 - Robert Hodge...
Altinity Ltd
 
OSA Con 2022 - Switching Jaeger Distributed Tracing to ClickHouse to Enable A...
Altinity Ltd
 
OSA Con 2022 - Streaming Data Made Easy - Tim Spann & David Kjerrumgaard - St...
Altinity Ltd
 
OSA Con 2022 - State of Open Source Databases - Peter Zaitsev - Percona.pdf
Altinity Ltd
 
Ad

Recently uploaded (20)

PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
July Patch Tuesday
Ivanti
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PDF
Biography of Daniel Podor.pdf
Daniel Podor
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PDF
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
PDF
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
July Patch Tuesday
Ivanti
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
Biography of Daniel Podor.pdf
Daniel Podor
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
Transforming Utility Networks: Large-scale Data Migrations with FME
Safe Software
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 

How we broke Apache Ignite by adding persistence, by Stephen Darlington (Gridgain Systems)

  • 1. How we broke Apache Ignite by adding persistence Stephen Darlington 16 December, 2019 2018 © GridGain Systems
  • 2. 2019 © GridGain Systems GridGain Company Confidential2 (spoiler: already fixed)
  • 3. 2019 © GridGain Systems GridGain Company Confidential What is Ignite? Distributed memory-centric storage Combines the performance and scale of in- memory computing together with the disk durability and strong consistency in one system Co-located Computations Brings the computations to the servers where the data actually resides, eliminating need to move data over the network Distributed Key-Value Read, write and transact with fast key-value APIs Distributed SQL ACID Transactions Machine and Deep Learning Horizontally, fault-tolerant distributed SQL database that treats memory and disk as active storage tiers Supports distributed ACID transactions for key-value as well as SQL operations Set of simple, scalable and efficient tools that allow building predictive machine learning models without costly data transfers (ETL)
  • 4. 2019 © GridGain Systems GridGain Company Confidential Apache Ignite In-Memory Computing Platform Mainframe NoSQL HadoopIgnite Persistence Persistent Layer RDBMS Machine and Deep Learning EventsStreamingMessaging Transaction s SQLKey-Value Service GridCompute Grid Application Layer Web SaaS SocialMobile IoT In-Memory Data Store
  • 5. 2019 © GridGain Systems GridGain Company Confidential Apache Ignite’s History 5 Data Grid Local Store Transactional Persistence ?
  • 6. 2019 © GridGain Systems GridGain Company Confidential Circa 2011 6 Local Store Transactional Persistence ?Data Grid
  • 7. 2019 © GridGain Systems GridGain Company Confidential Circa 2014 7 Transactional Persistence ?Data Grid Local Store
  • 8. 2019 © GridGain Systems GridGain Company Confidential Circa 2017 • Start time does not depend on the data volume • Can store more data than memory • Crash recovery • Single in-memory & native persistence architecture
  • 9. 2019 © GridGain Systems GridGain Company Confidential Ignite 2.0: What we wanted “We will just save everything to disk”
  • 10. 2019 © GridGain Systems GridGain Company Confidential Circa 2017 10 ?Data Grid Local Store Transactional Persistence
  • 11. 2019 © GridGain Systems GridGain Company Confidential Beginning: Durable Memory
  • 12. 2019 © GridGain Systems GridGain Company Confidential Beginning: Durable Memory • ARIES Architecture • Page-based • Write-ahead log (when persistence is enabled) • Everything is off heap
  • 13. 2019 © GridGain Systems GridGain Company Confidential Beginning: Durable Memory • PK Index: how to replace a HashMap • Concurrent B+ Tree: a well-known data structure • Separate PK Index per each partition • Compare key hash first • Bonus: guaranteed iteration order in a hash map
  • 14. 2019 © GridGain Systems GridGain Company Confidential Baseline Topology 16 • [16:21:01] Ignite node started OK (id=326bab44) • [16:21:01] >>> Ignite cluster is not active (limited functionality available). Use control.(sh|bat) script or IgniteCluster interface to activate. • [16:21:01] Topology snapshot [ver=1, locNode=326bab44, servers=1, clients=0, state=INACTIVE, CPUs=8, offheap=3.2GB, heap=3.6GB] • [16:21:01] ^-- Baseline [id=11, size=3, online=1, offline=2] • [16:21:01] ^-- 2 nodes left for auto-activation [6213b7af-23bb-4c8d-a045-157d7f2d7718, db969788- fc01-41f4-a91c-c03f2d201f76] • [16:21:19] Joining node doesn't have encryption data [node=89b6ef6c-1055-4678-bcfa-00fb222208ce] • [16:21:19] Topology snapshot [ver=2, locNode=326bab44, servers=2, clients=0, state=INACTIVE, CPUs=8, offheap=6.4GB, heap=7.1GB] • [16:21:19] ^-- Baseline [id=11, size=3, online=2, offline=1] • [16:21:19] ^-- 1 nodes left for auto-activation [6213b7af-23bb-4c8d-a045-157d7f2d7718] • [16:21:37] Joining node doesn't have encryption data [node=dd55ff24-da61-42cd-bbaf-c7940fab07d3] • [16:21:37] Topology snapshot [ver=3, locNode=326bab44, servers=3, clients=0, state=INACTIVE, CPUs=8, offheap=9.6GB, heap=11.0GB] • [16:21:37] ^-- Baseline [id=11, size=3, online=3, offline=0] • [16:21:37] ^-- All baseline nodes are online, will start auto-activation
  • 15. 2019 © GridGain Systems GridGain Company Confidential Disk. Predictable access speed • Disks are slow (even NVMe) • At peak load naïve implementation steps on it’s tail easily • Sudden performance drops to 0
  • 16. 2019 © GridGain Systems GridGain Company Confidential Disk. Predictable access speed • So, we need to… make Ignite slower • Throttle input load depending on • How fast we produce “dirty” pages • How fast we write to disk • How free the Copy-On-Write buffer is
  • 17. 2019 © GridGain Systems GridGain Company Confidential Disk. Predictable access speed • Page cache: what can go wrong • We already have one-page cache in Ignite (durable memory) • OS-level page cache • Effectively doubles the memory consumption
  • 18. 2019 © GridGain Systems GridGain Company Confidential Disk. Predictable access speed • Page cache: solution is Direct IO • Available in Java 10, but we build on Java 8 • Need to have native/platform specific calls or Java- dependent module
  • 19. 2019 © GridGain Systems GridGain Company Confidential The future? 21 Data Grid Local Store Transactional Persistence ?
  • 20. 2019 © GridGain Systems GridGain Company Confidential22 Questions?
  • 21. 2019 © GridGain Systems GridGain Company Confidential More information 23 • Main landing page: https://ignite.apache.org • Documentation: https://apacheignite.readme.io/docs • Please complete our survey on how Apache Ignite should evolve: https://docs.google.com/forms/d/e/1FAIpQLSdUveEVXer3lpkyiqfFw4175T vZzGHUOS4snPfnkO0NDku0eQ/viewform • Realtime data loading: https://www.imcsummit.org/2019/us/session/best- practices-loading-real-time-data-distributed-systems-change-data-capture
  • 22. 2019 © GridGain Systems GridGain Company Confidential24 Stephen Darlington Senior Consultant, GridGain Systems @sdarlington