2. Agenda
• In Memory Grids
– 10,000 foot view.
– Present scenario
– Why
– Why now
• Use Cases
• Types of In Memory Grids
– Compute Grid
– Data Grid
• Reference Architecture
• Sample application demo
• Further Resources
• Questions & Feedback
3. In Memory Grids
• 10,000 foot view
Breaking your problem to solve it using multiple resources on network.
Using main memory instead of Disk to do file I/O.
4. BigData landscape
Traditional App Associated Challenges
RDBMS -- Used to run many analytics
systems
Performance ( Not Real time), Scaling,
Cost++
CEP -- Designed to correlate data in real
time
Scaling (often necessary to aggregate
events into a centralized source ), not
designed for historical data.
Hadoop -- Designed for batch analytics and
complex correlation
Not designed for Real time.
NoSQL -- Designed to handle large data
volumes at low cost
Processing capability: Sheer amount of
data can be challenging.
IMDG -- Fast for storing and processing
data
Storing vast amounts of information in-
memory doesn’t scale, in terms of both
system scaling and cost
Different problems, so are the solutions.
5. Why ?
• Speed matters
– Citi : 100ms == $1 M
– Google : 500ms == 20% traffic drop
• Disk up to 107 times slower than RAM.
6. In Memory Grids• Why now?
– Hardware, ability++ and cost--
• 1TB RAM & 48 core cluster (can hold full week tweets) ~ $40K
Data Growth, PB DRAM Cost, $
BigData tech. plannedData is growing exponentially 30% drop each 12-18 months
7. Use Cases
• Trading Systems
– Handle large volume of transactions
• Real time risk analytics
– Analysis of trading positions and risk
• Online gaming
– Online real-time backbone for gaming
• Geo Mapping
– Real-time geographical route and traffic information
• Bio Informatics
– Real-time DNA sequencing and matching
9. In Memory Grids
1. In Memory -- Compute Grid.
Compute Grids allow you to take a computation, optionally split it into multiple parts, and
execute them on different grid nodes in parallel.
12. In Memory Grids
2. In Memory -- Data Grid. (aka, Distributed data caching )
Provides applications with ability to keep data in memory for high availability rather than
constantly fetching it from slower storage elsewhere, like RDBMS or shared file systems.
13. IMDG ?
• Several JVMs sharing in-memory partitioned data.
• Provides extremely low latency access to,
and high availability of, application data by keeping it in
memory and to do so in a highly parallelized way.
• Support most of the Big Data processing requirements.
15. Common Features
• The same object your business logic is using can be kept in the data grid.
• No extra step of marshaling and un-marshaling.
• Embeddable (optional)
17. IMDG is not a
• NoSQL database
• In Memory Database (IMDB)
• How?
• Support for true distributed ACID transactions with highly optimized 2PC protocol implementation.
• Scalable Data Partitioning across a cluster including both partitioned or fully replicated scenarios
• Ability to work directly with application domain objects rather than with primitive types or “documents”
• Tight integration with In-Memory Compute Grid (IMCG)
• Pluggable segmentation (a.k.a. "brain split" problem) resolution
• Pluggable expiration policies
• Pluggable indexing support