SlideShare a Scribd company logo
1 of 36
Download to read offline
Thursday, November 3, 11
for Dummies
                              Galder Zamarreño
                           Senior Software Engineer
                                 Red Hat, Inc




Thursday, November 3, 11
Who is Galder?
                           • R&D engineer (Red Hat Inc):
                            • Infinispan developer
                           • Contributor and committer:
                            • JBoss AS, Hibernate, JGroups...etc
                           • More about me?
                            • Blog: zamarreno.com
                            • Twitter: @galderz


Thursday, November 3, 11
Agenda

                           • What is Infinispan?
                           • Infinispan as in-memory cache
                           • Infinispan as in-memory data grid
                           • Data-as-a-Service with Infinispan
                           • Clustering and migration challenges
                           • Who uses Infinispan?



Thursday, November 3, 11
What is Infinispan?

                           • Data grid platform:
                            • Open source (LGPL)
                            • In-memory
                            • Highly available
                            • Elastic




Thursday, November 3, 11
Local in-memory cache
                           • Performance booster
                           • Good for data that is:
                            • Hard to calculate
                            • Expensive to retrieve...etc
                           • Why not ConcurrentHashMap? Infinispan offers:
                            • Greater concurrency with MVCC
                            • Built-in eviction...etc


Thursday, November 3, 11
Local cache example




Thursday, November 3, 11
Clustered in-memory cache


                           • Same as local but cluster-aware
                           • More shared-cache space!
                           • Can help you cluster your framework too!
                           • Invalidation cache mode commonly used




Thursday, November 3, 11
Invalidation




Thursday, November 3, 11
Invalidation




Thursday, November 3, 11
Invalidation




Thursday, November 3, 11
Cache.putForExternalRead()
                                         put()                   putForExternalRead()

                                 Use for updating state          Use to cache state read from
                                                                       external source

                            Regular lock acquisition timeout               Fail-fast


                               Could throw an exception                  Fails quietly


                           Could cause existing transaction to     Will never affect existing
                                          fail                           transactions




Thursday, November 3, 11
Clustered cache configuration




Thursday, November 3, 11
P2P Embedded Architecture




Thursday, November 3, 11
In-memory data grid
                           • It’s a data store, not just a cache
                           • An authoritative data sink
                           • FADE
                            • Fast
                            • Available
                            • Distributed
                            • Elastic


Thursday, November 3, 11
Distribution vs Replication




Thursday, November 3, 11
Replication




Thursday, November 3, 11
Distribution
                           • With number of copies = 2




Thursday, November 3, 11
Consistent Hashing




Thursday, November 3, 11
Virtual Nodes




Thursday, November 3, 11
Client/Server Architecture


                                          •   Supported protocols
                                              •   REST
                                              •   Memcached
                                              •   Hot Rod




Thursday, November 3, 11
Server Endpoint Comparison




Thursday, November 3, 11
Hot Rod server and clients




Thursday, November 3, 11
Traditional 3-tier App




Thursday, November 3, 11
Typical IaaS App




Thursday, November 3, 11
Typical PaaS App




Thursday, November 3, 11
State




Thursday, November 3, 11
Virtualize data

                           • Some public services exist
                            • Amazon RDS and SimpleDB
                            • FathomDB, Cloudant...etc
                           • But not all cloud deployments are public!
                            • Private cloud very important
                            • How can you build a DaaS yourself?



Thursday, November 3, 11
Characteristics of DaaS

                           • Elastic data
                           • Need to scale with other tiers
                           • Response times should be linear
                           • Needs to be highly available!
                            • Nodes with die! The service shouldn’t




Thursday, November 3, 11
DaaS with Infinispan




Thursday, November 3, 11
Clustering challenges

                           • JGroups taking care of clustering
                            • Default config file good for 4-16 nodes
                           • Bigger clusters require tweaking...
                           • Adjust transport and discovery to environment limitations
                            • Especially where UDP multicast not allowed
                           • These adjustments do not require altering code



Thursday, November 3, 11
Migration best practices


                           • ‘RadarGun’ project benchmarks different data grid products
                           • Benchmark your use case!
                           • Helps with mapping between different provider APIs
                           • XSLTs distributed to transform configuration




Thursday, November 3, 11
Who uses Infinispan?

                           • Examples:
                            • As a cache:
                              • Hibernate for the second level cache
                              • HTTP session cache in JBoss AS 6 and AS 7
                            • As a data grid:
                              • Real-time trading app of a well known stock exchange



Thursday, November 3, 11
What’s next?


                           • Distributed Executors and Map/Reduce
                           • Hibernate OGM (Object-Grid-Mapping)
                             • JPA-like interface backed by Infinispan
                           • ...etc




Thursday, November 3, 11
Summary

                           • Infinispan is a fast powerful local cache
                           • More space and scales up when cache is clustered
                           • Infinispan is also a distributed elastic data grid
                           • Accessible in embedded and client/server mode
                           • Build your own Data-as-a-Service with Infinispan




Thursday, November 3, 11
Questions?

                           • infinispan.org
                           • blog.infinispan.org
                           • @infinispan on twitter
                            • #infinispan for comments
                           • IRC: #infinispan on FreeNode
                           • speakerrate.com/galder



Thursday, November 3, 11

More Related Content

What's hot

What's hot (20)

HBaseCon 2015: Taming GC Pauses for Large Java Heap in HBase
HBaseCon 2015: Taming GC Pauses for Large Java Heap in HBaseHBaseCon 2015: Taming GC Pauses for Large Java Heap in HBase
HBaseCon 2015: Taming GC Pauses for Large Java Heap in HBase
 
Prometheus in openstack-helm
Prometheus in openstack-helmPrometheus in openstack-helm
Prometheus in openstack-helm
 
OWASP AppSecEU 2018 – Attacking "Modern" Web Technologies
OWASP AppSecEU 2018 – Attacking "Modern" Web TechnologiesOWASP AppSecEU 2018 – Attacking "Modern" Web Technologies
OWASP AppSecEU 2018 – Attacking "Modern" Web Technologies
 
Ozone and HDFS's Evolution
Ozone and HDFS's EvolutionOzone and HDFS's Evolution
Ozone and HDFS's Evolution
 
Process Mining - Chapter 3 - Data Mining
Process Mining - Chapter 3 - Data MiningProcess Mining - Chapter 3 - Data Mining
Process Mining - Chapter 3 - Data Mining
 
Doveryai, no proveryai - Introduction to tla+
Doveryai, no proveryai - Introduction to tla+Doveryai, no proveryai - Introduction to tla+
Doveryai, no proveryai - Introduction to tla+
 
Get to Green: How to Safely Refactor Legacy Code
Get to Green: How to Safely Refactor Legacy CodeGet to Green: How to Safely Refactor Legacy Code
Get to Green: How to Safely Refactor Legacy Code
 
Apache Tez – Present and Future
Apache Tez – Present and FutureApache Tez – Present and Future
Apache Tez – Present and Future
 
Concurrency with java
Concurrency with javaConcurrency with java
Concurrency with java
 
Object Oriented Exploitation: New techniques in Windows mitigation bypass
Object Oriented Exploitation: New techniques in Windows mitigation bypassObject Oriented Exploitation: New techniques in Windows mitigation bypass
Object Oriented Exploitation: New techniques in Windows mitigation bypass
 
Time series Analytics - a deep dive into ADX Azure Data Explorer @Data Saturd...
Time series Analytics - a deep dive into ADX Azure Data Explorer @Data Saturd...Time series Analytics - a deep dive into ADX Azure Data Explorer @Data Saturd...
Time series Analytics - a deep dive into ADX Azure Data Explorer @Data Saturd...
 
Ship Faster, Reduce Risk, and Build Scale with Feature Flags
Ship Faster, Reduce Risk, and Build Scale with Feature FlagsShip Faster, Reduce Risk, and Build Scale with Feature Flags
Ship Faster, Reduce Risk, and Build Scale with Feature Flags
 
Juraci Paixão Kröhling - All you need to know about OpenTelemetry
Juraci Paixão Kröhling - All you need to know about OpenTelemetryJuraci Paixão Kröhling - All you need to know about OpenTelemetry
Juraci Paixão Kröhling - All you need to know about OpenTelemetry
 
Application Profiling for Memory and Performance
Application Profiling for Memory and PerformanceApplication Profiling for Memory and Performance
Application Profiling for Memory and Performance
 
Apache Helix presentation at ApacheCon 2013
Apache Helix presentation at ApacheCon 2013Apache Helix presentation at ApacheCon 2013
Apache Helix presentation at ApacheCon 2013
 
What you have to know about Certified Kubernetes Administrator (CKA)
What you have to know about Certified Kubernetes Administrator (CKA)What you have to know about Certified Kubernetes Administrator (CKA)
What you have to know about Certified Kubernetes Administrator (CKA)
 
中正大學/FHIR 快速掃描 R4 版本
中正大學/FHIR 快速掃描 R4 版本中正大學/FHIR 快速掃描 R4 版本
中正大學/FHIR 快速掃描 R4 版本
 
Advanced messaging with Apache ActiveMQ
Advanced messaging with Apache ActiveMQAdvanced messaging with Apache ActiveMQ
Advanced messaging with Apache ActiveMQ
 
Migrating your clusters and workloads from Hadoop 2 to Hadoop 3
Migrating your clusters and workloads from Hadoop 2 to Hadoop 3Migrating your clusters and workloads from Hadoop 2 to Hadoop 3
Migrating your clusters and workloads from Hadoop 2 to Hadoop 3
 
Introducing envoy-based service mesh at Booking.com
Introducing envoy-based service mesh at Booking.comIntroducing envoy-based service mesh at Booking.com
Introducing envoy-based service mesh at Booking.com
 

Viewers also liked

Viewers also liked (20)

Data Grids and Data Caching
Data Grids and Data CachingData Grids and Data Caching
Data Grids and Data Caching
 
Why RESTful Design for the Cloud is Best
Why RESTful Design for the Cloud is BestWhy RESTful Design for the Cloud is Best
Why RESTful Design for the Cloud is Best
 
Infinispan – the open source data grid platform by Mircea Markus
Infinispan – the open source data grid platform by Mircea MarkusInfinispan – the open source data grid platform by Mircea Markus
Infinispan – the open source data grid platform by Mircea Markus
 
What's New in Infinispan 6.0
What's New in Infinispan 6.0What's New in Infinispan 6.0
What's New in Infinispan 6.0
 
Infinispan,Lucene,Hibername OGM
Infinispan,Lucene,Hibername OGMInfinispan,Lucene,Hibername OGM
Infinispan,Lucene,Hibername OGM
 
Infinispan
InfinispanInfinispan
Infinispan
 
Infinispan Data Grid Platform
Infinispan Data Grid PlatformInfinispan Data Grid Platform
Infinispan Data Grid Platform
 
London JBUG April 2015 - Performance Tuning Apps with WildFly Application Server
London JBUG April 2015 - Performance Tuning Apps with WildFly Application ServerLondon JBUG April 2015 - Performance Tuning Apps with WildFly Application Server
London JBUG April 2015 - Performance Tuning Apps with WildFly Application Server
 
The Little Warehouse That Couldn't Or: How We Learned to Stop Worrying and Mo...
The Little Warehouse That Couldn't Or: How We Learned to Stop Worrying and Mo...The Little Warehouse That Couldn't Or: How We Learned to Stop Worrying and Mo...
The Little Warehouse That Couldn't Or: How We Learned to Stop Worrying and Mo...
 
Open Stack Cheat Sheet V1
Open Stack Cheat Sheet V1Open Stack Cheat Sheet V1
Open Stack Cheat Sheet V1
 
Tachyon-2014-11-21-amp-camp5
Tachyon-2014-11-21-amp-camp5Tachyon-2014-11-21-amp-camp5
Tachyon-2014-11-21-amp-camp5
 
Linux Filesystems, RAID, and more
Linux Filesystems, RAID, and moreLinux Filesystems, RAID, and more
Linux Filesystems, RAID, and more
 
Lessons Learned with Spark at the US Patent & Trademark Office-(Christopher B...
Lessons Learned with Spark at the US Patent & Trademark Office-(Christopher B...Lessons Learned with Spark at the US Patent & Trademark Office-(Christopher B...
Lessons Learned with Spark at the US Patent & Trademark Office-(Christopher B...
 
Accelerating Cassandra Workloads on Ceph with All-Flash PCIE SSDS
Accelerating Cassandra Workloads on Ceph with All-Flash PCIE SSDSAccelerating Cassandra Workloads on Ceph with All-Flash PCIE SSDS
Accelerating Cassandra Workloads on Ceph with All-Flash PCIE SSDS
 
Advanced Data Retrieval and Analytics with Apache Spark and Openstack Swift
Advanced Data Retrieval and Analytics with Apache Spark and Openstack SwiftAdvanced Data Retrieval and Analytics with Apache Spark and Openstack Swift
Advanced Data Retrieval and Analytics with Apache Spark and Openstack Swift
 
Scaling up genomic analysis with ADAM
Scaling up genomic analysis with ADAMScaling up genomic analysis with ADAM
Scaling up genomic analysis with ADAM
 
JBoss Community Introduction
JBoss Community IntroductionJBoss Community Introduction
JBoss Community Introduction
 
Apache conbigdata2015 christiantzolov-federated sql on hadoop and beyond- lev...
Apache conbigdata2015 christiantzolov-federated sql on hadoop and beyond- lev...Apache conbigdata2015 christiantzolov-federated sql on hadoop and beyond- lev...
Apache conbigdata2015 christiantzolov-federated sql on hadoop and beyond- lev...
 
Архитектура Apache Ignite .NET
Архитектура Apache Ignite .NETАрхитектура Apache Ignite .NET
Архитектура Apache Ignite .NET
 
Building Wall St Risk Systems with Apache Geode
Building Wall St Risk Systems with Apache GeodeBuilding Wall St Risk Systems with Apache Geode
Building Wall St Risk Systems with Apache Geode
 

Similar to Infinispan for Dummies

Play concurrency
Play concurrencyPlay concurrency
Play concurrency
Justin Long
 
Designing for Massive Scalability at BackType #bigdatacamp
Designing for Massive Scalability at BackType #bigdatacampDesigning for Massive Scalability at BackType #bigdatacamp
Designing for Massive Scalability at BackType #bigdatacamp
Michael Montano
 
Addressing vendor weaknesses in user space (Robert Treat)
Addressing vendor weaknesses in user space (Robert Treat)Addressing vendor weaknesses in user space (Robert Treat)
Addressing vendor weaknesses in user space (Robert Treat)
Ontico
 
2012-11-30-scalable game servers
2012-11-30-scalable game servers2012-11-30-scalable game servers
2012-11-30-scalable game servers
Wooga
 

Similar to Infinispan for Dummies (20)

Data Grids vs Databases
Data Grids vs DatabasesData Grids vs Databases
Data Grids vs Databases
 
soft-shake.ch - Data grids and Data Caching
soft-shake.ch - Data grids and Data Cachingsoft-shake.ch - Data grids and Data Caching
soft-shake.ch - Data grids and Data Caching
 
Ruby-on-Infinispan
Ruby-on-InfinispanRuby-on-Infinispan
Ruby-on-Infinispan
 
Hadoop: A Hands-on Introduction
Hadoop: A Hands-on IntroductionHadoop: A Hands-on Introduction
Hadoop: A Hands-on Introduction
 
Non Relational Databases And World Domination
Non Relational Databases And World DominationNon Relational Databases And World Domination
Non Relational Databases And World Domination
 
soft-shake.ch - Data grids and Data Grids
soft-shake.ch - Data grids and Data Gridssoft-shake.ch - Data grids and Data Grids
soft-shake.ch - Data grids and Data Grids
 
Databases -- Have it Your Way (Frederick Cheung)
Databases -- Have it Your Way (Frederick Cheung)Databases -- Have it Your Way (Frederick Cheung)
Databases -- Have it Your Way (Frederick Cheung)
 
A PHP Christmas Miracle - 3 Frameworks, 1 app
A PHP Christmas Miracle - 3 Frameworks, 1 appA PHP Christmas Miracle - 3 Frameworks, 1 app
A PHP Christmas Miracle - 3 Frameworks, 1 app
 
Stardog talk-dc-march-17
Stardog talk-dc-march-17Stardog talk-dc-march-17
Stardog talk-dc-march-17
 
Building A Scalable Open Source Storage Solution
Building A Scalable Open Source Storage SolutionBuilding A Scalable Open Source Storage Solution
Building A Scalable Open Source Storage Solution
 
Leveraging Endpoint Flexibility in Data-Intensive Clusters
Leveraging Endpoint Flexibility in Data-Intensive ClustersLeveraging Endpoint Flexibility in Data-Intensive Clusters
Leveraging Endpoint Flexibility in Data-Intensive Clusters
 
MiningTheSocialWeb.Ch2.Microformat
MiningTheSocialWeb.Ch2.MicroformatMiningTheSocialWeb.Ch2.Microformat
MiningTheSocialWeb.Ch2.Microformat
 
Play concurrency
Play concurrencyPlay concurrency
Play concurrency
 
Designing for Massive Scalability at BackType #bigdatacamp
Designing for Massive Scalability at BackType #bigdatacampDesigning for Massive Scalability at BackType #bigdatacamp
Designing for Massive Scalability at BackType #bigdatacamp
 
Stig: Social Graphs & Discovery at Scale
Stig: Social Graphs & Discovery at ScaleStig: Social Graphs & Discovery at Scale
Stig: Social Graphs & Discovery at Scale
 
Zookeeper at the bigdata roundtable
Zookeeper at the bigdata roundtableZookeeper at the bigdata roundtable
Zookeeper at the bigdata roundtable
 
Addressing vendor weaknesses in user space (Robert Treat)
Addressing vendor weaknesses in user space (Robert Treat)Addressing vendor weaknesses in user space (Robert Treat)
Addressing vendor weaknesses in user space (Robert Treat)
 
2012-11-30-scalable game servers
2012-11-30-scalable game servers2012-11-30-scalable game servers
2012-11-30-scalable game servers
 
Spotify: Playing for millions, tuning for more
Spotify: Playing for millions, tuning for moreSpotify: Playing for millions, tuning for more
Spotify: Playing for millions, tuning for more
 
Interop 2011 - Scaling Platform As A Service
Interop 2011 - Scaling Platform As A ServiceInterop 2011 - Scaling Platform As A Service
Interop 2011 - Scaling Platform As A Service
 

Recently uploaded

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
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
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 

Infinispan for Dummies

  • 2. for Dummies Galder Zamarreño Senior Software Engineer Red Hat, Inc Thursday, November 3, 11
  • 3. Who is Galder? • R&D engineer (Red Hat Inc): • Infinispan developer • Contributor and committer: • JBoss AS, Hibernate, JGroups...etc • More about me? • Blog: zamarreno.com • Twitter: @galderz Thursday, November 3, 11
  • 4. Agenda • What is Infinispan? • Infinispan as in-memory cache • Infinispan as in-memory data grid • Data-as-a-Service with Infinispan • Clustering and migration challenges • Who uses Infinispan? Thursday, November 3, 11
  • 5. What is Infinispan? • Data grid platform: • Open source (LGPL) • In-memory • Highly available • Elastic Thursday, November 3, 11
  • 6. Local in-memory cache • Performance booster • Good for data that is: • Hard to calculate • Expensive to retrieve...etc • Why not ConcurrentHashMap? Infinispan offers: • Greater concurrency with MVCC • Built-in eviction...etc Thursday, November 3, 11
  • 8. Clustered in-memory cache • Same as local but cluster-aware • More shared-cache space! • Can help you cluster your framework too! • Invalidation cache mode commonly used Thursday, November 3, 11
  • 12. Cache.putForExternalRead() put() putForExternalRead() Use for updating state Use to cache state read from external source Regular lock acquisition timeout Fail-fast Could throw an exception Fails quietly Could cause existing transaction to Will never affect existing fail transactions Thursday, November 3, 11
  • 15. In-memory data grid • It’s a data store, not just a cache • An authoritative data sink • FADE • Fast • Available • Distributed • Elastic Thursday, November 3, 11
  • 18. Distribution • With number of copies = 2 Thursday, November 3, 11
  • 21. Client/Server Architecture • Supported protocols • REST • Memcached • Hot Rod Thursday, November 3, 11
  • 23. Hot Rod server and clients Thursday, November 3, 11
  • 25. Typical IaaS App Thursday, November 3, 11
  • 26. Typical PaaS App Thursday, November 3, 11
  • 28. Virtualize data • Some public services exist • Amazon RDS and SimpleDB • FathomDB, Cloudant...etc • But not all cloud deployments are public! • Private cloud very important • How can you build a DaaS yourself? Thursday, November 3, 11
  • 29. Characteristics of DaaS • Elastic data • Need to scale with other tiers • Response times should be linear • Needs to be highly available! • Nodes with die! The service shouldn’t Thursday, November 3, 11
  • 31. Clustering challenges • JGroups taking care of clustering • Default config file good for 4-16 nodes • Bigger clusters require tweaking... • Adjust transport and discovery to environment limitations • Especially where UDP multicast not allowed • These adjustments do not require altering code Thursday, November 3, 11
  • 32. Migration best practices • ‘RadarGun’ project benchmarks different data grid products • Benchmark your use case! • Helps with mapping between different provider APIs • XSLTs distributed to transform configuration Thursday, November 3, 11
  • 33. Who uses Infinispan? • Examples: • As a cache: • Hibernate for the second level cache • HTTP session cache in JBoss AS 6 and AS 7 • As a data grid: • Real-time trading app of a well known stock exchange Thursday, November 3, 11
  • 34. What’s next? • Distributed Executors and Map/Reduce • Hibernate OGM (Object-Grid-Mapping) • JPA-like interface backed by Infinispan • ...etc Thursday, November 3, 11
  • 35. Summary • Infinispan is a fast powerful local cache • More space and scales up when cache is clustered • Infinispan is also a distributed elastic data grid • Accessible in embedded and client/server mode • Build your own Data-as-a-Service with Infinispan Thursday, November 3, 11
  • 36. Questions? • infinispan.org • blog.infinispan.org • @infinispan on twitter • #infinispan for comments • IRC: #infinispan on FreeNode • speakerrate.com/galder Thursday, November 3, 11