SlideShare a Scribd company logo
HAZELCAST 3
IN-MEMORY DATAGRID

www.hazelcast.com
WHO AM I
Christoph Engelbert (@noctarius2k)
8+ years of professional Java development
5+ years of backend development
Specialized to performance, GC, traffic topics
Was working for int. companies as Ubisoft and HRS
Since November 2013 official Hazelcast Hacker
Apache DirectMemory / Lightning Committer and PMC
Developer CastMapR - MapReduce on Hazelcast 3

www.hazelcast.com
HAZELCAST IN KEYWORDS
In-Memory DataGrid
Distributed Cache
Distributed Execution Framework
NoSQL
Clustering
Scalability
Partitioning
Cloud Ready
OpenSource - Apache License 2.0

www.hazelcast.com
WHO USES HAZELCAST?

and many more ...

www.hazelcast.com
USECASES
Scale your application
Distribute and share data
Partition your data
Distribute messages
Process in parallel on multiple machines
Load balancing

www.hazelcast.com
ALTERNATIVES?
Oracle Coherence
IBM eXtreme Scale
VMware Gemfire
Gigaspaces
Redhat Infinispan
Gridgain
Terracotta

www.hazelcast.com
DIFFERENCES?
Easy to use
License / Cost
Lightweight
Features

www.hazelcast.com
FEATURES
Java Collection API
Map, Queue, Set, List
MultiMap
Topic (PubSub)
Java Concurrency API
Lock, Semaphore, CountDownLatch, ExecutorService
Transactions
Custom Serialization
Off-Heap support
Native client: C#, C++, Java, REST, memcached

www.hazelcast.com
EASY API
/ Cetn anwHzlatnd
/ raig
e aecs oe
Hzlatntneh =HzlatnwaecsIsac(;
aecsIsac z
aecs.eHzlatntne)
/ GtigaMp Ls,Tpc ..
/ etn
a, it oi, .
Mpmp=h.eMp"aNm";
a a
zgta(Mpae)
Ls ls =h.eLs(LsNm";
it it
zgtit"itae)
Ioi tpc=h.eTpc"oiNm";
Tpc oi
zgtoi(Tpcae)
/ Sutn dw tend
/ htig on h oe
h.hton)
zsudw(;

www.hazelcast.com
HOW DOES IT WORK?

www.hazelcast.com
DATA PARTITIONING (1/2)
Multiple partitions per node
Consistent Hashing: hash(key) % partitioncount
Option to control partitioning: "key@partitionkey"
Possibility to find key owner for every key
Support for Near-Caching and executions on key owner
Automatic Fault-Tolerance
Synchronous and Asynchronous backups
Define sync / async backup counts

www.hazelcast.com
DATA PARTITIONING (2/2)
With 4 cluster nodes every server holds
1/4 real data and 1/4 of backups

www.hazelcast.com
A HAZELCAST NETWORK

www.hazelcast.com
HAZELCAST IN NUMBERS
Default partition amount 271
Any partition amount possible
Biggest cluster 100+ members
Handles 100k+/sec messages using a topic
Max datasize depends on RAM
Off-Heap for low GC overhead

www.hazelcast.com
COMMUNITY VS. ENTERPRISE
Feature
Java Collection API
Java Concurrency API
SSL Socket
Elastic Memory (Off-Heap)
JAAS Security / Authentication
Management Center

Community
X
X
X

Enterprise
X
X
X
X
X
X

www.hazelcast.com
CODE SAMPLES

www.hazelcast.com
EASY TO UNITTEST
pbi casSmTsCs {
ulc ls oeetae
piaeHzlatntne]isacs
rvt aecsIsac[ ntne;
@eoe
Bfr
pbi vi bfr( trw Ecpin{
ulc od eoe) hos xeto
/ Mlil isacso tesm JM
/ utpe ntne n h ae V
isacs=nwHzlatntne2;
ntne
e aecsIsac[]
isacs0 =HzlatnwaecsIsac(;
ntne[]
aecs.eHzlatntne)
isacs1 =HzlatnwaecsIsac(;
ntne[]
aecs.eHzlatntne)
}
@fe
Atr
pbi vi atr)trw Ecpin{
ulc od fe( hos xeto
HzlatsudwAl)
aecs.htonl(;
}
}

www.hazelcast.com
SERIALIZATION
/ jv.oSraial
/ aai.eilzbe
pbi casUe ipeet Sraial {
ulc ls sr mlmns eilzbe }
/ o jv.oEtraial
/ r aai.xenlzbe
pbi casUe ipeet Etraial {
ulc ls sr mlmns xenlzbe }
/ o (o.aecs.i.eilzto)DtSraial
/ r cmhzlatnosraiain.aaeilzbe
pbi casUe ipeet DtSraial {
ulc ls sr mlmns aaeilzbe }
/ o nwi Hzlat3(ut vrinspot Pral
/ r e n aecs
mli eso upr) otbe
pbi casUe ipeet Pral {
ulc ls sr mlmns otbe }

www.hazelcast.com
MAP
itraecmhzlatcr.MpK V
nefc o.aecs.oeIa<, >
etnsjv.tlMp jv.tlCnurnMp
xed aaui.a, aaui.ocreta
Hzlatntneh =gtaecsIsac(;
aecsIsac z
eHzlatntne)
Ia<tig Ue>hMp=h.eMp"sr";
MpSrn, sr za
zgta(ues)
hMppt"ee" nwUe(Ptr,"enjr);
za.u(Ptr, e sr"ee" Vete")
MpSrn,Ue>mp=h.eMp"sr";
a<tig sr a
zgta(ues)
mppt"ee" nwUe(Ptr,"enjr);
a.u(Ptr, e sr"ee" Vete")
CnurnMpSrn,Ue>cnurnMp=h.eMp"sr";
ocreta<tig sr ocreta
zgta(ues)
cnurnMpptfbet"ee" nwUe(Ptr,"enjr);
ocreta.uIAsn(Ptr, e sr"ee" Vete")
Ue ptr=mpgt"ee";
sr ee
a.e(Ptr)

www.hazelcast.com
LIST
itraecmhzlatcr.Ls<>
nefc o.aecs.oeIitE
etnsjv.tlLs
xed aaui.it
Hzlatntneh =gtaecsIsac(;
aecsIsac z
eHzlatntne)
Ls<sr ls =h.eLs(ues)
i
​tUe> ​t
i
zgtit"sr";
ls.d(e Ue(Ptr,"enjr);
i
​tadnw sr"ee" Vete")
Ue ptr=ls.e()
sr ee
itgt0;

www.hazelcast.com
QUEUE
itraecmhzlatcr.Ls<>
nefc o.aecs.oeIitE
etnsjv.tlLs
xed aaui.it
Hzlatntneh =gtaecsIsac(;
aecsIsac z
eHzlatntne)
BoknQeeTs>qee=h.eQee"ak";
lciguu<ak uu
zgtuu(tss)
qeeofrnwak);
uu.fe(eTs()
qeeofrnwak) 50 TmUi.ILSCNS;
uu.fe(eTs(, 0, ientMLIEOD)
Ts ts =qeepl(;
ak ak
uu.ol)
Ts ts =qeepl(0,TmUi.ILSCNS;
ak ak
uu.ol10 ientMLIEOD)
Ts ts =qeetk(;
ak ak
uu.ae)

www.hazelcast.com
LOCK (1/3)
itraecmhzlatcr.Lc
nefc o.aecs.oeIok
etnsjv.tlcnurn.ok.ok
xed aaui.ocretlcsLc

www.hazelcast.com
LOCK (2/3)
Hzlatntneh =gtaecsIsac(;
aecsIsac z
eHzlatntne)
/ DsrbtdRetat
/ itiue enrn
Lc lc =h.eLc(mLc";
o
​k ​k
o
zgtok"yok)
lc.ok)
o
​klc(;
ty{
r
/ D smtig
/ o oehn
}fnly{
ial
lc.nok)
o
​kulc(;
}

www.hazelcast.com
LOCK (3/3)
Hzlatntneh =gtaecsIsac(;
aecsIsac z
eHzlatntne)
/ Mp(o-lcs
/ a Rw)ok
Ia<tig Ue>mp=h.eMp"sr";
MpSrn, sr a
zgta(ues)
mplc(Ptr)
a.ok"ee";
ty{
r
/ D smtigwt Ptr
/ o oehn ih ee
}fnly{
ial
mpulc(Ptr)
a.nok"ee";
}

www.hazelcast.com
TOPIC / PUBSUB
pbi casEapeipeet MsaeitnrSrn>{
ulc ls xml mlmns esgLsee<tig
pbi vi snMsae{
ulc od edesg
Hzlatntneh =gtaecsIsac(;
aecsIsac z
eHzlatntne)
Ioi<tig tpc=h.eTpc"oi";
TpcSrn> oi
zgtoi(tpc)
tpcadesgLsee(hs;
oi.dMsaeitnrti)
tpcpbih"el Wrd)
oi.uls(Hlo ol";
}
@vrie
Oerd
pbi vi oMsaeMsaeSrn>msae {
ulc od nesg(esg<tig esg)
Sse.u.rnl(Gtmsae "+msaegtesgOjc()
ytmotpitn"o esg:
esg.eMsaebet);
}
}

www.hazelcast.com
EXECUTORSERVICE
pbi itraecmhzlatcr.EeuoSrie
ulc nefc o.aecs.oeIxctrevc
etnsjv.tlcnurn.xctrevc
xed aaui.ocretEeuoSrie
Hzlatntneh =gtaecsIsac(;
aecsIsac z
eHzlatntne)
Ixctrevc e =h.eEeuoSrie"ae)
EeuoSrie s
zgtxctrevc(nm";
e.xctOAlebr(ulRnal()
seeuenlMmesbidunbe);
e.xctOKywe(ulRnal(,"ee";
seeueneOnrbidunbe) Ptr)
e.xct(ulRnal()
seeuebidunbe);
Mp.>ftrs=e.umtolMmesbidalbe);
a<. uue
ssbiTAlebr(ulClal()
Ftr<. ftr =e.umtoeOnrbidalbe) "ee";
uue.> uue
ssbiTKywe(ulClal(, Ptr)
e.umtolMmesbidalbe) bidalak);
ssbiTAlebr(ulClal(, ulClbc()
e.umtoeOnrbidalbe) "ee" bidalak);
ssbiTKywe(ulClal(, Ptr, ulClbc()

www.hazelcast.com
ADVANCED TECHNIQUES

www.hazelcast.com
ADVANCED TECHNIQUES
Indexing keys, values and value properties
Distributed SQL-like query
Write-Behind / Write-Through persistence
Read-Through (if key not loaded use MapLoader)
Transactions
EntryListeners / EntryProcessors
Automatic eviction
Control partitioning (Version 3.1)
and many more ...

www.hazelcast.com
CODE SAMPLES

www.hazelcast.com
INDEXING
Ia<tig Ue>mp=Hzlatgta(ues)
MpSrn, sr a
aecs.eMp"sr";
mpadne(ae,tu)
a.dIdx"g" re;
/ odrd
/ ree
mpadne(atv" fle;/ ntodrd
a.dIdx"cie, as) / o ree
<a nm=epoes>
mp ae"mlye"
..
.
<nee>
idxs
<ne odrd"re>g<idx
idx ree=tu"ae/ne>
<ne odrd"as"nm<idx
idx ree=fle>ae/ne>
<idxs
/nee>
<mp
/a>

www.hazelcast.com
DISTRIBUTED SQL-LIKE QUERIES
Ia<tig Ue>mp=Hzlatgta(ues)
MpSrn, sr a
aecs.eMp"sr";
Peiaepeiae=nwSlrdct(atv ADae< 3";
rdct rdct
e qPeiae"cie N g = 0)
StUe>ues=mpvle(rdct)
e<sr sr
a.auspeiae;
StEtySrn,Ue> etis=mpetye(rdct)
e<nr<tig sr> nre
a.nrStpeiae;

www.hazelcast.com
MAPLOADER / MAPSTORE
pbi casMptrg
ulc ls aSoae
ipeet Mptr<tig Ue> MpodrSrn,Ue>{
mlmns aSoeSrn, sr, aLae<tig sr
/ Sm mtosmsig..
/ oe ehd isn .
@vriepbi Ue la(tigky {rtr laVleBky;}
Oerd ulc sr odSrn e)
eun odauD(e)
@vriepbi StSrn>laAles){rtr laKyD(;}
Oerd ulc e<tig odlKy(
eun odesB)
@vriepbi vi dlt(tigky {dltD(e) }
Oerd ulc od eeeSrn e)
eeeBky;
@vriepbi vi soeSrn ky Ue vle {
Oerd ulc od tr(tig e, sr au)
soeoaaaeky vle;
trTDtbs(e, au)
}
}
<a nm=ues>
mp ae"sr"
<a-tr eald"re>
mpsoe nbe=tu"
<ls-aecmhzlateapeMptrg<casnm>
casnm>o.aecs.xml.aSoae/ls-ae
<rt-ea-eod><wiedlyscns
wiedlyscns0/rt-ea-eod>
<mpsoe
/a-tr>
<mp
/a>

www.hazelcast.com
TRANSACTION (1/2)
Hzlatntneh =gtaecsIsac(;
aecsIsac z
eHzlatntne)
fnlMpmp=h.eMp"eal";
ia a a
zgta(dfut)
fnlQeeqee=h.eQee"eal";
ia uu uu
zgtuu(dfut)
h.xctTascinnwTascinlakVi>){
zeeuernato(e rnatoaTs<od(
@vrie
Oerd
pbi Vi eeueTascinlakotx cnet {
ulc od xct(rnatoaTsCnet otx)
Tettet=(we)qeepl(;
we we
Tet uu.ol)
poeswe(we)
rcsTettet;
mpptbide(we) tet;
a.u(ulKytet, we)
rtr nl;
eun ul
}
};
)

www.hazelcast.com
TRANSACTION (2/2)
Hzlatntneh =gtaecsIsac(;
aecsIsac z
eHzlatntne)
Tascinotx cnet=h.eTascinotx(;
rnatoCnet otx
znwrnatoCnet)
cnetbgnrnato(;
otx.eiTascin)
Tascinla mp=cnetgta(dfut)
rnatoaMp a
otx.eMp"eal";
Tascinluu qee=cnetgtuu(dfut)
rnatoaQee uu
otx.eQee"eal";
ty{
r
Tettet=(we)qeepl(;
we we
Tet uu.ol)
poeswe(we)
rcsTettet;
mpptbide(we) tet;
a.u(ulKytet, we)
cnetcmiTascin)
otx.omtrnato(;
}cth(xeto e {
ac Ecpin )
cnetrlbcTascin)
otx.olakrnato(;
}

www.hazelcast.com
CONTROL PARTITIONING
Force location of corresponding data in the same partition
by providing a special partition key
Hzlatntneh =gtaecsIsac(;
aecsIsac z
eHzlatntne)
Mpues=h.eMp"sr";
a sr
zgta(ues)
uespt"ee@ee" nwUe(Ptr,"enjr);
sr.u(PtrPtr, e sr"ee" Vete")
Mpfins=h.eMp"red";
a red
zgta(fins)
finspt"ee-hi@ee" nwUe(Crsoh,"nebr")
red.u(PtrCrsPtr, e sr"hitp" Eglet);
finspt"ee-udPtr,nwUe(Fa" "aio")
red.u(PtrFa@ee" e sr"ud, Mlkv);

www.hazelcast.com
WHAT ELSE?

www.hazelcast.com
SPI (NEW IN HAZELCAST 3)
Possibility to build own distributed datastructures
Hook into datastructure events
Implement your own services (like RemoteInvocation,
MapReduce)
React on membership events
Manipulate migrations on your purpose
Handle splitbrain events
and many more ...

www.hazelcast.com
EXTERNAL ADDONS
hazelgrails - Hazelcast integration for Grails
hazelmr / castmapr - MapReduce for Hazelcast 2.x / 3.x
hazelblast - Remote Invocation
hazelcast-actors - Actor framework
maybe your's next?

www.hazelcast.com
THANK YOU!
ANY QUESTIONS?
@noctarius2k
@hazelcast
hazelcast@googlegroups.com
http://www.hazelcast.com
http://github.com/hazelcast/hazelcast
Images: www.clipartist.info, Gnome Nebula Theme, KDE theme

www.hazelcast.com
Ad

More Related Content

What's hot (20)

Rapid Infrastructure Provisioning
Rapid Infrastructure ProvisioningRapid Infrastructure Provisioning
Rapid Infrastructure Provisioning
Uchit Vyas ☁
 
Terraform 0.9 + good practices
Terraform 0.9 + good practicesTerraform 0.9 + good practices
Terraform 0.9 + good practices
Radek Simko
 
Hazelcast Essentials
Hazelcast EssentialsHazelcast Essentials
Hazelcast Essentials
Rahul Gupta
 
Terraform and cloud.ca
Terraform and cloud.caTerraform and cloud.ca
Terraform and cloud.ca
CloudOps2005
 
ClickHouse 2018. How to stop waiting for your queries to complete and start ...
ClickHouse 2018.  How to stop waiting for your queries to complete and start ...ClickHouse 2018.  How to stop waiting for your queries to complete and start ...
ClickHouse 2018. How to stop waiting for your queries to complete and start ...
Altinity Ltd
 
Spark / Mesos Cluster Optimization
Spark / Mesos Cluster OptimizationSpark / Mesos Cluster Optimization
Spark / Mesos Cluster Optimization
ebiznext
 
Understanding Spark Tuning: Strata New York
Understanding Spark Tuning: Strata New YorkUnderstanding Spark Tuning: Strata New York
Understanding Spark Tuning: Strata New York
Rachel Warren
 
Spark autotuning talk final
Spark autotuning talk finalSpark autotuning talk final
Spark autotuning talk final
Rachel Warren
 
Multi-Master Replication with Slony
Multi-Master Replication with SlonyMulti-Master Replication with Slony
Multi-Master Replication with Slony
Jim Mlodgenski
 
PostgreSQL Terminology
PostgreSQL TerminologyPostgreSQL Terminology
PostgreSQL Terminology
Showmax Engineering
 
MongoDB San Francisco DrupalCon 2010
MongoDB San Francisco DrupalCon 2010MongoDB San Francisco DrupalCon 2010
MongoDB San Francisco DrupalCon 2010
Karoly Negyesi
 
Presto in Treasure Data (presented at db tech showcase Sapporo 2015)
Presto in Treasure Data (presented at db tech showcase Sapporo 2015)Presto in Treasure Data (presented at db tech showcase Sapporo 2015)
Presto in Treasure Data (presented at db tech showcase Sapporo 2015)
Mitsunori Komatsu
 
Infrastructure as Code: Introduction to Terraform
Infrastructure as Code: Introduction to TerraformInfrastructure as Code: Introduction to Terraform
Infrastructure as Code: Introduction to Terraform
Alexander Popov
 
Migrating and living on rds aurora
Migrating and living on rds auroraMigrating and living on rds aurora
Migrating and living on rds aurora
Balazs Pocze
 
Scaling PostgreSQL With GridSQL
Scaling PostgreSQL With GridSQLScaling PostgreSQL With GridSQL
Scaling PostgreSQL With GridSQL
Jim Mlodgenski
 
Meetup cassandra sfo_jdbc
Meetup cassandra sfo_jdbcMeetup cassandra sfo_jdbc
Meetup cassandra sfo_jdbc
zznate
 
Hadoop and Spark for the SAS Developer
Hadoop and Spark for the SAS DeveloperHadoop and Spark for the SAS Developer
Hadoop and Spark for the SAS Developer
DataWorks Summit
 
Terraforming RDS
Terraforming RDSTerraforming RDS
Terraforming RDS
Muffy Barkocy
 
How to teach an elephant to rock'n'roll
How to teach an elephant to rock'n'rollHow to teach an elephant to rock'n'roll
How to teach an elephant to rock'n'roll
PGConf APAC
 
Terraforming the Kubernetes Land
Terraforming the Kubernetes LandTerraforming the Kubernetes Land
Terraforming the Kubernetes Land
Radek Simko
 
Rapid Infrastructure Provisioning
Rapid Infrastructure ProvisioningRapid Infrastructure Provisioning
Rapid Infrastructure Provisioning
Uchit Vyas ☁
 
Terraform 0.9 + good practices
Terraform 0.9 + good practicesTerraform 0.9 + good practices
Terraform 0.9 + good practices
Radek Simko
 
Hazelcast Essentials
Hazelcast EssentialsHazelcast Essentials
Hazelcast Essentials
Rahul Gupta
 
Terraform and cloud.ca
Terraform and cloud.caTerraform and cloud.ca
Terraform and cloud.ca
CloudOps2005
 
ClickHouse 2018. How to stop waiting for your queries to complete and start ...
ClickHouse 2018.  How to stop waiting for your queries to complete and start ...ClickHouse 2018.  How to stop waiting for your queries to complete and start ...
ClickHouse 2018. How to stop waiting for your queries to complete and start ...
Altinity Ltd
 
Spark / Mesos Cluster Optimization
Spark / Mesos Cluster OptimizationSpark / Mesos Cluster Optimization
Spark / Mesos Cluster Optimization
ebiznext
 
Understanding Spark Tuning: Strata New York
Understanding Spark Tuning: Strata New YorkUnderstanding Spark Tuning: Strata New York
Understanding Spark Tuning: Strata New York
Rachel Warren
 
Spark autotuning talk final
Spark autotuning talk finalSpark autotuning talk final
Spark autotuning talk final
Rachel Warren
 
Multi-Master Replication with Slony
Multi-Master Replication with SlonyMulti-Master Replication with Slony
Multi-Master Replication with Slony
Jim Mlodgenski
 
MongoDB San Francisco DrupalCon 2010
MongoDB San Francisco DrupalCon 2010MongoDB San Francisco DrupalCon 2010
MongoDB San Francisco DrupalCon 2010
Karoly Negyesi
 
Presto in Treasure Data (presented at db tech showcase Sapporo 2015)
Presto in Treasure Data (presented at db tech showcase Sapporo 2015)Presto in Treasure Data (presented at db tech showcase Sapporo 2015)
Presto in Treasure Data (presented at db tech showcase Sapporo 2015)
Mitsunori Komatsu
 
Infrastructure as Code: Introduction to Terraform
Infrastructure as Code: Introduction to TerraformInfrastructure as Code: Introduction to Terraform
Infrastructure as Code: Introduction to Terraform
Alexander Popov
 
Migrating and living on rds aurora
Migrating and living on rds auroraMigrating and living on rds aurora
Migrating and living on rds aurora
Balazs Pocze
 
Scaling PostgreSQL With GridSQL
Scaling PostgreSQL With GridSQLScaling PostgreSQL With GridSQL
Scaling PostgreSQL With GridSQL
Jim Mlodgenski
 
Meetup cassandra sfo_jdbc
Meetup cassandra sfo_jdbcMeetup cassandra sfo_jdbc
Meetup cassandra sfo_jdbc
zznate
 
Hadoop and Spark for the SAS Developer
Hadoop and Spark for the SAS DeveloperHadoop and Spark for the SAS Developer
Hadoop and Spark for the SAS Developer
DataWorks Summit
 
How to teach an elephant to rock'n'roll
How to teach an elephant to rock'n'rollHow to teach an elephant to rock'n'roll
How to teach an elephant to rock'n'roll
PGConf APAC
 
Terraforming the Kubernetes Land
Terraforming the Kubernetes LandTerraforming the Kubernetes Land
Terraforming the Kubernetes Land
Radek Simko
 

Viewers also liked (20)

The Delivery Hero - A Simpsons As A Service Storyboard
The Delivery Hero - A Simpsons As A Service StoryboardThe Delivery Hero - A Simpsons As A Service Storyboard
The Delivery Hero - A Simpsons As A Service Storyboard
Christoph Engelbert
 
Think Distributed: The Hazelcast Way
Think Distributed: The Hazelcast WayThink Distributed: The Hazelcast Way
Think Distributed: The Hazelcast Way
Rahul Gupta
 
Introduction to hazelcast
Introduction to hazelcastIntroduction to hazelcast
Introduction to hazelcast
Emin Demirci
 
Hazelcast
HazelcastHazelcast
Hazelcast
Jeevesh Pandey
 
Distributed applications using Hazelcast
Distributed applications using HazelcastDistributed applications using Hazelcast
Distributed applications using Hazelcast
Taras Matyashovsky
 
[OracleCode SF] In memory analytics with apache spark and hazelcast
[OracleCode SF] In memory analytics with apache spark and hazelcast[OracleCode SF] In memory analytics with apache spark and hazelcast
[OracleCode SF] In memory analytics with apache spark and hazelcast
Viktor Gamov
 
From cache to in-memory data grid. Introduction to Hazelcast.
From cache to in-memory data grid. Introduction to Hazelcast.From cache to in-memory data grid. Introduction to Hazelcast.
From cache to in-memory data grid. Introduction to Hazelcast.
Taras Matyashovsky
 
In-Memory Computing - Distributed Systems - Devoxx UK 2015
In-Memory Computing - Distributed Systems - Devoxx UK 2015In-Memory Computing - Distributed Systems - Devoxx UK 2015
In-Memory Computing - Distributed Systems - Devoxx UK 2015
Christoph Engelbert
 
Steam Learn: An introduction to Redis
Steam Learn: An introduction to RedisSteam Learn: An introduction to Redis
Steam Learn: An introduction to Redis
inovia
 
Squeezing Performance out of Hazelcast
Squeezing Performance out of HazelcastSqueezing Performance out of Hazelcast
Squeezing Performance out of Hazelcast
Hazelcast
 
In-Memory Distributed Computing - Porto Tech Hub
In-Memory Distributed Computing - Porto Tech HubIn-Memory Distributed Computing - Porto Tech Hub
In-Memory Distributed Computing - Porto Tech Hub
Christoph Engelbert
 
Devoxx 2013 - Hazelcast
Devoxx 2013 - Hazelcast Devoxx 2013 - Hazelcast
Devoxx 2013 - Hazelcast
Hazelcast
 
Hazelcast
HazelcastHazelcast
Hazelcast
Ahsan Habib
 
WebSockets: The Current State of the Most Valuable HTML5 API for Java Developers
WebSockets: The Current State of the Most Valuable HTML5 API for Java DevelopersWebSockets: The Current State of the Most Valuable HTML5 API for Java Developers
WebSockets: The Current State of the Most Valuable HTML5 API for Java Developers
Viktor Gamov
 
Functional UI testing of Adobe Flex RIA
Functional UI testing of Adobe Flex RIAFunctional UI testing of Adobe Flex RIA
Functional UI testing of Adobe Flex RIA
Viktor Gamov
 
Creating your own private Download Center with Bintray
Creating your own private Download Center with Bintray Creating your own private Download Center with Bintray
Creating your own private Download Center with Bintray
Baruch Sadogursky
 
JavaOne 2013: «Java and JavaScript - Shaken, Not Stirred»
JavaOne 2013: «Java and JavaScript - Shaken, Not Stirred»JavaOne 2013: «Java and JavaScript - Shaken, Not Stirred»
JavaOne 2013: «Java and JavaScript - Shaken, Not Stirred»
Viktor Gamov
 
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Oracle Code SF...
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Oracle Code SF...DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Oracle Code SF...
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Oracle Code SF...
Baruch Sadogursky
 
Java 8 Puzzlers [as presented at OSCON 2016]
Java 8 Puzzlers [as presented at  OSCON 2016]Java 8 Puzzlers [as presented at  OSCON 2016]
Java 8 Puzzlers [as presented at OSCON 2016]
Baruch Sadogursky
 
Spring Data: New approach to persistence
Spring Data: New approach to persistenceSpring Data: New approach to persistence
Spring Data: New approach to persistence
Oleksiy Rezchykov
 
The Delivery Hero - A Simpsons As A Service Storyboard
The Delivery Hero - A Simpsons As A Service StoryboardThe Delivery Hero - A Simpsons As A Service Storyboard
The Delivery Hero - A Simpsons As A Service Storyboard
Christoph Engelbert
 
Think Distributed: The Hazelcast Way
Think Distributed: The Hazelcast WayThink Distributed: The Hazelcast Way
Think Distributed: The Hazelcast Way
Rahul Gupta
 
Introduction to hazelcast
Introduction to hazelcastIntroduction to hazelcast
Introduction to hazelcast
Emin Demirci
 
Distributed applications using Hazelcast
Distributed applications using HazelcastDistributed applications using Hazelcast
Distributed applications using Hazelcast
Taras Matyashovsky
 
[OracleCode SF] In memory analytics with apache spark and hazelcast
[OracleCode SF] In memory analytics with apache spark and hazelcast[OracleCode SF] In memory analytics with apache spark and hazelcast
[OracleCode SF] In memory analytics with apache spark and hazelcast
Viktor Gamov
 
From cache to in-memory data grid. Introduction to Hazelcast.
From cache to in-memory data grid. Introduction to Hazelcast.From cache to in-memory data grid. Introduction to Hazelcast.
From cache to in-memory data grid. Introduction to Hazelcast.
Taras Matyashovsky
 
In-Memory Computing - Distributed Systems - Devoxx UK 2015
In-Memory Computing - Distributed Systems - Devoxx UK 2015In-Memory Computing - Distributed Systems - Devoxx UK 2015
In-Memory Computing - Distributed Systems - Devoxx UK 2015
Christoph Engelbert
 
Steam Learn: An introduction to Redis
Steam Learn: An introduction to RedisSteam Learn: An introduction to Redis
Steam Learn: An introduction to Redis
inovia
 
Squeezing Performance out of Hazelcast
Squeezing Performance out of HazelcastSqueezing Performance out of Hazelcast
Squeezing Performance out of Hazelcast
Hazelcast
 
In-Memory Distributed Computing - Porto Tech Hub
In-Memory Distributed Computing - Porto Tech HubIn-Memory Distributed Computing - Porto Tech Hub
In-Memory Distributed Computing - Porto Tech Hub
Christoph Engelbert
 
Devoxx 2013 - Hazelcast
Devoxx 2013 - Hazelcast Devoxx 2013 - Hazelcast
Devoxx 2013 - Hazelcast
Hazelcast
 
WebSockets: The Current State of the Most Valuable HTML5 API for Java Developers
WebSockets: The Current State of the Most Valuable HTML5 API for Java DevelopersWebSockets: The Current State of the Most Valuable HTML5 API for Java Developers
WebSockets: The Current State of the Most Valuable HTML5 API for Java Developers
Viktor Gamov
 
Functional UI testing of Adobe Flex RIA
Functional UI testing of Adobe Flex RIAFunctional UI testing of Adobe Flex RIA
Functional UI testing of Adobe Flex RIA
Viktor Gamov
 
Creating your own private Download Center with Bintray
Creating your own private Download Center with Bintray Creating your own private Download Center with Bintray
Creating your own private Download Center with Bintray
Baruch Sadogursky
 
JavaOne 2013: «Java and JavaScript - Shaken, Not Stirred»
JavaOne 2013: «Java and JavaScript - Shaken, Not Stirred»JavaOne 2013: «Java and JavaScript - Shaken, Not Stirred»
JavaOne 2013: «Java and JavaScript - Shaken, Not Stirred»
Viktor Gamov
 
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Oracle Code SF...
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Oracle Code SF...DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Oracle Code SF...
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Oracle Code SF...
Baruch Sadogursky
 
Java 8 Puzzlers [as presented at OSCON 2016]
Java 8 Puzzlers [as presented at  OSCON 2016]Java 8 Puzzlers [as presented at  OSCON 2016]
Java 8 Puzzlers [as presented at OSCON 2016]
Baruch Sadogursky
 
Spring Data: New approach to persistence
Spring Data: New approach to persistenceSpring Data: New approach to persistence
Spring Data: New approach to persistence
Oleksiy Rezchykov
 
Ad

Similar to Hazelcast - In-Memory DataGrid (20)

Building modern web apps with html5, javascript, and java
Building modern web apps with html5, javascript, and javaBuilding modern web apps with html5, javascript, and java
Building modern web apps with html5, javascript, and java
Alexander Gyoshev
 
Arquillian - extensions which you have to take with you to a deserted island
Arquillian - extensions which you have to take with you to a deserted islandArquillian - extensions which you have to take with you to a deserted island
Arquillian - extensions which you have to take with you to a deserted island
SoftwareMill
 
Arquillian Extensions
Arquillian ExtensionsArquillian Extensions
Arquillian Extensions
Michał Matłoka
 
JavaFX, because you're worth it
JavaFX, because you're worth itJavaFX, because you're worth it
JavaFX, because you're worth it
Thierry Wasylczenko
 
Learn Frontend Testing
Learn Frontend TestingLearn Frontend Testing
Learn Frontend Testing
Ryan Roemer
 
[Jfokus] Riding the Jet Streams
[Jfokus] Riding the Jet Streams[Jfokus] Riding the Jet Streams
[Jfokus] Riding the Jet Streams
Viktor Gamov
 
Batteries included: Advantages of an End-to-end solution
Batteries included: Advantages of an End-to-end solutionBatteries included: Advantages of an End-to-end solution
Batteries included: Advantages of an End-to-end solution
Juergen Fesslmeier
 
Scalaxb preso
Scalaxb presoScalaxb preso
Scalaxb preso
Trent Johnson
 
Lambda Expressions: Myths and Mistakes - Richard Warburton (jClarity)
Lambda Expressions: Myths and Mistakes - Richard Warburton (jClarity)Lambda Expressions: Myths and Mistakes - Richard Warburton (jClarity)
Lambda Expressions: Myths and Mistakes - Richard Warburton (jClarity)
jaxLondonConference
 
Lambdas myths-and-mistakes
Lambdas myths-and-mistakesLambdas myths-and-mistakes
Lambdas myths-and-mistakes
RichardWarburton
 
Devinsampa nginx-scripting
Devinsampa nginx-scriptingDevinsampa nginx-scripting
Devinsampa nginx-scripting
Tony Fabeen
 
Nginx Scripting - Extending Nginx Functionalities with Lua
Nginx Scripting - Extending Nginx Functionalities with LuaNginx Scripting - Extending Nginx Functionalities with Lua
Nginx Scripting - Extending Nginx Functionalities with Lua
Tony Fabeen
 
An Introduction to CSS Preprocessors
An Introduction to CSS PreprocessorsAn Introduction to CSS Preprocessors
An Introduction to CSS Preprocessors
Miloš Sutanovac
 
Ff to-fp
Ff to-fpFf to-fp
Ff to-fp
Andy Petrella
 
Oracle OpenWorld 2010 - Consolidating Microsoft SQL Server Databases into an ...
Oracle OpenWorld 2010 - Consolidating Microsoft SQL Server Databases into an ...Oracle OpenWorld 2010 - Consolidating Microsoft SQL Server Databases into an ...
Oracle OpenWorld 2010 - Consolidating Microsoft SQL Server Databases into an ...
djkucera
 
Introduction to JavaFX 2
Introduction to JavaFX 2Introduction to JavaFX 2
Introduction to JavaFX 2
Thierry Wasylczenko
 
Presenting Seq for Node.js
Presenting Seq for Node.jsPresenting Seq for Node.js
Presenting Seq for Node.js
Douglas Muth
 
Analytics at Speed: Introduction to ClickHouse and Common Use Cases. By Mikha...
Analytics at Speed: Introduction to ClickHouse and Common Use Cases. By Mikha...Analytics at Speed: Introduction to ClickHouse and Common Use Cases. By Mikha...
Analytics at Speed: Introduction to ClickHouse and Common Use Cases. By Mikha...
Altinity Ltd
 
Beginner workshop to angularjs presentation at Google
Beginner workshop to angularjs presentation at GoogleBeginner workshop to angularjs presentation at Google
Beginner workshop to angularjs presentation at Google
Ari Lerner
 
SecureSocial - Authentication for Play Framework
SecureSocial - Authentication for Play FrameworkSecureSocial - Authentication for Play Framework
SecureSocial - Authentication for Play Framework
jaliss
 
Building modern web apps with html5, javascript, and java
Building modern web apps with html5, javascript, and javaBuilding modern web apps with html5, javascript, and java
Building modern web apps with html5, javascript, and java
Alexander Gyoshev
 
Arquillian - extensions which you have to take with you to a deserted island
Arquillian - extensions which you have to take with you to a deserted islandArquillian - extensions which you have to take with you to a deserted island
Arquillian - extensions which you have to take with you to a deserted island
SoftwareMill
 
Learn Frontend Testing
Learn Frontend TestingLearn Frontend Testing
Learn Frontend Testing
Ryan Roemer
 
[Jfokus] Riding the Jet Streams
[Jfokus] Riding the Jet Streams[Jfokus] Riding the Jet Streams
[Jfokus] Riding the Jet Streams
Viktor Gamov
 
Batteries included: Advantages of an End-to-end solution
Batteries included: Advantages of an End-to-end solutionBatteries included: Advantages of an End-to-end solution
Batteries included: Advantages of an End-to-end solution
Juergen Fesslmeier
 
Lambda Expressions: Myths and Mistakes - Richard Warburton (jClarity)
Lambda Expressions: Myths and Mistakes - Richard Warburton (jClarity)Lambda Expressions: Myths and Mistakes - Richard Warburton (jClarity)
Lambda Expressions: Myths and Mistakes - Richard Warburton (jClarity)
jaxLondonConference
 
Lambdas myths-and-mistakes
Lambdas myths-and-mistakesLambdas myths-and-mistakes
Lambdas myths-and-mistakes
RichardWarburton
 
Devinsampa nginx-scripting
Devinsampa nginx-scriptingDevinsampa nginx-scripting
Devinsampa nginx-scripting
Tony Fabeen
 
Nginx Scripting - Extending Nginx Functionalities with Lua
Nginx Scripting - Extending Nginx Functionalities with LuaNginx Scripting - Extending Nginx Functionalities with Lua
Nginx Scripting - Extending Nginx Functionalities with Lua
Tony Fabeen
 
An Introduction to CSS Preprocessors
An Introduction to CSS PreprocessorsAn Introduction to CSS Preprocessors
An Introduction to CSS Preprocessors
Miloš Sutanovac
 
Oracle OpenWorld 2010 - Consolidating Microsoft SQL Server Databases into an ...
Oracle OpenWorld 2010 - Consolidating Microsoft SQL Server Databases into an ...Oracle OpenWorld 2010 - Consolidating Microsoft SQL Server Databases into an ...
Oracle OpenWorld 2010 - Consolidating Microsoft SQL Server Databases into an ...
djkucera
 
Presenting Seq for Node.js
Presenting Seq for Node.jsPresenting Seq for Node.js
Presenting Seq for Node.js
Douglas Muth
 
Analytics at Speed: Introduction to ClickHouse and Common Use Cases. By Mikha...
Analytics at Speed: Introduction to ClickHouse and Common Use Cases. By Mikha...Analytics at Speed: Introduction to ClickHouse and Common Use Cases. By Mikha...
Analytics at Speed: Introduction to ClickHouse and Common Use Cases. By Mikha...
Altinity Ltd
 
Beginner workshop to angularjs presentation at Google
Beginner workshop to angularjs presentation at GoogleBeginner workshop to angularjs presentation at Google
Beginner workshop to angularjs presentation at Google
Ari Lerner
 
SecureSocial - Authentication for Play Framework
SecureSocial - Authentication for Play FrameworkSecureSocial - Authentication for Play Framework
SecureSocial - Authentication for Play Framework
jaliss
 
Ad

More from Christoph Engelbert (20)

Postgres on Kubernetes - Dos and Donts.pdf
Postgres on Kubernetes - Dos and Donts.pdfPostgres on Kubernetes - Dos and Donts.pdf
Postgres on Kubernetes - Dos and Donts.pdf
Christoph Engelbert
 
Data Pipeline Plumbing
Data Pipeline PlumbingData Pipeline Plumbing
Data Pipeline Plumbing
Christoph Engelbert
 
Gute Nachrichten, Schlechte Nachrichten
Gute Nachrichten, Schlechte NachrichtenGute Nachrichten, Schlechte Nachrichten
Gute Nachrichten, Schlechte Nachrichten
Christoph Engelbert
 
Of Farm Topologies and Time-Series Data
Of Farm Topologies and Time-Series DataOf Farm Topologies and Time-Series Data
Of Farm Topologies and Time-Series Data
Christoph Engelbert
 
What I learned about IoT Security ... and why it's so hard!
What I learned about IoT Security ... and why it's so hard!What I learned about IoT Security ... and why it's so hard!
What I learned about IoT Security ... and why it's so hard!
Christoph Engelbert
 
PostgreSQL: The Time-Series Database You (Actually) Want
PostgreSQL: The Time-Series Database You (Actually) WantPostgreSQL: The Time-Series Database You (Actually) Want
PostgreSQL: The Time-Series Database You (Actually) Want
Christoph Engelbert
 
Road to (Enterprise) Observability
Road to (Enterprise) ObservabilityRoad to (Enterprise) Observability
Road to (Enterprise) Observability
Christoph Engelbert
 
Oops-Less Operation
Oops-Less OperationOops-Less Operation
Oops-Less Operation
Christoph Engelbert
 
Instan(t)a-neous Monitoring
Instan(t)a-neous MonitoringInstan(t)a-neous Monitoring
Instan(t)a-neous Monitoring
Christoph Engelbert
 
Don't Go, Java!
Don't Go, Java!Don't Go, Java!
Don't Go, Java!
Christoph Engelbert
 
TypeScript Go(es) Embedded
TypeScript Go(es) EmbeddedTypeScript Go(es) Embedded
TypeScript Go(es) Embedded
Christoph Engelbert
 
Hazelcast Jet - Riding the Jet Streams
Hazelcast Jet - Riding the Jet StreamsHazelcast Jet - Riding the Jet Streams
Hazelcast Jet - Riding the Jet Streams
Christoph Engelbert
 
CBOR - The Better JSON
CBOR - The Better JSONCBOR - The Better JSON
CBOR - The Better JSON
Christoph Engelbert
 
Project Panama - Beyond the (JVM) Wall
Project Panama - Beyond the (JVM) WallProject Panama - Beyond the (JVM) Wall
Project Panama - Beyond the (JVM) Wall
Christoph Engelbert
 
A Post-Apocalyptic sun.misc.Unsafe World
A Post-Apocalyptic sun.misc.Unsafe WorldA Post-Apocalyptic sun.misc.Unsafe World
A Post-Apocalyptic sun.misc.Unsafe World
Christoph Engelbert
 
Gimme Caching - The JCache Way
Gimme Caching - The JCache WayGimme Caching - The JCache Way
Gimme Caching - The JCache Way
Christoph Engelbert
 
JCache - Gimme Caching - JavaLand
JCache - Gimme Caching - JavaLandJCache - Gimme Caching - JavaLand
JCache - Gimme Caching - JavaLand
Christoph Engelbert
 
Distributed Computing - An Interactive Introduction
Distributed Computing - An Interactive IntroductionDistributed Computing - An Interactive Introduction
Distributed Computing - An Interactive Introduction
Christoph Engelbert
 
Gimme Caching - The JCache Way
Gimme Caching - The JCache WayGimme Caching - The JCache Way
Gimme Caching - The JCache Way
Christoph Engelbert
 
Gimme Caching, the Hazelcast JCache Way
Gimme Caching, the Hazelcast JCache WayGimme Caching, the Hazelcast JCache Way
Gimme Caching, the Hazelcast JCache Way
Christoph Engelbert
 
Postgres on Kubernetes - Dos and Donts.pdf
Postgres on Kubernetes - Dos and Donts.pdfPostgres on Kubernetes - Dos and Donts.pdf
Postgres on Kubernetes - Dos and Donts.pdf
Christoph Engelbert
 
Gute Nachrichten, Schlechte Nachrichten
Gute Nachrichten, Schlechte NachrichtenGute Nachrichten, Schlechte Nachrichten
Gute Nachrichten, Schlechte Nachrichten
Christoph Engelbert
 
Of Farm Topologies and Time-Series Data
Of Farm Topologies and Time-Series DataOf Farm Topologies and Time-Series Data
Of Farm Topologies and Time-Series Data
Christoph Engelbert
 
What I learned about IoT Security ... and why it's so hard!
What I learned about IoT Security ... and why it's so hard!What I learned about IoT Security ... and why it's so hard!
What I learned about IoT Security ... and why it's so hard!
Christoph Engelbert
 
PostgreSQL: The Time-Series Database You (Actually) Want
PostgreSQL: The Time-Series Database You (Actually) WantPostgreSQL: The Time-Series Database You (Actually) Want
PostgreSQL: The Time-Series Database You (Actually) Want
Christoph Engelbert
 
Road to (Enterprise) Observability
Road to (Enterprise) ObservabilityRoad to (Enterprise) Observability
Road to (Enterprise) Observability
Christoph Engelbert
 
Hazelcast Jet - Riding the Jet Streams
Hazelcast Jet - Riding the Jet StreamsHazelcast Jet - Riding the Jet Streams
Hazelcast Jet - Riding the Jet Streams
Christoph Engelbert
 
Project Panama - Beyond the (JVM) Wall
Project Panama - Beyond the (JVM) WallProject Panama - Beyond the (JVM) Wall
Project Panama - Beyond the (JVM) Wall
Christoph Engelbert
 
A Post-Apocalyptic sun.misc.Unsafe World
A Post-Apocalyptic sun.misc.Unsafe WorldA Post-Apocalyptic sun.misc.Unsafe World
A Post-Apocalyptic sun.misc.Unsafe World
Christoph Engelbert
 
JCache - Gimme Caching - JavaLand
JCache - Gimme Caching - JavaLandJCache - Gimme Caching - JavaLand
JCache - Gimme Caching - JavaLand
Christoph Engelbert
 
Distributed Computing - An Interactive Introduction
Distributed Computing - An Interactive IntroductionDistributed Computing - An Interactive Introduction
Distributed Computing - An Interactive Introduction
Christoph Engelbert
 
Gimme Caching, the Hazelcast JCache Way
Gimme Caching, the Hazelcast JCache WayGimme Caching, the Hazelcast JCache Way
Gimme Caching, the Hazelcast JCache Way
Christoph Engelbert
 

Recently uploaded (20)

Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 

Hazelcast - In-Memory DataGrid

  • 2. WHO AM I Christoph Engelbert (@noctarius2k) 8+ years of professional Java development 5+ years of backend development Specialized to performance, GC, traffic topics Was working for int. companies as Ubisoft and HRS Since November 2013 official Hazelcast Hacker Apache DirectMemory / Lightning Committer and PMC Developer CastMapR - MapReduce on Hazelcast 3 www.hazelcast.com
  • 3. HAZELCAST IN KEYWORDS In-Memory DataGrid Distributed Cache Distributed Execution Framework NoSQL Clustering Scalability Partitioning Cloud Ready OpenSource - Apache License 2.0 www.hazelcast.com
  • 4. WHO USES HAZELCAST? and many more ... www.hazelcast.com
  • 5. USECASES Scale your application Distribute and share data Partition your data Distribute messages Process in parallel on multiple machines Load balancing www.hazelcast.com
  • 6. ALTERNATIVES? Oracle Coherence IBM eXtreme Scale VMware Gemfire Gigaspaces Redhat Infinispan Gridgain Terracotta www.hazelcast.com
  • 7. DIFFERENCES? Easy to use License / Cost Lightweight Features www.hazelcast.com
  • 8. FEATURES Java Collection API Map, Queue, Set, List MultiMap Topic (PubSub) Java Concurrency API Lock, Semaphore, CountDownLatch, ExecutorService Transactions Custom Serialization Off-Heap support Native client: C#, C++, Java, REST, memcached www.hazelcast.com
  • 9. EASY API / Cetn anwHzlatnd / raig e aecs oe Hzlatntneh =HzlatnwaecsIsac(; aecsIsac z aecs.eHzlatntne) / GtigaMp Ls,Tpc .. / etn a, it oi, . Mpmp=h.eMp"aNm"; a a zgta(Mpae) Ls ls =h.eLs(LsNm"; it it zgtit"itae) Ioi tpc=h.eTpc"oiNm"; Tpc oi zgtoi(Tpcae) / Sutn dw tend / htig on h oe h.hton) zsudw(; www.hazelcast.com
  • 10. HOW DOES IT WORK? www.hazelcast.com
  • 11. DATA PARTITIONING (1/2) Multiple partitions per node Consistent Hashing: hash(key) % partitioncount Option to control partitioning: "key@partitionkey" Possibility to find key owner for every key Support for Near-Caching and executions on key owner Automatic Fault-Tolerance Synchronous and Asynchronous backups Define sync / async backup counts www.hazelcast.com
  • 12. DATA PARTITIONING (2/2) With 4 cluster nodes every server holds 1/4 real data and 1/4 of backups www.hazelcast.com
  • 14. HAZELCAST IN NUMBERS Default partition amount 271 Any partition amount possible Biggest cluster 100+ members Handles 100k+/sec messages using a topic Max datasize depends on RAM Off-Heap for low GC overhead www.hazelcast.com
  • 15. COMMUNITY VS. ENTERPRISE Feature Java Collection API Java Concurrency API SSL Socket Elastic Memory (Off-Heap) JAAS Security / Authentication Management Center Community X X X Enterprise X X X X X X www.hazelcast.com
  • 17. EASY TO UNITTEST pbi casSmTsCs { ulc ls oeetae piaeHzlatntne]isacs rvt aecsIsac[ ntne; @eoe Bfr pbi vi bfr( trw Ecpin{ ulc od eoe) hos xeto / Mlil isacso tesm JM / utpe ntne n h ae V isacs=nwHzlatntne2; ntne e aecsIsac[] isacs0 =HzlatnwaecsIsac(; ntne[] aecs.eHzlatntne) isacs1 =HzlatnwaecsIsac(; ntne[] aecs.eHzlatntne) } @fe Atr pbi vi atr)trw Ecpin{ ulc od fe( hos xeto HzlatsudwAl) aecs.htonl(; } } www.hazelcast.com
  • 18. SERIALIZATION / jv.oSraial / aai.eilzbe pbi casUe ipeet Sraial { ulc ls sr mlmns eilzbe } / o jv.oEtraial / r aai.xenlzbe pbi casUe ipeet Etraial { ulc ls sr mlmns xenlzbe } / o (o.aecs.i.eilzto)DtSraial / r cmhzlatnosraiain.aaeilzbe pbi casUe ipeet DtSraial { ulc ls sr mlmns aaeilzbe } / o nwi Hzlat3(ut vrinspot Pral / r e n aecs mli eso upr) otbe pbi casUe ipeet Pral { ulc ls sr mlmns otbe } www.hazelcast.com
  • 19. MAP itraecmhzlatcr.MpK V nefc o.aecs.oeIa<, > etnsjv.tlMp jv.tlCnurnMp xed aaui.a, aaui.ocreta Hzlatntneh =gtaecsIsac(; aecsIsac z eHzlatntne) Ia<tig Ue>hMp=h.eMp"sr"; MpSrn, sr za zgta(ues) hMppt"ee" nwUe(Ptr,"enjr); za.u(Ptr, e sr"ee" Vete") MpSrn,Ue>mp=h.eMp"sr"; a<tig sr a zgta(ues) mppt"ee" nwUe(Ptr,"enjr); a.u(Ptr, e sr"ee" Vete") CnurnMpSrn,Ue>cnurnMp=h.eMp"sr"; ocreta<tig sr ocreta zgta(ues) cnurnMpptfbet"ee" nwUe(Ptr,"enjr); ocreta.uIAsn(Ptr, e sr"ee" Vete") Ue ptr=mpgt"ee"; sr ee a.e(Ptr) www.hazelcast.com
  • 20. LIST itraecmhzlatcr.Ls<> nefc o.aecs.oeIitE etnsjv.tlLs xed aaui.it Hzlatntneh =gtaecsIsac(; aecsIsac z eHzlatntne) Ls<sr ls =h.eLs(ues) i ​tUe> ​t i zgtit"sr"; ls.d(e Ue(Ptr,"enjr); i ​tadnw sr"ee" Vete") Ue ptr=ls.e() sr ee itgt0; www.hazelcast.com
  • 21. QUEUE itraecmhzlatcr.Ls<> nefc o.aecs.oeIitE etnsjv.tlLs xed aaui.it Hzlatntneh =gtaecsIsac(; aecsIsac z eHzlatntne) BoknQeeTs>qee=h.eQee"ak"; lciguu<ak uu zgtuu(tss) qeeofrnwak); uu.fe(eTs() qeeofrnwak) 50 TmUi.ILSCNS; uu.fe(eTs(, 0, ientMLIEOD) Ts ts =qeepl(; ak ak uu.ol) Ts ts =qeepl(0,TmUi.ILSCNS; ak ak uu.ol10 ientMLIEOD) Ts ts =qeetk(; ak ak uu.ae) www.hazelcast.com
  • 23. LOCK (2/3) Hzlatntneh =gtaecsIsac(; aecsIsac z eHzlatntne) / DsrbtdRetat / itiue enrn Lc lc =h.eLc(mLc"; o ​k ​k o zgtok"yok) lc.ok) o ​klc(; ty{ r / D smtig / o oehn }fnly{ ial lc.nok) o ​kulc(; } www.hazelcast.com
  • 24. LOCK (3/3) Hzlatntneh =gtaecsIsac(; aecsIsac z eHzlatntne) / Mp(o-lcs / a Rw)ok Ia<tig Ue>mp=h.eMp"sr"; MpSrn, sr a zgta(ues) mplc(Ptr) a.ok"ee"; ty{ r / D smtigwt Ptr / o oehn ih ee }fnly{ ial mpulc(Ptr) a.nok"ee"; } www.hazelcast.com
  • 25. TOPIC / PUBSUB pbi casEapeipeet MsaeitnrSrn>{ ulc ls xml mlmns esgLsee<tig pbi vi snMsae{ ulc od edesg Hzlatntneh =gtaecsIsac(; aecsIsac z eHzlatntne) Ioi<tig tpc=h.eTpc"oi"; TpcSrn> oi zgtoi(tpc) tpcadesgLsee(hs; oi.dMsaeitnrti) tpcpbih"el Wrd) oi.uls(Hlo ol"; } @vrie Oerd pbi vi oMsaeMsaeSrn>msae { ulc od nesg(esg<tig esg) Sse.u.rnl(Gtmsae "+msaegtesgOjc() ytmotpitn"o esg: esg.eMsaebet); } } www.hazelcast.com
  • 26. EXECUTORSERVICE pbi itraecmhzlatcr.EeuoSrie ulc nefc o.aecs.oeIxctrevc etnsjv.tlcnurn.xctrevc xed aaui.ocretEeuoSrie Hzlatntneh =gtaecsIsac(; aecsIsac z eHzlatntne) Ixctrevc e =h.eEeuoSrie"ae) EeuoSrie s zgtxctrevc(nm"; e.xctOAlebr(ulRnal() seeuenlMmesbidunbe); e.xctOKywe(ulRnal(,"ee"; seeueneOnrbidunbe) Ptr) e.xct(ulRnal() seeuebidunbe); Mp.>ftrs=e.umtolMmesbidalbe); a<. uue ssbiTAlebr(ulClal() Ftr<. ftr =e.umtoeOnrbidalbe) "ee"; uue.> uue ssbiTKywe(ulClal(, Ptr) e.umtolMmesbidalbe) bidalak); ssbiTAlebr(ulClal(, ulClbc() e.umtoeOnrbidalbe) "ee" bidalak); ssbiTKywe(ulClal(, Ptr, ulClbc() www.hazelcast.com
  • 28. ADVANCED TECHNIQUES Indexing keys, values and value properties Distributed SQL-like query Write-Behind / Write-Through persistence Read-Through (if key not loaded use MapLoader) Transactions EntryListeners / EntryProcessors Automatic eviction Control partitioning (Version 3.1) and many more ... www.hazelcast.com
  • 30. INDEXING Ia<tig Ue>mp=Hzlatgta(ues) MpSrn, sr a aecs.eMp"sr"; mpadne(ae,tu) a.dIdx"g" re; / odrd / ree mpadne(atv" fle;/ ntodrd a.dIdx"cie, as) / o ree <a nm=epoes> mp ae"mlye" .. . <nee> idxs <ne odrd"re>g<idx idx ree=tu"ae/ne> <ne odrd"as"nm<idx idx ree=fle>ae/ne> <idxs /nee> <mp /a> www.hazelcast.com
  • 31. DISTRIBUTED SQL-LIKE QUERIES Ia<tig Ue>mp=Hzlatgta(ues) MpSrn, sr a aecs.eMp"sr"; Peiaepeiae=nwSlrdct(atv ADae< 3"; rdct rdct e qPeiae"cie N g = 0) StUe>ues=mpvle(rdct) e<sr sr a.auspeiae; StEtySrn,Ue> etis=mpetye(rdct) e<nr<tig sr> nre a.nrStpeiae; www.hazelcast.com
  • 32. MAPLOADER / MAPSTORE pbi casMptrg ulc ls aSoae ipeet Mptr<tig Ue> MpodrSrn,Ue>{ mlmns aSoeSrn, sr, aLae<tig sr / Sm mtosmsig.. / oe ehd isn . @vriepbi Ue la(tigky {rtr laVleBky;} Oerd ulc sr odSrn e) eun odauD(e) @vriepbi StSrn>laAles){rtr laKyD(;} Oerd ulc e<tig odlKy( eun odesB) @vriepbi vi dlt(tigky {dltD(e) } Oerd ulc od eeeSrn e) eeeBky; @vriepbi vi soeSrn ky Ue vle { Oerd ulc od tr(tig e, sr au) soeoaaaeky vle; trTDtbs(e, au) } } <a nm=ues> mp ae"sr" <a-tr eald"re> mpsoe nbe=tu" <ls-aecmhzlateapeMptrg<casnm> casnm>o.aecs.xml.aSoae/ls-ae <rt-ea-eod><wiedlyscns wiedlyscns0/rt-ea-eod> <mpsoe /a-tr> <mp /a> www.hazelcast.com
  • 33. TRANSACTION (1/2) Hzlatntneh =gtaecsIsac(; aecsIsac z eHzlatntne) fnlMpmp=h.eMp"eal"; ia a a zgta(dfut) fnlQeeqee=h.eQee"eal"; ia uu uu zgtuu(dfut) h.xctTascinnwTascinlakVi>){ zeeuernato(e rnatoaTs<od( @vrie Oerd pbi Vi eeueTascinlakotx cnet { ulc od xct(rnatoaTsCnet otx) Tettet=(we)qeepl(; we we Tet uu.ol) poeswe(we) rcsTettet; mpptbide(we) tet; a.u(ulKytet, we) rtr nl; eun ul } }; ) www.hazelcast.com
  • 34. TRANSACTION (2/2) Hzlatntneh =gtaecsIsac(; aecsIsac z eHzlatntne) Tascinotx cnet=h.eTascinotx(; rnatoCnet otx znwrnatoCnet) cnetbgnrnato(; otx.eiTascin) Tascinla mp=cnetgta(dfut) rnatoaMp a otx.eMp"eal"; Tascinluu qee=cnetgtuu(dfut) rnatoaQee uu otx.eQee"eal"; ty{ r Tettet=(we)qeepl(; we we Tet uu.ol) poeswe(we) rcsTettet; mpptbide(we) tet; a.u(ulKytet, we) cnetcmiTascin) otx.omtrnato(; }cth(xeto e { ac Ecpin ) cnetrlbcTascin) otx.olakrnato(; } www.hazelcast.com
  • 35. CONTROL PARTITIONING Force location of corresponding data in the same partition by providing a special partition key Hzlatntneh =gtaecsIsac(; aecsIsac z eHzlatntne) Mpues=h.eMp"sr"; a sr zgta(ues) uespt"ee@ee" nwUe(Ptr,"enjr); sr.u(PtrPtr, e sr"ee" Vete") Mpfins=h.eMp"red"; a red zgta(fins) finspt"ee-hi@ee" nwUe(Crsoh,"nebr") red.u(PtrCrsPtr, e sr"hitp" Eglet); finspt"ee-udPtr,nwUe(Fa" "aio") red.u(PtrFa@ee" e sr"ud, Mlkv); www.hazelcast.com
  • 37. SPI (NEW IN HAZELCAST 3) Possibility to build own distributed datastructures Hook into datastructure events Implement your own services (like RemoteInvocation, MapReduce) React on membership events Manipulate migrations on your purpose Handle splitbrain events and many more ... www.hazelcast.com
  • 38. EXTERNAL ADDONS hazelgrails - Hazelcast integration for Grails hazelmr / castmapr - MapReduce for Hazelcast 2.x / 3.x hazelblast - Remote Invocation hazelcast-actors - Actor framework maybe your's next? www.hazelcast.com