SlideShare a Scribd company logo
1 of 48
Download to read offline
Squeezing Performance ! 
out of In-Memory Data Grids 
© 2014 Hazelcast Inc. 
FUAD MALIKOV 
HAZELCAST CO-FOUNDER
Hazelcast co-founder! 
Java Developer since 2005! 
Worked at Financials and Telco’s. ! 
Leading Hazelcast Technical Operations. 
© 2014 Hazelcast Inc. 
About me 
2 
Follow 
me 
@fuadm
Agenda - 50 Minutes + Q&A 
© 2014 Hazelcast Inc. 
3 
Overview to IMDG’s! 
Hazelcast Partitioning Basics! 
A Shopping Cart Use – Case! 
8 possible solutions! 
Q&A
© 2014 Hazelcast Inc. 
What is an IMDG? 
4 
Data Structures(s) in memory! 
Distributed across servers ! 
Highly Available and Resilient! 
Horizontal Scalability! 
Object based Data Model
© 2014 Hazelcast Inc. 
Why an IMDG? 
Performance - RAM is faster than Disk! 
Data Structure - linked data model and application code ! 
Scalability - add servers to scale out RAM and CPU! 
Resiliency - seamless recovery from node failures! 
API - native, flexible and rich functionality 
5
Popular In-Memory Data Grids 
© 2014 Hazelcast Inc. 
Oracle Coherence ! 
Gigaspaces! 
Gemfire! 
IBM ExtremeScale! 
Infinispan! 
GridGain! 
Hazelcast! 
Terracotta* 
6
© 2014 Hazelcast Inc. 
Hazelcast 
7
Data Distribution 
© 2014 Hazelcast Inc. 
8
Partitioning (1 node) 
PARTITION_COUNT 
= 
271 
partition_id 
= 
hash(serialize(key))%PARTITION_COUNT 
© 2014 Hazelcast Inc. 
9 
P_1 
P_2 
P_271
Partitioning (2 nodes) 
© 2014 Hazelcast Inc. 
10 
P_1 
P_2 
P_135 
P_136 
P_137 
P_271 
P_136 
P_137 
P_271 
P_1 
P_2 
P_135
Partitioning (4 nodes) 
© 2014 Hazelcast Inc. 
11 
P_1 
P_2 
P_67 
P_68 
P_69 
P_136 
P_68 
P_137 
P_271 
P_1 
P_138 
P_205 
P_137 
P_138 
P_204 
P_205 
P_206 
P_271 
P_2 
P_69 
P_206 
P_67 
P_136 
P_204
© 2014 Hazelcast Inc. 
Example 
12 
P_1 
P_2 
P_67 
P_68 
P_69 
P_136 
P_68 
P_137 
P_271 
P_1 
P_138 
P_205 
P_137 
P_138 
P_204 
P_205 
P_206 
P_271 
P_2 
P_69 
P_206 
P_67 
P_136 
P_204 
map.put(“LHR”, 
“London 
Heathrow 
Airport”)?
map.put(“LHR”, 
“London 
Heathrow 
Airport”)? 
© 2014 Hazelcast Inc. 
Hashing 
13 
P_1 
P_2 
P_67 
P_68 
P_69 
P_136 
P_68 
P_137 
P_271 
P_1 
P_138 
P_205 
P_137 
P_138 
P_204 
P_205 
P_206 
P_271 
P_2 
P_69 
P_206 
P_67 
P_136 
P_204 
Hash(“LHR”)-­‐ 
> 
P_200
map.put(“LHR”, 
“London 
Heathrow 
Airport”)? 
© 2014 Hazelcast Inc. 
Hashing 
14 
P_1 
P_2 
P_67 
P_68 
P_69 
P_136 
P_68 
P_137 
P_271 
P_1 
P_138 
P_205 
P_137 
P_138 
P_204 
P_205 
P_206 
P_271 
P_2 
P_69 
P_206 
P_67 
P_136 
P_204 
1
map.put(“LHR”, 
“London 
Heathrow 
Airport”)? 
© 2014 Hazelcast Inc. 
Hashing 
15 
P_1 
P_2 
P_67 
P_68 
P_69 
P_136 
P_68 
P_137 
P_271 
P_1 
P_138 
P_205 
P_137 
P_138 
P_204 
P_205 
P_206 
P_271 
P_2 
P_69 
P_206 
P_67 
P_136 
P_204 
2 
1
map.put(“LHR”, 
“London 
Heathrow 
Airport”)? 
© 2014 Hazelcast Inc. 
Hashing 
16 
P_1 
P_2 
P_67 
P_68 
P_69 
P_136 
P_68 
P_137 
P_271 
P_1 
P_138 
P_205 
P_137 
P_138 
P_204 
P_205 
P_206 
P_271 
P_2 
P_69 
P_206 
P_67 
P_136 
P_204 
2 
1 
3
map.put(“LHR”, 
“London 
Heathrow 
Airport”)? 
© 2014 Hazelcast Inc. 
Hashing 
17 
P_1 
P_2 
P_67 
P_68 
P_69 
P_136 
P_68 
P_137 
P_271 
P_1 
P_138 
P_205 
P_137 
P_138 
P_204 
P_205 
P_206 
P_271 
P_2 
P_69 
P_206 
P_67 
P_136 
P_204 
2 
4 
1 
3
© 2014 Hazelcast Inc. 
Hashing 
18 
P_1 
P_2 
P_67 
P_68 
P_69 
P_136 
P_68 
P_137 
P_271 
P_1 
P_138 
P_205 
P_137 
P_138 
P_204 
P_205 
P_206 
P_271 
P_2 
P_69 
P_206 
P_67 
P_136 
P_204 
map.get(“LHR”)?
© 2014 Hazelcast Inc. 
Hashing 
19 
P_1 
P_2 
P_67 
P_68 
P_69 
P_136 
P_68 
P_137 
P_271 
P_1 
P_138 
P_205 
P_137 
P_138 
P_204 
P_205 
P_206 
P_271 
P_2 
P_69 
P_206 
P_67 
P_136 
P_204 
map.get(“LHR”)? 
1
© 2014 Hazelcast Inc. 
Hashing 
20 
P_1 
P_2 
P_67 
P_68 
P_69 
P_136 
P_68 
P_137 
P_271 
P_1 
P_138 
P_205 
P_137 
P_138 
P_204 
P_205 
P_206 
P_271 
P_2 
P_69 
P_206 
P_67 
P_136 
P_204 
map.get(“LHR”)? 
1 
2
Use - Case 
© 2014 Hazelcast Inc. 
21
Shopping card example 
© 2014 Hazelcast Inc. 
22
Shopping Cart Item 
© 2014 Hazelcast Inc. 
23
© 2014 Hazelcast Inc. 
Shopping Cart 
24
© 2014 Hazelcast Inc. 
Simulation 
25
© 2014 Hazelcast Inc. 
Simulation 
26 
#[Mean 
= 
2402.112, 
StdDeviation 
= 
4519.652] 
#[Max 
= 
148504.576, 
Total 
count 
= 
56690] 
Operations 
Per 
Second= 
5738
What 
is 
wrong 
here? 
© 2014 Hazelcast Inc. 
Simulation 
27 
#[Mean 
= 
2402.112, 
StdDeviation 
= 
4519.652] 
#[Max 
= 
148504.576, 
Total 
count 
= 
56690] 
Operations 
Per 
Second= 
5738
© 2014 Hazelcast Inc. 
Lock 
28
© 2014 Hazelcast Inc. 
Lock 
29 
#[Mean 
= 
3700.329, 
StdDeviation 
= 
2750.031] 
#[Max 
= 
56918.016, 
Total 
count 
= 
27045] 
Operations 
Per 
Second= 
2704
Can 
we 
improve 
this 
a 
little 
bit? 
© 2014 Hazelcast Inc. 
Lock 
30 
#[Mean 
= 
3700.329, 
StdDeviation 
= 
2750.031] 
#[Max 
= 
56918.016, 
Total 
count 
= 
27045] 
Operations 
Per 
Second= 
2704
© 2014 Hazelcast Inc. 
XA Transaction 
31
© 2014 Hazelcast Inc. 
XA Transaction 
32 
#[Mean 
= 
4077.075, 
StdDeviation 
= 
2119.846] 
#[Max 
= 
43155.456, 
Total 
count 
= 
24561] 
Operations 
Per 
Second= 
2456
Didn’t 
improve 
that 
much. 
Why? 
© 2014 Hazelcast Inc. 
XA Transaction 
33 
#[Mean 
= 
4077.075, 
StdDeviation 
= 
2119.846] 
#[Max 
= 
43155.456, 
Total 
count 
= 
24561] 
Operations 
Per 
Second= 
2456
© 2014 Hazelcast Inc. 
Local Transaction 
34
© 2014 Hazelcast Inc. 
Local Transaction 
35 
#[Mean 
= 
2654.831, 
StdDeviation 
= 
5011.547] 
#[Max 
= 
133955.584, 
Total 
count 
= 
56761] 
Operations 
Per 
Second= 
5726
Can 
we 
do 
it 
without 
a 
Transaction? 
© 2014 Hazelcast Inc. 
Local Transaction 
36 
#[Mean 
= 
2654.831, 
StdDeviation 
= 
5011.547] 
#[Max 
= 
133955.584, 
Total 
count 
= 
56761] 
Operations 
Per 
Second= 
5726
Compare and swap instead of locking 
© 2014 Hazelcast Inc. 
37
Compare and swap instead of locking 
© 2014 Hazelcast Inc. 
38 
#[Mean 
= 
2540.975, 
StdDeviation 
= 
5113.372] 
#[Max 
= 
133365.760, 
Total 
count 
= 
60087] 
Operations 
Per 
Second= 
6082
Compare and swap instead of locking 
© 2014 Hazelcast Inc. 
39 
What 
other 
options 
do 
we 
have? 
#[Mean 
= 
2540.975, 
StdDeviation 
= 
5113.372] 
#[Max 
= 
133365.760, 
Total 
count 
= 
60087] 
Operations 
Per 
Second= 
6082
© 2014 Hazelcast Inc. 
40
Move operation to data 
© 2014 Hazelcast Inc. 
41
Move operation to data 
© 2014 Hazelcast Inc. 
42
Move operation to data 
© 2014 Hazelcast Inc. 
43 
#[Mean 
= 
5725.046, 
StdDeviation 
= 
197009.148] 
#[Max 
= 
13639876.608, 
Total 
count 
= 
37219] 
Operations 
Per 
Second= 
3721
Move operation to data 
© 2014 Hazelcast Inc. 
44 
#[Mean 
= 
5725.046, 
StdDeviation 
= 
197009.148] 
#[Max 
= 
13639876.608, 
Total 
count 
= 
37219] 
Operations 
Per 
Second= 
3721 
Can 
we 
move 
it 
any 
closer?
© 2014 Hazelcast Inc. 
Entry Processor 
45
© 2014 Hazelcast Inc. 
Entry Processor 
46 
#[Mean 
= 
1876.355, 
StdDeviation 
= 
1751.857] 
#[Max 
= 
36306.944, 
Total 
count 
= 
69648] 
Operations 
Per 
Second= 
7018
Entry Processor Object format 
© 2014 Hazelcast Inc. 
47 
#[Mean 
= 
1199.272, 
StdDeviation 
= 
1023.777] 
#[Max 
= 
34013.184, 
Total 
count 
= 
83520] 
Operations 
Per 
Second= 
8352
HUGL meets tonight!! 
https://github.com/fuadm/webinar-TDHW ! 
Twitter: @fuadm! 
https://groups.google.com/forum/#!forum/hazelcast! 
http://hazelcast.com/company/careers/! 
http://hazelcast.org/learn/ 
© 2014 Hazelcast Inc. 
Questions? 
48

More Related Content

Similar to JAXLondon - Squeezing Performance of IMDGs

Squeezing Performance out of Hazelcast
Squeezing Performance out of HazelcastSqueezing Performance out of Hazelcast
Squeezing Performance out of HazelcastHazelcast
 
Tez: Accelerating Data Pipelines - fifthel
Tez: Accelerating Data Pipelines - fifthelTez: Accelerating Data Pipelines - fifthel
Tez: Accelerating Data Pipelines - fifthelt3rmin4t0r
 
Deep into Prometheus
Deep into PrometheusDeep into Prometheus
Deep into PrometheusZaar Hai
 
J 4共通 XCITE秋2014-開発者の可能性を際限なく広げる高性能クラウドSoftLayer
J 4共通 XCITE秋2014-開発者の可能性を際限なく広げる高性能クラウドSoftLayerJ 4共通 XCITE秋2014-開発者の可能性を際限なく広げる高性能クラウドSoftLayer
J 4共通 XCITE秋2014-開発者の可能性を際限なく広げる高性能クラウドSoftLayerMaho Takara
 
Cloud Crowd - Mandhir Gidda Razorfish " Building a Public / Private Hybrid Cl...
Cloud Crowd - Mandhir Gidda Razorfish " Building a Public / Private Hybrid Cl...Cloud Crowd - Mandhir Gidda Razorfish " Building a Public / Private Hybrid Cl...
Cloud Crowd - Mandhir Gidda Razorfish " Building a Public / Private Hybrid Cl...jimliddle
 
CloudCrowd - RazorFish Presentation on Building Hybrid Public/Private Cloud
CloudCrowd - RazorFish Presentation on Building Hybrid Public/Private CloudCloudCrowd - RazorFish Presentation on Building Hybrid Public/Private Cloud
CloudCrowd - RazorFish Presentation on Building Hybrid Public/Private CloudNati Shalom
 
Gruter_TECHDAY_2014_03_ApacheTajo (in Korean)
Gruter_TECHDAY_2014_03_ApacheTajo (in Korean)Gruter_TECHDAY_2014_03_ApacheTajo (in Korean)
Gruter_TECHDAY_2014_03_ApacheTajo (in Korean)Gruter
 
Downsampling your data October 2017
Downsampling your data October 2017Downsampling your data October 2017
Downsampling your data October 2017InfluxData
 
Running Cognos on Hadoop
Running Cognos on HadoopRunning Cognos on Hadoop
Running Cognos on HadoopSenturus
 
Getting Started with Apache Geode
Getting Started with Apache GeodeGetting Started with Apache Geode
Getting Started with Apache GeodeJohn Blum
 
Bring Cartography to the Cloud
Bring Cartography to the CloudBring Cartography to the Cloud
Bring Cartography to the CloudNick Dimiduk
 
Google Cloud Lightning Talk
Google Cloud Lightning TalkGoogle Cloud Lightning Talk
Google Cloud Lightning TalkDMI
 
OSP_Mfg_WIP_Advisor_Webcast_2013_0327.pdf
OSP_Mfg_WIP_Advisor_Webcast_2013_0327.pdfOSP_Mfg_WIP_Advisor_Webcast_2013_0327.pdf
OSP_Mfg_WIP_Advisor_Webcast_2013_0327.pdfAshesNag1
 
Kubernetes to improve business scalability and processes (Cloud & DevOps Worl...
Kubernetes to improve business scalability and processes (Cloud & DevOps Worl...Kubernetes to improve business scalability and processes (Cloud & DevOps Worl...
Kubernetes to improve business scalability and processes (Cloud & DevOps Worl...Michele Orsi
 
Getting started with Hadoop, Hive, Spark and Kafka
Getting started with Hadoop, Hive, Spark and KafkaGetting started with Hadoop, Hive, Spark and Kafka
Getting started with Hadoop, Hive, Spark and KafkaEdelweiss Kammermann
 
Learn How to Use a Time Series Platform to Monitor All Aspects of Your Kubern...
Learn How to Use a Time Series Platform to Monitor All Aspects of Your Kubern...Learn How to Use a Time Series Platform to Monitor All Aspects of Your Kubern...
Learn How to Use a Time Series Platform to Monitor All Aspects of Your Kubern...DevOps.com
 
April 2013 HUG: The Stinger Initiative - Making Apache Hive 100 Times Faster
April 2013 HUG: The Stinger Initiative - Making Apache Hive 100 Times FasterApril 2013 HUG: The Stinger Initiative - Making Apache Hive 100 Times Faster
April 2013 HUG: The Stinger Initiative - Making Apache Hive 100 Times FasterYahoo Developer Network
 

Similar to JAXLondon - Squeezing Performance of IMDGs (20)

Squeezing Performance out of Hazelcast
Squeezing Performance out of HazelcastSqueezing Performance out of Hazelcast
Squeezing Performance out of Hazelcast
 
Tez: Accelerating Data Pipelines - fifthel
Tez: Accelerating Data Pipelines - fifthelTez: Accelerating Data Pipelines - fifthel
Tez: Accelerating Data Pipelines - fifthel
 
Deep into Prometheus
Deep into PrometheusDeep into Prometheus
Deep into Prometheus
 
J 4共通 XCITE秋2014-開発者の可能性を際限なく広げる高性能クラウドSoftLayer
J 4共通 XCITE秋2014-開発者の可能性を際限なく広げる高性能クラウドSoftLayerJ 4共通 XCITE秋2014-開発者の可能性を際限なく広げる高性能クラウドSoftLayer
J 4共通 XCITE秋2014-開発者の可能性を際限なく広げる高性能クラウドSoftLayer
 
Cloud Crowd - Mandhir Gidda Razorfish " Building a Public / Private Hybrid Cl...
Cloud Crowd - Mandhir Gidda Razorfish " Building a Public / Private Hybrid Cl...Cloud Crowd - Mandhir Gidda Razorfish " Building a Public / Private Hybrid Cl...
Cloud Crowd - Mandhir Gidda Razorfish " Building a Public / Private Hybrid Cl...
 
CloudCrowd - RazorFish Presentation on Building Hybrid Public/Private Cloud
CloudCrowd - RazorFish Presentation on Building Hybrid Public/Private CloudCloudCrowd - RazorFish Presentation on Building Hybrid Public/Private Cloud
CloudCrowd - RazorFish Presentation on Building Hybrid Public/Private Cloud
 
Gruter_TECHDAY_2014_03_ApacheTajo (in Korean)
Gruter_TECHDAY_2014_03_ApacheTajo (in Korean)Gruter_TECHDAY_2014_03_ApacheTajo (in Korean)
Gruter_TECHDAY_2014_03_ApacheTajo (in Korean)
 
Downsampling your data October 2017
Downsampling your data October 2017Downsampling your data October 2017
Downsampling your data October 2017
 
Running Cognos on Hadoop
Running Cognos on HadoopRunning Cognos on Hadoop
Running Cognos on Hadoop
 
Getting Started with Apache Geode
Getting Started with Apache GeodeGetting Started with Apache Geode
Getting Started with Apache Geode
 
Bring Cartography to the Cloud
Bring Cartography to the CloudBring Cartography to the Cloud
Bring Cartography to the Cloud
 
Hado"ops" or Had"oops"
Hado"ops" or Had"oops"Hado"ops" or Had"oops"
Hado"ops" or Had"oops"
 
Hado "OPS" or Had "oops"
Hado "OPS" or Had "oops" Hado "OPS" or Had "oops"
Hado "OPS" or Had "oops"
 
Google Cloud Lightning Talk
Google Cloud Lightning TalkGoogle Cloud Lightning Talk
Google Cloud Lightning Talk
 
OSP_Mfg_WIP_Advisor_Webcast_2013_0327.pdf
OSP_Mfg_WIP_Advisor_Webcast_2013_0327.pdfOSP_Mfg_WIP_Advisor_Webcast_2013_0327.pdf
OSP_Mfg_WIP_Advisor_Webcast_2013_0327.pdf
 
ipv6 programming
ipv6 programmingipv6 programming
ipv6 programming
 
Kubernetes to improve business scalability and processes (Cloud & DevOps Worl...
Kubernetes to improve business scalability and processes (Cloud & DevOps Worl...Kubernetes to improve business scalability and processes (Cloud & DevOps Worl...
Kubernetes to improve business scalability and processes (Cloud & DevOps Worl...
 
Getting started with Hadoop, Hive, Spark and Kafka
Getting started with Hadoop, Hive, Spark and KafkaGetting started with Hadoop, Hive, Spark and Kafka
Getting started with Hadoop, Hive, Spark and Kafka
 
Learn How to Use a Time Series Platform to Monitor All Aspects of Your Kubern...
Learn How to Use a Time Series Platform to Monitor All Aspects of Your Kubern...Learn How to Use a Time Series Platform to Monitor All Aspects of Your Kubern...
Learn How to Use a Time Series Platform to Monitor All Aspects of Your Kubern...
 
April 2013 HUG: The Stinger Initiative - Making Apache Hive 100 Times Faster
April 2013 HUG: The Stinger Initiative - Making Apache Hive 100 Times FasterApril 2013 HUG: The Stinger Initiative - Making Apache Hive 100 Times Faster
April 2013 HUG: The Stinger Initiative - Making Apache Hive 100 Times Faster
 

More from Hazelcast

Time to Make the Move to In-Memory Data Grids
Time to Make the Move to In-Memory Data GridsTime to Make the Move to In-Memory Data Grids
Time to Make the Move to In-Memory Data GridsHazelcast
 
The Power of the JVM: Applied Polyglot Projects with Java and JavaScript
The Power of the JVM: Applied Polyglot Projects with Java and JavaScriptThe Power of the JVM: Applied Polyglot Projects with Java and JavaScript
The Power of the JVM: Applied Polyglot Projects with Java and JavaScriptHazelcast
 
JCache - It's finally here
JCache -  It's finally hereJCache -  It's finally here
JCache - It's finally hereHazelcast
 
Speed Up Your Existing Relational Databases with Hazelcast and Speedment
Speed Up Your Existing Relational Databases with Hazelcast and SpeedmentSpeed Up Your Existing Relational Databases with Hazelcast and Speedment
Speed Up Your Existing Relational Databases with Hazelcast and SpeedmentHazelcast
 
Shared Memory Performance: Beyond TCP/IP with Ben Cotton, JPMorgan
Shared Memory Performance: Beyond TCP/IP with Ben Cotton, JPMorganShared Memory Performance: Beyond TCP/IP with Ben Cotton, JPMorgan
Shared Memory Performance: Beyond TCP/IP with Ben Cotton, JPMorganHazelcast
 
Applying Real-time SQL Changes in your Hazelcast Data Grid
Applying Real-time SQL Changes in your Hazelcast Data GridApplying Real-time SQL Changes in your Hazelcast Data Grid
Applying Real-time SQL Changes in your Hazelcast Data GridHazelcast
 
WAN Replication: Hazelcast Enterprise Lightning Talk
WAN Replication: Hazelcast Enterprise Lightning TalkWAN Replication: Hazelcast Enterprise Lightning Talk
WAN Replication: Hazelcast Enterprise Lightning TalkHazelcast
 
JAAS Security Suite: Hazelcast Enterprise Lightning Talk
JAAS Security Suite: Hazelcast Enterprise Lightning TalkJAAS Security Suite: Hazelcast Enterprise Lightning Talk
JAAS Security Suite: Hazelcast Enterprise Lightning TalkHazelcast
 
Hazelcast for Terracotta Users
Hazelcast for Terracotta UsersHazelcast for Terracotta Users
Hazelcast for Terracotta UsersHazelcast
 
Big Data, Simple and Fast: Addressing the Shortcomings of Hadoop
Big Data, Simple and Fast: Addressing the Shortcomings of HadoopBig Data, Simple and Fast: Addressing the Shortcomings of Hadoop
Big Data, Simple and Fast: Addressing the Shortcomings of HadoopHazelcast
 
OrientDB & Hazelcast: In-Memory Distributed Graph Database
 OrientDB & Hazelcast: In-Memory Distributed Graph Database OrientDB & Hazelcast: In-Memory Distributed Graph Database
OrientDB & Hazelcast: In-Memory Distributed Graph DatabaseHazelcast
 
How to Use HazelcastMQ for Flexible Messaging and More
 How to Use HazelcastMQ for Flexible Messaging and More How to Use HazelcastMQ for Flexible Messaging and More
How to Use HazelcastMQ for Flexible Messaging and MoreHazelcast
 
Devoxx UK 2014 High Performance In-Memory Java with Open Source
Devoxx UK 2014   High Performance In-Memory Java with Open SourceDevoxx UK 2014   High Performance In-Memory Java with Open Source
Devoxx UK 2014 High Performance In-Memory Java with Open SourceHazelcast
 
JSR107 State of the Union JavaOne 2013
JSR107  State of the Union JavaOne 2013JSR107  State of the Union JavaOne 2013
JSR107 State of the Union JavaOne 2013Hazelcast
 
Jfokus - Hazlecast
Jfokus - HazlecastJfokus - Hazlecast
Jfokus - HazlecastHazelcast
 
In-memory No SQL- GIDS2014
In-memory No SQL- GIDS2014In-memory No SQL- GIDS2014
In-memory No SQL- GIDS2014Hazelcast
 
In-memory Data Management Trends & Techniques
In-memory Data Management Trends & TechniquesIn-memory Data Management Trends & Techniques
In-memory Data Management Trends & TechniquesHazelcast
 
How to Speed up your Database
How to Speed up your DatabaseHow to Speed up your Database
How to Speed up your DatabaseHazelcast
 
Hazelcast HUGL
Hazelcast HUGLHazelcast HUGL
Hazelcast HUGLHazelcast
 
Devoxx 2013 - Hazelcast
Devoxx 2013 - Hazelcast Devoxx 2013 - Hazelcast
Devoxx 2013 - Hazelcast Hazelcast
 

More from Hazelcast (20)

Time to Make the Move to In-Memory Data Grids
Time to Make the Move to In-Memory Data GridsTime to Make the Move to In-Memory Data Grids
Time to Make the Move to In-Memory Data Grids
 
The Power of the JVM: Applied Polyglot Projects with Java and JavaScript
The Power of the JVM: Applied Polyglot Projects with Java and JavaScriptThe Power of the JVM: Applied Polyglot Projects with Java and JavaScript
The Power of the JVM: Applied Polyglot Projects with Java and JavaScript
 
JCache - It's finally here
JCache -  It's finally hereJCache -  It's finally here
JCache - It's finally here
 
Speed Up Your Existing Relational Databases with Hazelcast and Speedment
Speed Up Your Existing Relational Databases with Hazelcast and SpeedmentSpeed Up Your Existing Relational Databases with Hazelcast and Speedment
Speed Up Your Existing Relational Databases with Hazelcast and Speedment
 
Shared Memory Performance: Beyond TCP/IP with Ben Cotton, JPMorgan
Shared Memory Performance: Beyond TCP/IP with Ben Cotton, JPMorganShared Memory Performance: Beyond TCP/IP with Ben Cotton, JPMorgan
Shared Memory Performance: Beyond TCP/IP with Ben Cotton, JPMorgan
 
Applying Real-time SQL Changes in your Hazelcast Data Grid
Applying Real-time SQL Changes in your Hazelcast Data GridApplying Real-time SQL Changes in your Hazelcast Data Grid
Applying Real-time SQL Changes in your Hazelcast Data Grid
 
WAN Replication: Hazelcast Enterprise Lightning Talk
WAN Replication: Hazelcast Enterprise Lightning TalkWAN Replication: Hazelcast Enterprise Lightning Talk
WAN Replication: Hazelcast Enterprise Lightning Talk
 
JAAS Security Suite: Hazelcast Enterprise Lightning Talk
JAAS Security Suite: Hazelcast Enterprise Lightning TalkJAAS Security Suite: Hazelcast Enterprise Lightning Talk
JAAS Security Suite: Hazelcast Enterprise Lightning Talk
 
Hazelcast for Terracotta Users
Hazelcast for Terracotta UsersHazelcast for Terracotta Users
Hazelcast for Terracotta Users
 
Big Data, Simple and Fast: Addressing the Shortcomings of Hadoop
Big Data, Simple and Fast: Addressing the Shortcomings of HadoopBig Data, Simple and Fast: Addressing the Shortcomings of Hadoop
Big Data, Simple and Fast: Addressing the Shortcomings of Hadoop
 
OrientDB & Hazelcast: In-Memory Distributed Graph Database
 OrientDB & Hazelcast: In-Memory Distributed Graph Database OrientDB & Hazelcast: In-Memory Distributed Graph Database
OrientDB & Hazelcast: In-Memory Distributed Graph Database
 
How to Use HazelcastMQ for Flexible Messaging and More
 How to Use HazelcastMQ for Flexible Messaging and More How to Use HazelcastMQ for Flexible Messaging and More
How to Use HazelcastMQ for Flexible Messaging and More
 
Devoxx UK 2014 High Performance In-Memory Java with Open Source
Devoxx UK 2014   High Performance In-Memory Java with Open SourceDevoxx UK 2014   High Performance In-Memory Java with Open Source
Devoxx UK 2014 High Performance In-Memory Java with Open Source
 
JSR107 State of the Union JavaOne 2013
JSR107  State of the Union JavaOne 2013JSR107  State of the Union JavaOne 2013
JSR107 State of the Union JavaOne 2013
 
Jfokus - Hazlecast
Jfokus - HazlecastJfokus - Hazlecast
Jfokus - Hazlecast
 
In-memory No SQL- GIDS2014
In-memory No SQL- GIDS2014In-memory No SQL- GIDS2014
In-memory No SQL- GIDS2014
 
In-memory Data Management Trends & Techniques
In-memory Data Management Trends & TechniquesIn-memory Data Management Trends & Techniques
In-memory Data Management Trends & Techniques
 
How to Speed up your Database
How to Speed up your DatabaseHow to Speed up your Database
How to Speed up your Database
 
Hazelcast HUGL
Hazelcast HUGLHazelcast HUGL
Hazelcast HUGL
 
Devoxx 2013 - Hazelcast
Devoxx 2013 - Hazelcast Devoxx 2013 - Hazelcast
Devoxx 2013 - Hazelcast
 

Recently uploaded

What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Intelisync
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 

Recently uploaded (20)

What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 

JAXLondon - Squeezing Performance of IMDGs

  • 1. Squeezing Performance ! out of In-Memory Data Grids © 2014 Hazelcast Inc. FUAD MALIKOV HAZELCAST CO-FOUNDER
  • 2. Hazelcast co-founder! Java Developer since 2005! Worked at Financials and Telco’s. ! Leading Hazelcast Technical Operations. © 2014 Hazelcast Inc. About me 2 Follow me @fuadm
  • 3. Agenda - 50 Minutes + Q&A © 2014 Hazelcast Inc. 3 Overview to IMDG’s! Hazelcast Partitioning Basics! A Shopping Cart Use – Case! 8 possible solutions! Q&A
  • 4. © 2014 Hazelcast Inc. What is an IMDG? 4 Data Structures(s) in memory! Distributed across servers ! Highly Available and Resilient! Horizontal Scalability! Object based Data Model
  • 5. © 2014 Hazelcast Inc. Why an IMDG? Performance - RAM is faster than Disk! Data Structure - linked data model and application code ! Scalability - add servers to scale out RAM and CPU! Resiliency - seamless recovery from node failures! API - native, flexible and rich functionality 5
  • 6. Popular In-Memory Data Grids © 2014 Hazelcast Inc. Oracle Coherence ! Gigaspaces! Gemfire! IBM ExtremeScale! Infinispan! GridGain! Hazelcast! Terracotta* 6
  • 7. © 2014 Hazelcast Inc. Hazelcast 7
  • 8. Data Distribution © 2014 Hazelcast Inc. 8
  • 9. Partitioning (1 node) PARTITION_COUNT = 271 partition_id = hash(serialize(key))%PARTITION_COUNT © 2014 Hazelcast Inc. 9 P_1 P_2 P_271
  • 10. Partitioning (2 nodes) © 2014 Hazelcast Inc. 10 P_1 P_2 P_135 P_136 P_137 P_271 P_136 P_137 P_271 P_1 P_2 P_135
  • 11. Partitioning (4 nodes) © 2014 Hazelcast Inc. 11 P_1 P_2 P_67 P_68 P_69 P_136 P_68 P_137 P_271 P_1 P_138 P_205 P_137 P_138 P_204 P_205 P_206 P_271 P_2 P_69 P_206 P_67 P_136 P_204
  • 12. © 2014 Hazelcast Inc. Example 12 P_1 P_2 P_67 P_68 P_69 P_136 P_68 P_137 P_271 P_1 P_138 P_205 P_137 P_138 P_204 P_205 P_206 P_271 P_2 P_69 P_206 P_67 P_136 P_204 map.put(“LHR”, “London Heathrow Airport”)?
  • 13. map.put(“LHR”, “London Heathrow Airport”)? © 2014 Hazelcast Inc. Hashing 13 P_1 P_2 P_67 P_68 P_69 P_136 P_68 P_137 P_271 P_1 P_138 P_205 P_137 P_138 P_204 P_205 P_206 P_271 P_2 P_69 P_206 P_67 P_136 P_204 Hash(“LHR”)-­‐ > P_200
  • 14. map.put(“LHR”, “London Heathrow Airport”)? © 2014 Hazelcast Inc. Hashing 14 P_1 P_2 P_67 P_68 P_69 P_136 P_68 P_137 P_271 P_1 P_138 P_205 P_137 P_138 P_204 P_205 P_206 P_271 P_2 P_69 P_206 P_67 P_136 P_204 1
  • 15. map.put(“LHR”, “London Heathrow Airport”)? © 2014 Hazelcast Inc. Hashing 15 P_1 P_2 P_67 P_68 P_69 P_136 P_68 P_137 P_271 P_1 P_138 P_205 P_137 P_138 P_204 P_205 P_206 P_271 P_2 P_69 P_206 P_67 P_136 P_204 2 1
  • 16. map.put(“LHR”, “London Heathrow Airport”)? © 2014 Hazelcast Inc. Hashing 16 P_1 P_2 P_67 P_68 P_69 P_136 P_68 P_137 P_271 P_1 P_138 P_205 P_137 P_138 P_204 P_205 P_206 P_271 P_2 P_69 P_206 P_67 P_136 P_204 2 1 3
  • 17. map.put(“LHR”, “London Heathrow Airport”)? © 2014 Hazelcast Inc. Hashing 17 P_1 P_2 P_67 P_68 P_69 P_136 P_68 P_137 P_271 P_1 P_138 P_205 P_137 P_138 P_204 P_205 P_206 P_271 P_2 P_69 P_206 P_67 P_136 P_204 2 4 1 3
  • 18. © 2014 Hazelcast Inc. Hashing 18 P_1 P_2 P_67 P_68 P_69 P_136 P_68 P_137 P_271 P_1 P_138 P_205 P_137 P_138 P_204 P_205 P_206 P_271 P_2 P_69 P_206 P_67 P_136 P_204 map.get(“LHR”)?
  • 19. © 2014 Hazelcast Inc. Hashing 19 P_1 P_2 P_67 P_68 P_69 P_136 P_68 P_137 P_271 P_1 P_138 P_205 P_137 P_138 P_204 P_205 P_206 P_271 P_2 P_69 P_206 P_67 P_136 P_204 map.get(“LHR”)? 1
  • 20. © 2014 Hazelcast Inc. Hashing 20 P_1 P_2 P_67 P_68 P_69 P_136 P_68 P_137 P_271 P_1 P_138 P_205 P_137 P_138 P_204 P_205 P_206 P_271 P_2 P_69 P_206 P_67 P_136 P_204 map.get(“LHR”)? 1 2
  • 21. Use - Case © 2014 Hazelcast Inc. 21
  • 22. Shopping card example © 2014 Hazelcast Inc. 22
  • 23. Shopping Cart Item © 2014 Hazelcast Inc. 23
  • 24. © 2014 Hazelcast Inc. Shopping Cart 24
  • 25. © 2014 Hazelcast Inc. Simulation 25
  • 26. © 2014 Hazelcast Inc. Simulation 26 #[Mean = 2402.112, StdDeviation = 4519.652] #[Max = 148504.576, Total count = 56690] Operations Per Second= 5738
  • 27. What is wrong here? © 2014 Hazelcast Inc. Simulation 27 #[Mean = 2402.112, StdDeviation = 4519.652] #[Max = 148504.576, Total count = 56690] Operations Per Second= 5738
  • 28. © 2014 Hazelcast Inc. Lock 28
  • 29. © 2014 Hazelcast Inc. Lock 29 #[Mean = 3700.329, StdDeviation = 2750.031] #[Max = 56918.016, Total count = 27045] Operations Per Second= 2704
  • 30. Can we improve this a little bit? © 2014 Hazelcast Inc. Lock 30 #[Mean = 3700.329, StdDeviation = 2750.031] #[Max = 56918.016, Total count = 27045] Operations Per Second= 2704
  • 31. © 2014 Hazelcast Inc. XA Transaction 31
  • 32. © 2014 Hazelcast Inc. XA Transaction 32 #[Mean = 4077.075, StdDeviation = 2119.846] #[Max = 43155.456, Total count = 24561] Operations Per Second= 2456
  • 33. Didn’t improve that much. Why? © 2014 Hazelcast Inc. XA Transaction 33 #[Mean = 4077.075, StdDeviation = 2119.846] #[Max = 43155.456, Total count = 24561] Operations Per Second= 2456
  • 34. © 2014 Hazelcast Inc. Local Transaction 34
  • 35. © 2014 Hazelcast Inc. Local Transaction 35 #[Mean = 2654.831, StdDeviation = 5011.547] #[Max = 133955.584, Total count = 56761] Operations Per Second= 5726
  • 36. Can we do it without a Transaction? © 2014 Hazelcast Inc. Local Transaction 36 #[Mean = 2654.831, StdDeviation = 5011.547] #[Max = 133955.584, Total count = 56761] Operations Per Second= 5726
  • 37. Compare and swap instead of locking © 2014 Hazelcast Inc. 37
  • 38. Compare and swap instead of locking © 2014 Hazelcast Inc. 38 #[Mean = 2540.975, StdDeviation = 5113.372] #[Max = 133365.760, Total count = 60087] Operations Per Second= 6082
  • 39. Compare and swap instead of locking © 2014 Hazelcast Inc. 39 What other options do we have? #[Mean = 2540.975, StdDeviation = 5113.372] #[Max = 133365.760, Total count = 60087] Operations Per Second= 6082
  • 40. © 2014 Hazelcast Inc. 40
  • 41. Move operation to data © 2014 Hazelcast Inc. 41
  • 42. Move operation to data © 2014 Hazelcast Inc. 42
  • 43. Move operation to data © 2014 Hazelcast Inc. 43 #[Mean = 5725.046, StdDeviation = 197009.148] #[Max = 13639876.608, Total count = 37219] Operations Per Second= 3721
  • 44. Move operation to data © 2014 Hazelcast Inc. 44 #[Mean = 5725.046, StdDeviation = 197009.148] #[Max = 13639876.608, Total count = 37219] Operations Per Second= 3721 Can we move it any closer?
  • 45. © 2014 Hazelcast Inc. Entry Processor 45
  • 46. © 2014 Hazelcast Inc. Entry Processor 46 #[Mean = 1876.355, StdDeviation = 1751.857] #[Max = 36306.944, Total count = 69648] Operations Per Second= 7018
  • 47. Entry Processor Object format © 2014 Hazelcast Inc. 47 #[Mean = 1199.272, StdDeviation = 1023.777] #[Max = 34013.184, Total count = 83520] Operations Per Second= 8352
  • 48. HUGL meets tonight!! https://github.com/fuadm/webinar-TDHW ! Twitter: @fuadm! https://groups.google.com/forum/#!forum/hazelcast! http://hazelcast.com/company/careers/! http://hazelcast.org/learn/ © 2014 Hazelcast Inc. Questions? 48