SlideShare une entreprise Scribd logo
1  sur  39
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

Rapid Infrastructure Provisioning
Rapid Infrastructure ProvisioningRapid Infrastructure Provisioning
Rapid Infrastructure ProvisioningUchit Vyas ☁
 
Terraform 0.9 + good practices
Terraform 0.9 + good practicesTerraform 0.9 + good practices
Terraform 0.9 + good practicesRadek Simko
 
Hazelcast Essentials
Hazelcast EssentialsHazelcast Essentials
Hazelcast EssentialsRahul Gupta
 
Terraform and cloud.ca
Terraform and cloud.caTerraform and cloud.ca
Terraform and cloud.caCloudOps2005
 
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 Optimizationebiznext
 
Understanding Spark Tuning: Strata New York
Understanding Spark Tuning: Strata New YorkUnderstanding Spark Tuning: Strata New York
Understanding Spark Tuning: Strata New YorkRachel Warren
 
Spark autotuning talk final
Spark autotuning talk finalSpark autotuning talk final
Spark autotuning talk finalRachel Warren
 
Multi-Master Replication with Slony
Multi-Master Replication with SlonyMulti-Master Replication with Slony
Multi-Master Replication with SlonyJim Mlodgenski
 
MongoDB San Francisco DrupalCon 2010
MongoDB San Francisco DrupalCon 2010MongoDB San Francisco DrupalCon 2010
MongoDB San Francisco DrupalCon 2010Karoly 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 TerraformAlexander Popov
 
Migrating and living on rds aurora
Migrating and living on rds auroraMigrating and living on rds aurora
Migrating and living on rds auroraBalazs Pocze
 
Scaling PostgreSQL With GridSQL
Scaling PostgreSQL With GridSQLScaling PostgreSQL With GridSQL
Scaling PostgreSQL With GridSQLJim Mlodgenski
 
Meetup cassandra sfo_jdbc
Meetup cassandra sfo_jdbcMeetup cassandra sfo_jdbc
Meetup cassandra sfo_jdbczznate
 
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 DeveloperDataWorks 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'rollPGConf APAC
 
Terraforming the Kubernetes Land
Terraforming the Kubernetes LandTerraforming the Kubernetes Land
Terraforming the Kubernetes LandRadek Simko
 

Tendances (20)

Rapid Infrastructure Provisioning
Rapid Infrastructure ProvisioningRapid Infrastructure Provisioning
Rapid Infrastructure Provisioning
 
Terraform 0.9 + good practices
Terraform 0.9 + good practicesTerraform 0.9 + good practices
Terraform 0.9 + good practices
 
Hazelcast Essentials
Hazelcast EssentialsHazelcast Essentials
Hazelcast Essentials
 
Terraform and cloud.ca
Terraform and cloud.caTerraform and cloud.ca
Terraform and cloud.ca
 
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 ...
 
Spark / Mesos Cluster Optimization
Spark / Mesos Cluster OptimizationSpark / Mesos Cluster Optimization
Spark / Mesos Cluster Optimization
 
Understanding Spark Tuning: Strata New York
Understanding Spark Tuning: Strata New YorkUnderstanding Spark Tuning: Strata New York
Understanding Spark Tuning: Strata New York
 
Spark autotuning talk final
Spark autotuning talk finalSpark autotuning talk final
Spark autotuning talk final
 
Multi-Master Replication with Slony
Multi-Master Replication with SlonyMulti-Master Replication with Slony
Multi-Master Replication with Slony
 
PostgreSQL Terminology
PostgreSQL TerminologyPostgreSQL Terminology
PostgreSQL Terminology
 
MongoDB San Francisco DrupalCon 2010
MongoDB San Francisco DrupalCon 2010MongoDB San Francisco DrupalCon 2010
MongoDB San Francisco DrupalCon 2010
 
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)
 
Infrastructure as Code: Introduction to Terraform
Infrastructure as Code: Introduction to TerraformInfrastructure as Code: Introduction to Terraform
Infrastructure as Code: Introduction to Terraform
 
Migrating and living on rds aurora
Migrating and living on rds auroraMigrating and living on rds aurora
Migrating and living on rds aurora
 
Scaling PostgreSQL With GridSQL
Scaling PostgreSQL With GridSQLScaling PostgreSQL With GridSQL
Scaling PostgreSQL With GridSQL
 
Meetup cassandra sfo_jdbc
Meetup cassandra sfo_jdbcMeetup cassandra sfo_jdbc
Meetup cassandra sfo_jdbc
 
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
 
Terraforming RDS
Terraforming RDSTerraforming RDS
Terraforming RDS
 
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
 
Terraforming the Kubernetes Land
Terraforming the Kubernetes LandTerraforming the Kubernetes Land
Terraforming the Kubernetes Land
 

En vedette

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 StoryboardChristoph Engelbert
 
Think Distributed: The Hazelcast Way
Think Distributed: The Hazelcast WayThink Distributed: The Hazelcast Way
Think Distributed: The Hazelcast WayRahul Gupta
 
Introduction to hazelcast
Introduction to hazelcastIntroduction to hazelcast
Introduction to hazelcastEmin Demirci
 
Distributed applications using Hazelcast
Distributed applications using HazelcastDistributed applications using Hazelcast
Distributed applications using HazelcastTaras 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 hazelcastViktor 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 2015Christoph Engelbert
 
Steam Learn: An introduction to Redis
Steam Learn: An introduction to RedisSteam Learn: An introduction to Redis
Steam Learn: An introduction to Redisinovia
 
Squeezing Performance out of Hazelcast
Squeezing Performance out of HazelcastSqueezing Performance out of Hazelcast
Squeezing Performance out of HazelcastHazelcast
 
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 HubChristoph 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 DevelopersViktor 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 RIAViktor 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 persistenceOleksiy Rezchykov
 

En vedette (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
 
Think Distributed: The Hazelcast Way
Think Distributed: The Hazelcast WayThink Distributed: The Hazelcast Way
Think Distributed: The Hazelcast Way
 
Introduction to hazelcast
Introduction to hazelcastIntroduction to hazelcast
Introduction to hazelcast
 
Hazelcast
HazelcastHazelcast
Hazelcast
 
Distributed applications using Hazelcast
Distributed applications using HazelcastDistributed applications using Hazelcast
Distributed applications using 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
[OracleCode SF] In memory analytics with apache spark and 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.
From cache to in-memory data grid. Introduction to Hazelcast.
 
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
 
Steam Learn: An introduction to Redis
Steam Learn: An introduction to RedisSteam Learn: An introduction to Redis
Steam Learn: An introduction to Redis
 
Squeezing Performance out of Hazelcast
Squeezing Performance out of HazelcastSqueezing Performance out of Hazelcast
Squeezing Performance out of 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
 
Devoxx 2013 - Hazelcast
Devoxx 2013 - Hazelcast Devoxx 2013 - Hazelcast
Devoxx 2013 - Hazelcast
 
Hazelcast
HazelcastHazelcast
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
 
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
 
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
 
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»
 
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...
 
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]
 
Spring Data: New approach to persistence
Spring Data: New approach to persistenceSpring Data: New approach to persistence
Spring Data: New approach to persistence
 

Similaire à Hazelcast - In-Memory DataGrid

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 javaAlexander 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 islandSoftwareMill
 
Learn Frontend Testing
Learn Frontend TestingLearn Frontend Testing
Learn Frontend TestingRyan Roemer
 
[Jfokus] Riding the Jet Streams
[Jfokus] Riding the Jet Streams[Jfokus] Riding the Jet Streams
[Jfokus] Riding the Jet StreamsViktor 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 solutionJuergen Fesslmeier
 
Lambdas myths-and-mistakes
Lambdas myths-and-mistakesLambdas myths-and-mistakes
Lambdas myths-and-mistakesRichardWarburton
 
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
 
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 LuaTony Fabeen
 
Devinsampa nginx-scripting
Devinsampa nginx-scriptingDevinsampa nginx-scripting
Devinsampa nginx-scriptingTony Fabeen
 
An Introduction to CSS Preprocessors
An Introduction to CSS PreprocessorsAn Introduction to CSS Preprocessors
An Introduction to CSS PreprocessorsMiloš 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.jsDouglas 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 GoogleAri Lerner
 
SecureSocial - Authentication for Play Framework
SecureSocial - Authentication for Play FrameworkSecureSocial - Authentication for Play Framework
SecureSocial - Authentication for Play Frameworkjaliss
 

Similaire à 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
 
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
 
Arquillian Extensions
Arquillian ExtensionsArquillian Extensions
Arquillian Extensions
 
JavaFX, because you're worth it
JavaFX, because you're worth itJavaFX, because you're worth it
JavaFX, because you're worth it
 
Learn Frontend Testing
Learn Frontend TestingLearn Frontend Testing
Learn Frontend Testing
 
[Jfokus] Riding the Jet Streams
[Jfokus] Riding the Jet Streams[Jfokus] Riding the Jet Streams
[Jfokus] Riding the Jet Streams
 
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
 
Scalaxb preso
Scalaxb presoScalaxb preso
Scalaxb preso
 
Lambdas myths-and-mistakes
Lambdas myths-and-mistakesLambdas myths-and-mistakes
Lambdas myths-and-mistakes
 
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)
 
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
 
Devinsampa nginx-scripting
Devinsampa nginx-scriptingDevinsampa nginx-scripting
Devinsampa nginx-scripting
 
An Introduction to CSS Preprocessors
An Introduction to CSS PreprocessorsAn Introduction to CSS Preprocessors
An Introduction to CSS Preprocessors
 
Ff to-fp
Ff to-fpFf to-fp
Ff to-fp
 
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 ...
 
Introduction to JavaFX 2
Introduction to JavaFX 2Introduction to JavaFX 2
Introduction to JavaFX 2
 
Presenting Seq for Node.js
Presenting Seq for Node.jsPresenting Seq for Node.js
Presenting Seq for Node.js
 
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...
 
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
 
SecureSocial - Authentication for Play Framework
SecureSocial - Authentication for Play FrameworkSecureSocial - Authentication for Play Framework
SecureSocial - Authentication for Play Framework
 

Plus de Christoph Engelbert

Gute Nachrichten, Schlechte Nachrichten
Gute Nachrichten, Schlechte NachrichtenGute Nachrichten, Schlechte Nachrichten
Gute Nachrichten, Schlechte NachrichtenChristoph 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 DataChristoph 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) WantChristoph Engelbert
 
Road to (Enterprise) Observability
Road to (Enterprise) ObservabilityRoad to (Enterprise) Observability
Road to (Enterprise) ObservabilityChristoph Engelbert
 
Hazelcast Jet - Riding the Jet Streams
Hazelcast Jet - Riding the Jet StreamsHazelcast Jet - Riding the Jet Streams
Hazelcast Jet - Riding the Jet StreamsChristoph Engelbert
 
Project Panama - Beyond the (JVM) Wall
Project Panama - Beyond the (JVM) WallProject Panama - Beyond the (JVM) Wall
Project Panama - Beyond the (JVM) WallChristoph 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 WorldChristoph Engelbert
 
JCache - Gimme Caching - JavaLand
JCache - Gimme Caching - JavaLandJCache - Gimme Caching - JavaLand
JCache - Gimme Caching - JavaLandChristoph Engelbert
 
Distributed Computing - An Interactive Introduction
Distributed Computing - An Interactive IntroductionDistributed Computing - An Interactive Introduction
Distributed Computing - An Interactive IntroductionChristoph Engelbert
 
Gimme Caching, the Hazelcast JCache Way
Gimme Caching, the Hazelcast JCache WayGimme Caching, the Hazelcast JCache Way
Gimme Caching, the Hazelcast JCache WayChristoph Engelbert
 
Unsafe Java World - Crossing the Borderline - JokerConf 2014 Saint Petersburg
Unsafe Java World - Crossing the Borderline - JokerConf 2014 Saint PetersburgUnsafe Java World - Crossing the Borderline - JokerConf 2014 Saint Petersburg
Unsafe Java World - Crossing the Borderline - JokerConf 2014 Saint PetersburgChristoph Engelbert
 

Plus de Christoph Engelbert (20)

Data Pipeline Plumbing
Data Pipeline PlumbingData Pipeline Plumbing
Data Pipeline Plumbing
 
Gute Nachrichten, Schlechte Nachrichten
Gute Nachrichten, Schlechte NachrichtenGute Nachrichten, Schlechte Nachrichten
Gute Nachrichten, Schlechte Nachrichten
 
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
 
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!
 
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
 
Road to (Enterprise) Observability
Road to (Enterprise) ObservabilityRoad to (Enterprise) Observability
Road to (Enterprise) Observability
 
Oops-Less Operation
Oops-Less OperationOops-Less Operation
Oops-Less Operation
 
Instan(t)a-neous Monitoring
Instan(t)a-neous MonitoringInstan(t)a-neous Monitoring
Instan(t)a-neous Monitoring
 
Don't Go, Java!
Don't Go, Java!Don't Go, Java!
Don't Go, Java!
 
TypeScript Go(es) Embedded
TypeScript Go(es) EmbeddedTypeScript Go(es) Embedded
TypeScript Go(es) Embedded
 
Hazelcast Jet - Riding the Jet Streams
Hazelcast Jet - Riding the Jet StreamsHazelcast Jet - Riding the Jet Streams
Hazelcast Jet - Riding the Jet Streams
 
CBOR - The Better JSON
CBOR - The Better JSONCBOR - The Better JSON
CBOR - The Better JSON
 
Project Panama - Beyond the (JVM) Wall
Project Panama - Beyond the (JVM) WallProject Panama - Beyond the (JVM) Wall
Project Panama - Beyond the (JVM) Wall
 
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
 
Gimme Caching - The JCache Way
Gimme Caching - The JCache WayGimme Caching - The JCache Way
Gimme Caching - The JCache Way
 
JCache - Gimme Caching - JavaLand
JCache - Gimme Caching - JavaLandJCache - Gimme Caching - JavaLand
JCache - Gimme Caching - JavaLand
 
Distributed Computing - An Interactive Introduction
Distributed Computing - An Interactive IntroductionDistributed Computing - An Interactive Introduction
Distributed Computing - An Interactive Introduction
 
Gimme Caching - The JCache Way
Gimme Caching - The JCache WayGimme Caching - The JCache Way
Gimme Caching - The JCache Way
 
Gimme Caching, the Hazelcast JCache Way
Gimme Caching, the Hazelcast JCache WayGimme Caching, the Hazelcast JCache Way
Gimme Caching, the Hazelcast JCache Way
 
Unsafe Java World - Crossing the Borderline - JokerConf 2014 Saint Petersburg
Unsafe Java World - Crossing the Borderline - JokerConf 2014 Saint PetersburgUnsafe Java World - Crossing the Borderline - JokerConf 2014 Saint Petersburg
Unsafe Java World - Crossing the Borderline - JokerConf 2014 Saint Petersburg
 

Dernier

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 

Dernier (20)

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 

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