soft-shake.ch - data grids and data caching
DESCRIPTION
Galder ZAMARREÑOTRANSCRIPT
cocktail d’expérience informatiquesGenève 3 & 4 octobre 2011
Seconde édition
Track
Auteur
Session
Java
Galder ZAMARREÑO
Data Grids andData Caching
soft-shake.ch
Tuesday, October 11, 11
Tuesday, October 11, 11
Data Grids and Data Caching
Galder ZamarreñoSenior Software Engineer
Red Hat, Inc
3rd October 2011, Soft Shake
Tuesday, October 11, 11
Galder Zamarreño
• R&D Engineer, Red Hat Inc.• Infinispan developer• 5+ years exp. with distributed data systems• Twitter: @galderz• Blog: zamarreno.com
Tuesday, October 11, 11
Agenda
• What is Infinispan?• Infinispan as in-memory cache• Infinispan as in-memory data grid• Data-as-a-Service with Infinispan• Who uses Infinispan?
Tuesday, October 11, 11
Introducing
Tuesday, October 11, 11
What is Infinispan?
An in-memory, highly available, elastic, and open source (LGPL) data grid platform
Tuesday, October 11, 11
Infinispan can be used as...
Tuesday, October 11, 11
Local in-memory cache
Boost performance caching data which is hard to calculate or expensive to retrieve
Tuesday, October 11, 11
ConcurrentHashMap ?
Infinispan provides greater concurrency with MVCC, has built-in eviction...etc
Tuesday, October 11, 11
Local cache example
Tuesday, October 11, 11
A local cache might not be enough...
Tuesday, October 11, 11
Clustered caches
Scale up your application and maintain cache consistency
Tuesday, October 11, 11
Consistency in a clustered cache...
Tuesday, October 11, 11
Invalidation
Tuesday, October 11, 11
Invalidation
Tuesday, October 11, 11
Invalidation
Tuesday, October 11, 11
Cache-oriented operations...
Tuesday, October 11, 11
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 fail
Will never affect existing transactions
Tuesday, October 11, 11
Accessing Infinispan caches
Tuesday, October 11, 11
Embedded Access
Tuesday, October 11, 11
Infinispan is not just a cache!
Tuesday, October 11, 11
In-memory data grid
It’s a Fast, Available, Distributed, Elastic data store, not just a cache!
Tuesday, October 11, 11
Invalidation won’t work for data grids!
Tuesday, October 11, 11
Data distribution
Tuesday, October 11, 11
Replication
Tuesday, October 11, 11
Distribution• With number of copies = 2
Tuesday, October 11, 11
How is data distributed??
Tuesday, October 11, 11
Consistent Hashing
Tuesday, October 11, 11
Solving unequal distribution
Tuesday, October 11, 11
Virtual Nodes
Tuesday, October 11, 11
Accessing Infinispan data grid
Tuesday, October 11, 11
Remote Access
• Via protocols :
• REST
• Hot Rod
Tuesday, October 11, 11
Hot Rod clients
Tuesday, October 11, 11
Infinispan as cloud data store
Tuesday, October 11, 11
Traditional 3-tier App
Tuesday, October 11, 11
Typical IaaS App
Tuesday, October 11, 11
Traditional PaaS App
Tuesday, October 11, 11
Where’s your data stored??
Tuesday, October 11, 11
Clouds are ephemeral!!
Tuesday, October 11, 11
State
Tuesday, October 11, 11
Virtualizing Data
Some public services exist (i.e. Amazon RDS), but not all cloud deployments are public!
Tuesday, October 11, 11
Build your own Data-as-a-Service!
Tuesday, October 11, 11
Characteristics of DaaS
Elastic, scalable and highly available!
Tuesday, October 11, 11
DaaS with Infinispan
Tuesday, October 11, 11
ArchitectureM
anage and Monitor
Tuesday, October 11, 11
Who uses Infinispan?
Tuesday, October 11, 11
As a cache...
Hibernate 2nd level cache, Torquebox Rails cache...
Tuesday, October 11, 11
As a temporary store...
Http session cache & EJB SFSB cache, in JBoss AS7
Tuesday, October 11, 11
As data grid...
Real-time trading app of a well known stock exchange
Tuesday, October 11, 11
What’s next?
Tuesday, October 11, 11
Towards EDG
Solidifying Infinispan towards integration with Red Hat’s Enterprise Data Grid
Tuesday, October 11, 11
Plus more data grid...
Enhancing Hot Rod protocol, Hibernate Object/Grid Mapper ...etc
Tuesday, October 11, 11
Summary
Infinispan as fast powerful local cache that can be clustered!
Tuesday, October 11, 11
Summary
But also a F.A.D.E. data grid, accessible in embedded or remote fashion
Tuesday, October 11, 11
Summary
Build your own Infinispan based Data-as-a-Service in your private cloud!
Tuesday, October 11, 11
Questions
infinispan.org - @infinispan
speakerrate.com/galder
More on data grids at 5pm!
Tuesday, October 11, 11