SlideShare a Scribd company logo
WORK WITH MULTIPLE HOT TERABYTES IN
JVMS
PER MINBORG
@PMINBORG
CTO, SPEEDMENT, INC.
See all the presentations from the In-Memory Computing
Summit at http://imcsummit.org
SPEEDMENT, INC.
3
ABOUT PER
SCENARIO
>1TB
Application
Source ofTruth
In-JVM-Cache
In-Memory
Solution
Web Shop
StockTrade
Bank
Machine learning
Etc.
PROS OF IN-MEMORY
 Improved performance
 Consistent performance
 Cost reduction (server, AWS and licenses)
CHALLENGES OF IN-MEMORY
 Optimized Speed
 Cost and size of Memory
 Consistency, Restart, DB impact, etc.
 Organization and size of JVMs
CHALLENGES OF IN-MEMORY
 Optimized Speed
 Cost and size of Memory
 Consistency, Restart, DB impact, etc.
 Organization and size of JVMs
OPTIMIZED SPEED
 No matter how advanced database you may ever use, it is really the data locality that counts
 Eventually, memory will cost less than x $/GB (Pick any x)
LATENCIES USING THE SPEED OF LIGHT
 Database query (1 s)
LATENCIES USING THE SPEED OF LIGHT
 Disk Seek – LA
 TCP (DC) – SJ
 SSD - Oakland
LATENCIES USING THE SPEED OF LIGHT
 Main Memory
 CPU L3 Cache
LATENCIES USING THE SPEED OF LIGHT
 CPU L2 Cache
 CPU L1 Cache
CHALLENGES OF IN-MEMORY
 Optimized Speed
 Cost and size of Memory
 Consistency, Restart, DB impact, etc.
 Organization and size of JVMs
TITLE OF SLIDE GOES HEREHow much
does 1 GB
cost?
BACK TO THE FUTURE
$ 5
$ 0.04
$ 720,000
$ 67,000,000,000
Source: http://www.jcmit.com/memoryprice.htm
BACK TO THE FUTURE
CHALLENGES OF IN-MEMORY
 Optimized Speed
 Cost and size of Memory
 Consistency, Restart, DB impact, etc.
 Organization and size of JVMs
CACHE SYNCHRONIZATION STRATEGIES
• Dumps are reloaded periodically
• All data elements are reloaded
• Data remains unchanged between
reloads
• System restart is just a reload
DUMP AND LOAD
• Data evicted, refreshed or marked as old
• Evicted element are reloaded
• Data changes all the time
• System restart either warm-up the cache
or use a cold cache
POLL
CACHE SYNCHRONIZATION STRATEGIES
• Changed data is captured in the Database
• Changed data events are pushed into the cache
• Events are grouped in transactions
• Cache updates are persisted
• Data changes all the time
• System restart, replay the missed events
REACTIVE PERSISTANT
CACHING
COMPARISON
Dump and Load
Caching
Poll Caching Reactive
Persistance
Caching
Max Data Age Dump period Eviction time Replication Latency -
Lookup
Performance
Consistently Instant ~20% slow Consistently Instant
Consistency Eventually Consistent Inconsistent - stale Eventually Consistent
Database Cache
Update Load
Total Size Depends on Eviction
Time and Access
Rate of Change
Restart Complete Reload Eviction Time Down time update
-> 10% of down time
*
CHALLENGES OF IN-MEMORY
 Optimized Speed
 Cost and size of Memory
 Consistency, Restart, DB impact, etc.
 Organization and size of JVMs
BIG JVMS WITH TERABYTES OF DATA
 Scale Up
 One large JVM handles all data
 Map memory to (SSD backed) files
 Several JVMs can share data via the file system
 Instant restart
 Scale Out
 Have several JVMs in a network
 Use sharding between nodes
 Redundant nodes
CONVENTIONAL JAVA APPLICATIONS
 Java Objects live on the Heap and are Garbage Collected periodically
 Garbage Collection times increases with the Java Heap size
 Garbage Collection times increases with the Java Heap mutation rate
 “The app has hit the GC wall”
 Hard to meet reasonable SLAs with more than 16:ish GB JVMs
 10 TB data and 10 GB JVMs -> ~1000 JVMs
OFF HEAP STORAGE
 Stores data outside of the Java heap
 The Garbage Collector does not see the content
 Scales up to terra bytes of main memory in a single JVM
 Use any number of nodes for scale out solutions
PERSISTENT SCALE OUT CACHE
 Persists data in files or memory mapped files
 SSD backing device recommended
 1.3 GB/s reload per node
 10 GB in 6s
 100 GB in 1 min
 1 TB in 10 min
 6.5 GB/s reload in a system with 10 nodes (1 active and 1 backup)
 10 GB in 1 s
 100 GB in 12 s
 1 TB in 2 min
 65 GB/s reload in a system with 100 nodes, 1 TB in 12 s
COMPRESSED OOPS IN JAVA 8
 Using the default of
–XX:+UseCompressedOops
–XX:ObjectAlignmentInBytes=16
 In a 64-bit JVM, it can use “compressed” memory references.
 This allows the heap to be up to 64 GB without the overhead of 64-bit object references.
 As all object must be 8 or 16-byte aligned, the lower 3 or 4 bits of the address are always zeros and
don’t need to be stored. This allows the heap to reference 4 billion * 16-bytes or 64 GB.
 Uses 32-bit references.
JVM SIZE SWEET SPOT
 50 GB off heap per node
 20 nodes per terabyte
 40 nodes per terabyte with minimum redundancy
CONCLUSIONS
 Get speed by keeping your data close to the application
 RAM is cheap and getting bigger and ever cheaper
 Consistent solution with Reactive Persistent Caching
Reactive Persistent Caching imposes minimum load on restart and on the DB
 Scale up solutions can be in the terabytes with virtual memory or file mapped memory
Scale out solutions can use 50 GBish nodes
SOLUTION
>1TB
Application
In-JVM-Cache
Web Shop
StockTrade
Bank
Machine learning
Etc.
Source ofTruth
SPEEDMENT
 Java Application Development Tool
 In-JVM-memory cache
 Database SQL Reflector (CDC, Change Data Capture)
 Pluggable storage engines (Speedment, Chronicle Map, Hazelcast, Grid Gain, etc.)
 Code generation tool -> Automatic domain model extraction from databases
 Transaction-aware
SPEEDMENT SCALE UP ULTRA-LOW LATENCY CACHE
 Ultra-low latency (Runs in the same JVM as the application)
 Millions of TPS
 Latencies measured in microseconds
 Supports file mapping
 Terabytes of data
 O(1) for equality operations
 O(log(N)) for other operations
SPEEDMENT SQL REFLECTOR
 Detects changes in a database
 Buffers the changes
 Can replay the changes later on
 Will preserve order
 Will preserve transactions
 Sees data as it was persisted
 Detects changes from any
source
Database
INSERT
UPDATE
DELETE
DOWNLOAD TRIAL @ WWW.SPEEDMENT.COM
CONNECT TO YOUR EXISTING SQL DB
AUTOMATIC SCHEMA ANALYSIS
PUSH AND PLAY
OFFERINGS
 Complete solutions for in-memory hot big data
 Software licenses
 Service and support
 Consulting
sales@speedment.com
@Speedment
www.speedment.com

More Related Content

PPTX
IMC Summit 2016 Breakout - Pandurang Naik - Demystifying In-Memory Data Grid,...
PPTX
IMC Summit 2016 Breakout - Andy Pavlo - What Non-Volatile Memory Means for th...
PDF
Introduce_non-volatile_generic_object_programming_model_for_In-Memory_Computing
PPTX
IMC Summit 2016 Breakout - Girish Mutreja - Extreme Transaction Processing in...
PDF
In-Memory Computing: Myths and Facts
PPTX
IMC Summit 2016 Breakout - Brian Bulkowski - NVMe, Storage Class Memory and O...
PPTX
In-Memory Computing: How, Why? and common Patterns
PDF
Propelling IoT Innovation with Predictive Analytics
IMC Summit 2016 Breakout - Pandurang Naik - Demystifying In-Memory Data Grid,...
IMC Summit 2016 Breakout - Andy Pavlo - What Non-Volatile Memory Means for th...
Introduce_non-volatile_generic_object_programming_model_for_In-Memory_Computing
IMC Summit 2016 Breakout - Girish Mutreja - Extreme Transaction Processing in...
In-Memory Computing: Myths and Facts
IMC Summit 2016 Breakout - Brian Bulkowski - NVMe, Storage Class Memory and O...
In-Memory Computing: How, Why? and common Patterns
Propelling IoT Innovation with Predictive Analytics

What's hot (20)

PDF
The Future of Postgres Sharding / Bruce Momjian (PostgreSQL)
PDF
Aerospike Hybrid Memory Architecture
PDF
Brian Bulkowski. Aerospike
PPTX
Date-tiered Compaction Policy for Time-series Data
PPT
BigTable PreReading
PPTX
WiredTiger Overview
PPTX
Redis on NVMe SSD - Zvika Guz, Samsung
PDF
Сергей Сверчков и Виталий Руденя. Choosing a NoSQL database
PPTX
Building Data Pipelines with SMACK: Designing Storage Strategies for Scale an...
PPTX
Google mesa
PPTX
In-memory Databases
PDF
Powering Interactive Analytics with Alluxio and Presto
PPTX
Aerospike: Maximizing Performance
PPTX
MongoDB 101 & Beyond: Get Started in MongoDB 3.0, Preview 3.2 & Demo of Ops M...
PDF
In-memory database
PDF
The Practice of Presto & Alluxio in E-Commerce Big Data Platform
PPTX
Ужимай и властвуй алгоритмы компрессии в базах данных / Петр Зайцев (Percona)
PDF
Aerospike: The Enterprise Class NoSQL Database for Real-Time Applications
PPTX
Hardware planning & sizing for sql server
PDF
HBaseConAsia2018 Track1-1: Use CCSMap to improve HBase YGC time
The Future of Postgres Sharding / Bruce Momjian (PostgreSQL)
Aerospike Hybrid Memory Architecture
Brian Bulkowski. Aerospike
Date-tiered Compaction Policy for Time-series Data
BigTable PreReading
WiredTiger Overview
Redis on NVMe SSD - Zvika Guz, Samsung
Сергей Сверчков и Виталий Руденя. Choosing a NoSQL database
Building Data Pipelines with SMACK: Designing Storage Strategies for Scale an...
Google mesa
In-memory Databases
Powering Interactive Analytics with Alluxio and Presto
Aerospike: Maximizing Performance
MongoDB 101 & Beyond: Get Started in MongoDB 3.0, Preview 3.2 & Demo of Ops M...
In-memory database
The Practice of Presto & Alluxio in E-Commerce Big Data Platform
Ужимай и властвуй алгоритмы компрессии в базах данных / Петр Зайцев (Percona)
Aerospike: The Enterprise Class NoSQL Database for Real-Time Applications
Hardware planning & sizing for sql server
HBaseConAsia2018 Track1-1: Use CCSMap to improve HBase YGC time
Ad

Viewers also liked (14)

PPTX
IMC Summit 2016 Breakout - Henning Andersen - Using Lock-free and Wait-free I...
PDF
IMCSummit 2015 - Day 2 General Session - Flash-Extending In-Memory Computing
PDF
Memory-Driven Near-Data Acceleration and its application to DOME/SKA
PPTX
IMC Summit 2016 Innovation - Steve Wilkes - Tap Into Your Enterprise – Why Da...
PDF
IMC Summit 2016 Breakout - Yanping Wang - Non-volatile Generic Object Program...
PPTX
IMC Summit 2016 Breakout - Gordon Patrick - Developments in Persistent Memory
PPTX
IMC Summit 2016 Innovation - Dennis Duckworth - Lambda-B-Gone: The In-memory ...
PPTX
DE-16S. GBN Systems - Performing Mechatronics - Made in Bavaria
PPTX
IMC Summit 2016 Breakout - Ken Gibson - The In-Place Working Storage Tier
PPTX
IMC Summit 2016 Innovation - Girish Mutreja - Unveiling the X Platform
PPTX
IMC Summit 2016 Breakout - Girish Kathalagiri - Decision Making with MLLIB, S...
PDF
El emprendedor según mi visión Juan Belmonte
PDF
Easy tips to improve your information retrieval practices and evaluation of p...
PPTX
Simple Chores For Kids
IMC Summit 2016 Breakout - Henning Andersen - Using Lock-free and Wait-free I...
IMCSummit 2015 - Day 2 General Session - Flash-Extending In-Memory Computing
Memory-Driven Near-Data Acceleration and its application to DOME/SKA
IMC Summit 2016 Innovation - Steve Wilkes - Tap Into Your Enterprise – Why Da...
IMC Summit 2016 Breakout - Yanping Wang - Non-volatile Generic Object Program...
IMC Summit 2016 Breakout - Gordon Patrick - Developments in Persistent Memory
IMC Summit 2016 Innovation - Dennis Duckworth - Lambda-B-Gone: The In-memory ...
DE-16S. GBN Systems - Performing Mechatronics - Made in Bavaria
IMC Summit 2016 Breakout - Ken Gibson - The In-Place Working Storage Tier
IMC Summit 2016 Innovation - Girish Mutreja - Unveiling the X Platform
IMC Summit 2016 Breakout - Girish Kathalagiri - Decision Making with MLLIB, S...
El emprendedor según mi visión Juan Belmonte
Easy tips to improve your information retrieval practices and evaluation of p...
Simple Chores For Kids
Ad

Similar to IMC Summit 2016 Breakout - Per Minoborg - Work with Multiple Hot Terabytes in JVMs (20)

PPTX
Work with hundred of hot terabytes in JVMs
PPT
11g R2
PPTX
Java one2015 - Work With Hundreds of Hot Terabytes in JVMs
PDF
PPTX
Sizing MongoDB on AWS with Wired Tiger-Patrick and Vigyan-Final
PPT
Frb Briefing Database
PPTX
Mapping Data Flows Perf Tuning April 2021
PDF
Caching methodology and strategies
PDF
Caching Methodology & Strategies
PPTX
Azure Data Factory Data Flow Performance Tuning 101
PDF
Spring One 2 GX 2014 - CACHING WITH SPRING: ADVANCED TOPICS AND BEST PRACTICES
PDF
2017 AWS DB Day | AWS 데이터베이스 개요 - 나의 업무에 적합한 데이터베이스는?
PPTX
Performance Tuning
PPTX
JavaOne2016 - Microservices: Terabytes in Microseconds [CON4516]
PPTX
JavaOne2016 - Microservices: Terabytes in Microseconds [CON4516]
PDF
Virtual Storage Center
PDF
Weblogic performance tuning1
PDF
Weblogic Cluster performance tuning
PDF
CASSANDRA MEETUP - Choosing the right cloud instances for success
PDF
071410 sun a_1515_feldman_stephen
Work with hundred of hot terabytes in JVMs
11g R2
Java one2015 - Work With Hundreds of Hot Terabytes in JVMs
Sizing MongoDB on AWS with Wired Tiger-Patrick and Vigyan-Final
Frb Briefing Database
Mapping Data Flows Perf Tuning April 2021
Caching methodology and strategies
Caching Methodology & Strategies
Azure Data Factory Data Flow Performance Tuning 101
Spring One 2 GX 2014 - CACHING WITH SPRING: ADVANCED TOPICS AND BEST PRACTICES
2017 AWS DB Day | AWS 데이터베이스 개요 - 나의 업무에 적합한 데이터베이스는?
Performance Tuning
JavaOne2016 - Microservices: Terabytes in Microseconds [CON4516]
JavaOne2016 - Microservices: Terabytes in Microseconds [CON4516]
Virtual Storage Center
Weblogic performance tuning1
Weblogic Cluster performance tuning
CASSANDRA MEETUP - Choosing the right cloud instances for success
071410 sun a_1515_feldman_stephen

More from In-Memory Computing Summit (18)

PPTX
IMC Summit 2016 Breakout - Roman Shtykh - Apache Ignite as a Data Processing Hub
PDF
IMC Summit 2016 Breakout - Nikita Shamgunov - Propelling IoT Innovation with ...
PPTX
IMC Summit 2016 Breakout - Matt Coventon - Test Driving Streaming and CEP on ...
PDF
IMC Summit 2016 Innovation - Derek Nelson - PipelineDB: The Streaming-SQL Dat...
PPTX
IMC Summit 2016 Breakout - Steve Wikes - Making IMC Enterprise Grade
PPTX
IMC Summit 2016 Breakout - Noah Arliss - The Truth: How to Test Your Distribu...
PPTX
IMC Summit 2016 Breakout - Aleksandar Seovic - The Illusion of Statelessness
PPTX
IMC Summit 2016 Breakout - Greg Luck - How to Speed Up Your Application Using...
PPTX
IMC Summit 2016 Breakout - William Bain - Implementing Extensible Data Struct...
PPTX
IMC Summit 2016 Keynote - Arthur Sainio - NVDIMM: Changes are Here So What’s ...
PPTX
IMC Summit 2016 Keynote - Robert Barr - In Memory Computing for Financial Ser...
PPTX
IMC Summit 2016 Breakout - Nikita Ivanov - Shared In-Memory RDDs – Missing Li...
PPTX
IMCSummite 2016 Breakout - Nikita Ivanov - Apache Ignite 2.0 Towards a Conver...
PPTX
IMC Summit 2016 Keynote - Jason Stamper - In-Memory: The Foundation of the In...
PPTX
IMCSummit 2016 Keynote - Benzi Galili - More Memory for In-Memory Easy
PPTX
IMCSummit 2016 Keynote - Abe Kleinfeld - The In-Memory Computing Landscape: L...
PPTX
Accelerating the Hadoop data stack with Apache Ignite, Spark and Bigtop
PDF
IMCSummit 2015 - Day 1 Developer Track - Evolution of non-volatile memory exp...
IMC Summit 2016 Breakout - Roman Shtykh - Apache Ignite as a Data Processing Hub
IMC Summit 2016 Breakout - Nikita Shamgunov - Propelling IoT Innovation with ...
IMC Summit 2016 Breakout - Matt Coventon - Test Driving Streaming and CEP on ...
IMC Summit 2016 Innovation - Derek Nelson - PipelineDB: The Streaming-SQL Dat...
IMC Summit 2016 Breakout - Steve Wikes - Making IMC Enterprise Grade
IMC Summit 2016 Breakout - Noah Arliss - The Truth: How to Test Your Distribu...
IMC Summit 2016 Breakout - Aleksandar Seovic - The Illusion of Statelessness
IMC Summit 2016 Breakout - Greg Luck - How to Speed Up Your Application Using...
IMC Summit 2016 Breakout - William Bain - Implementing Extensible Data Struct...
IMC Summit 2016 Keynote - Arthur Sainio - NVDIMM: Changes are Here So What’s ...
IMC Summit 2016 Keynote - Robert Barr - In Memory Computing for Financial Ser...
IMC Summit 2016 Breakout - Nikita Ivanov - Shared In-Memory RDDs – Missing Li...
IMCSummite 2016 Breakout - Nikita Ivanov - Apache Ignite 2.0 Towards a Conver...
IMC Summit 2016 Keynote - Jason Stamper - In-Memory: The Foundation of the In...
IMCSummit 2016 Keynote - Benzi Galili - More Memory for In-Memory Easy
IMCSummit 2016 Keynote - Abe Kleinfeld - The In-Memory Computing Landscape: L...
Accelerating the Hadoop data stack with Apache Ignite, Spark and Bigtop
IMCSummit 2015 - Day 1 Developer Track - Evolution of non-volatile memory exp...

Recently uploaded (20)

PPTX
1_Introduction to advance data techniques.pptx
PPT
Reliability_Chapter_ presentation 1221.5784
PPTX
Data_Analytics_and_PowerBI_Presentation.pptx
PDF
Launch Your Data Science Career in Kochi – 2025
PDF
Galatica Smart Energy Infrastructure Startup Pitch Deck
PPTX
Introduction to Knowledge Engineering Part 1
PPT
Quality review (1)_presentation of this 21
PPTX
Business Acumen Training GuidePresentation.pptx
PPTX
climate analysis of Dhaka ,Banglades.pptx
PDF
Introduction to Business Data Analytics.
PPTX
advance b rammar.pptxfdgdfgdfsgdfgsdgfdfgdfgsdfgdfgdfg
PDF
Mega Projects Data Mega Projects Data
PDF
Lecture1 pattern recognition............
PPTX
Computer network topology notes for revision
PDF
TRAFFIC-MANAGEMENT-AND-ACCIDENT-INVESTIGATION-WITH-DRIVING-PDF-FILE.pdf
PPTX
STUDY DESIGN details- Lt Col Maksud (21).pptx
PPTX
Major-Components-ofNKJNNKNKNKNKronment.pptx
PDF
168300704-gasification-ppt.pdfhghhhsjsjhsuxush
PPTX
mbdjdhjjodule 5-1 rhfhhfjtjjhafbrhfnfbbfnb
PPT
Chapter 2 METAL FORMINGhhhhhhhjjjjmmmmmmmmm
1_Introduction to advance data techniques.pptx
Reliability_Chapter_ presentation 1221.5784
Data_Analytics_and_PowerBI_Presentation.pptx
Launch Your Data Science Career in Kochi – 2025
Galatica Smart Energy Infrastructure Startup Pitch Deck
Introduction to Knowledge Engineering Part 1
Quality review (1)_presentation of this 21
Business Acumen Training GuidePresentation.pptx
climate analysis of Dhaka ,Banglades.pptx
Introduction to Business Data Analytics.
advance b rammar.pptxfdgdfgdfsgdfgsdgfdfgdfgsdfgdfgdfg
Mega Projects Data Mega Projects Data
Lecture1 pattern recognition............
Computer network topology notes for revision
TRAFFIC-MANAGEMENT-AND-ACCIDENT-INVESTIGATION-WITH-DRIVING-PDF-FILE.pdf
STUDY DESIGN details- Lt Col Maksud (21).pptx
Major-Components-ofNKJNNKNKNKNKronment.pptx
168300704-gasification-ppt.pdfhghhhsjsjhsuxush
mbdjdhjjodule 5-1 rhfhhfjtjjhafbrhfnfbbfnb
Chapter 2 METAL FORMINGhhhhhhhjjjjmmmmmmmmm

IMC Summit 2016 Breakout - Per Minoborg - Work with Multiple Hot Terabytes in JVMs

  • 1. WORK WITH MULTIPLE HOT TERABYTES IN JVMS PER MINBORG @PMINBORG CTO, SPEEDMENT, INC. See all the presentations from the In-Memory Computing Summit at http://imcsummit.org
  • 5. PROS OF IN-MEMORY  Improved performance  Consistent performance  Cost reduction (server, AWS and licenses)
  • 6. CHALLENGES OF IN-MEMORY  Optimized Speed  Cost and size of Memory  Consistency, Restart, DB impact, etc.  Organization and size of JVMs
  • 7. CHALLENGES OF IN-MEMORY  Optimized Speed  Cost and size of Memory  Consistency, Restart, DB impact, etc.  Organization and size of JVMs
  • 8. OPTIMIZED SPEED  No matter how advanced database you may ever use, it is really the data locality that counts  Eventually, memory will cost less than x $/GB (Pick any x)
  • 9. LATENCIES USING THE SPEED OF LIGHT  Database query (1 s)
  • 10. LATENCIES USING THE SPEED OF LIGHT  Disk Seek – LA  TCP (DC) – SJ  SSD - Oakland
  • 11. LATENCIES USING THE SPEED OF LIGHT  Main Memory  CPU L3 Cache
  • 12. LATENCIES USING THE SPEED OF LIGHT  CPU L2 Cache  CPU L1 Cache
  • 13. CHALLENGES OF IN-MEMORY  Optimized Speed  Cost and size of Memory  Consistency, Restart, DB impact, etc.  Organization and size of JVMs
  • 14. TITLE OF SLIDE GOES HEREHow much does 1 GB cost?
  • 15. BACK TO THE FUTURE $ 5 $ 0.04 $ 720,000 $ 67,000,000,000 Source: http://www.jcmit.com/memoryprice.htm
  • 16. BACK TO THE FUTURE
  • 17. CHALLENGES OF IN-MEMORY  Optimized Speed  Cost and size of Memory  Consistency, Restart, DB impact, etc.  Organization and size of JVMs
  • 18. CACHE SYNCHRONIZATION STRATEGIES • Dumps are reloaded periodically • All data elements are reloaded • Data remains unchanged between reloads • System restart is just a reload DUMP AND LOAD • Data evicted, refreshed or marked as old • Evicted element are reloaded • Data changes all the time • System restart either warm-up the cache or use a cold cache POLL
  • 19. CACHE SYNCHRONIZATION STRATEGIES • Changed data is captured in the Database • Changed data events are pushed into the cache • Events are grouped in transactions • Cache updates are persisted • Data changes all the time • System restart, replay the missed events REACTIVE PERSISTANT CACHING
  • 20. COMPARISON Dump and Load Caching Poll Caching Reactive Persistance Caching Max Data Age Dump period Eviction time Replication Latency - Lookup Performance Consistently Instant ~20% slow Consistently Instant Consistency Eventually Consistent Inconsistent - stale Eventually Consistent Database Cache Update Load Total Size Depends on Eviction Time and Access Rate of Change Restart Complete Reload Eviction Time Down time update -> 10% of down time *
  • 21. CHALLENGES OF IN-MEMORY  Optimized Speed  Cost and size of Memory  Consistency, Restart, DB impact, etc.  Organization and size of JVMs
  • 22. BIG JVMS WITH TERABYTES OF DATA  Scale Up  One large JVM handles all data  Map memory to (SSD backed) files  Several JVMs can share data via the file system  Instant restart  Scale Out  Have several JVMs in a network  Use sharding between nodes  Redundant nodes
  • 23. CONVENTIONAL JAVA APPLICATIONS  Java Objects live on the Heap and are Garbage Collected periodically  Garbage Collection times increases with the Java Heap size  Garbage Collection times increases with the Java Heap mutation rate  “The app has hit the GC wall”  Hard to meet reasonable SLAs with more than 16:ish GB JVMs  10 TB data and 10 GB JVMs -> ~1000 JVMs
  • 24. OFF HEAP STORAGE  Stores data outside of the Java heap  The Garbage Collector does not see the content  Scales up to terra bytes of main memory in a single JVM  Use any number of nodes for scale out solutions
  • 25. PERSISTENT SCALE OUT CACHE  Persists data in files or memory mapped files  SSD backing device recommended  1.3 GB/s reload per node  10 GB in 6s  100 GB in 1 min  1 TB in 10 min  6.5 GB/s reload in a system with 10 nodes (1 active and 1 backup)  10 GB in 1 s  100 GB in 12 s  1 TB in 2 min  65 GB/s reload in a system with 100 nodes, 1 TB in 12 s
  • 26. COMPRESSED OOPS IN JAVA 8  Using the default of –XX:+UseCompressedOops –XX:ObjectAlignmentInBytes=16  In a 64-bit JVM, it can use “compressed” memory references.  This allows the heap to be up to 64 GB without the overhead of 64-bit object references.  As all object must be 8 or 16-byte aligned, the lower 3 or 4 bits of the address are always zeros and don’t need to be stored. This allows the heap to reference 4 billion * 16-bytes or 64 GB.  Uses 32-bit references.
  • 27. JVM SIZE SWEET SPOT  50 GB off heap per node  20 nodes per terabyte  40 nodes per terabyte with minimum redundancy
  • 28. CONCLUSIONS  Get speed by keeping your data close to the application  RAM is cheap and getting bigger and ever cheaper  Consistent solution with Reactive Persistent Caching Reactive Persistent Caching imposes minimum load on restart and on the DB  Scale up solutions can be in the terabytes with virtual memory or file mapped memory Scale out solutions can use 50 GBish nodes
  • 30. SPEEDMENT  Java Application Development Tool  In-JVM-memory cache  Database SQL Reflector (CDC, Change Data Capture)  Pluggable storage engines (Speedment, Chronicle Map, Hazelcast, Grid Gain, etc.)  Code generation tool -> Automatic domain model extraction from databases  Transaction-aware
  • 31. SPEEDMENT SCALE UP ULTRA-LOW LATENCY CACHE  Ultra-low latency (Runs in the same JVM as the application)  Millions of TPS  Latencies measured in microseconds  Supports file mapping  Terabytes of data  O(1) for equality operations  O(log(N)) for other operations
  • 32. SPEEDMENT SQL REFLECTOR  Detects changes in a database  Buffers the changes  Can replay the changes later on  Will preserve order  Will preserve transactions  Sees data as it was persisted  Detects changes from any source Database INSERT UPDATE DELETE
  • 33. DOWNLOAD TRIAL @ WWW.SPEEDMENT.COM
  • 34. CONNECT TO YOUR EXISTING SQL DB
  • 37. OFFERINGS  Complete solutions for in-memory hot big data  Software licenses  Service and support  Consulting