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

Stream Processing using Apache Flink in Zalando's World of Microservices - Re...
Stream Processing using Apache Flink in Zalando's World of Microservices - Re...Stream Processing using Apache Flink in Zalando's World of Microservices - Re...
Stream Processing using Apache Flink in Zalando's World of Microservices - Re...
Zalando Technology
 
Building High-Throughput, Low-Latency Pipelines in Kafka
Building High-Throughput, Low-Latency Pipelines in KafkaBuilding High-Throughput, Low-Latency Pipelines in Kafka
Building High-Throughput, Low-Latency Pipelines in Kafka
confluent
 

What's hot (20)

Kafka High Availability in multi data center setup with floating Observers wi...
Kafka High Availability in multi data center setup with floating Observers wi...Kafka High Availability in multi data center setup with floating Observers wi...
Kafka High Availability in multi data center setup with floating Observers wi...
 
Stream Processing using Apache Flink in Zalando's World of Microservices - Re...
Stream Processing using Apache Flink in Zalando's World of Microservices - Re...Stream Processing using Apache Flink in Zalando's World of Microservices - Re...
Stream Processing using Apache Flink in Zalando's World of Microservices - Re...
 
Practical learnings from running thousands of Flink jobs
Practical learnings from running thousands of Flink jobsPractical learnings from running thousands of Flink jobs
Practical learnings from running thousands of Flink jobs
 
Top 5 Mistakes to Avoid When Writing Apache Spark Applications
Top 5 Mistakes to Avoid When Writing Apache Spark ApplicationsTop 5 Mistakes to Avoid When Writing Apache Spark Applications
Top 5 Mistakes to Avoid When Writing Apache Spark Applications
 
Real-time Analytics with Upsert Using Apache Kafka and Apache Pinot | Yupeng ...
Real-time Analytics with Upsert Using Apache Kafka and Apache Pinot | Yupeng ...Real-time Analytics with Upsert Using Apache Kafka and Apache Pinot | Yupeng ...
Real-time Analytics with Upsert Using Apache Kafka and Apache Pinot | Yupeng ...
 
Redpanda and ClickHouse
Redpanda and ClickHouseRedpanda and ClickHouse
Redpanda and ClickHouse
 
Intro to open source observability with grafana, prometheus, loki, and tempo(...
Intro to open source observability with grafana, prometheus, loki, and tempo(...Intro to open source observability with grafana, prometheus, loki, and tempo(...
Intro to open source observability with grafana, prometheus, loki, and tempo(...
 
PromQL Deep Dive - The Prometheus Query Language
PromQL Deep Dive - The Prometheus Query Language PromQL Deep Dive - The Prometheus Query Language
PromQL Deep Dive - The Prometheus Query Language
 
Memory Management in Apache Spark
Memory Management in Apache SparkMemory Management in Apache Spark
Memory Management in Apache Spark
 
Mastering GC.pdf
Mastering GC.pdfMastering GC.pdf
Mastering GC.pdf
 
Building High-Throughput, Low-Latency Pipelines in Kafka
Building High-Throughput, Low-Latency Pipelines in KafkaBuilding High-Throughput, Low-Latency Pipelines in Kafka
Building High-Throughput, Low-Latency Pipelines in Kafka
 
Elk with Openstack
Elk with OpenstackElk with Openstack
Elk with Openstack
 
Scalable Monitoring Using Prometheus with Apache Spark Clusters with Diane F...
 Scalable Monitoring Using Prometheus with Apache Spark Clusters with Diane F... Scalable Monitoring Using Prometheus with Apache Spark Clusters with Diane F...
Scalable Monitoring Using Prometheus with Apache Spark Clusters with Diane F...
 
Faster, better, stronger: The new InnoDB
Faster, better, stronger: The new InnoDBFaster, better, stronger: The new InnoDB
Faster, better, stronger: The new InnoDB
 
Introduction and Overview of Apache Kafka, TriHUG July 23, 2013
Introduction and Overview of Apache Kafka, TriHUG July 23, 2013Introduction and Overview of Apache Kafka, TriHUG July 23, 2013
Introduction and Overview of Apache Kafka, TriHUG July 23, 2013
 
New Features in Apache Pinot
New Features in Apache PinotNew Features in Apache Pinot
New Features in Apache Pinot
 
Apache flink
Apache flinkApache flink
Apache flink
 
ScyllaDB Cloud Goes Serverless
ScyllaDB Cloud Goes ServerlessScyllaDB Cloud Goes Serverless
ScyllaDB Cloud Goes Serverless
 
Deep Dive into Building Streaming Applications with Apache Pulsar
Deep Dive into Building Streaming Applications with Apache Pulsar Deep Dive into Building Streaming Applications with Apache Pulsar
Deep Dive into Building Streaming Applications with Apache Pulsar
 
Best practices for MySQL High Availability Tutorial
Best practices for MySQL High Availability TutorialBest practices for MySQL High Availability Tutorial
Best practices for MySQL High Availability Tutorial
 

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

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Recently uploaded (20)

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
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
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
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
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
 
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
 
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...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
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
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
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
 

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