Thursday, November 3, 11
Thursday, November 3, 11
Data Grids and
                            Data Caching
                                Galder Zamarreño
                             Senior Software Engineer
                                   Red Hat, Inc
                              3rd October 2011, Soft Shake

Thursday, November 3, 11
Galder Zamarreño

                           •   R&D Engineer, Red Hat Inc.
                           •   Infinispan developer
                           •   5+ years exp. with distributed data systems
                           •   Twitter: @galderz
                           •   Blog: zamarreno.com



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
                           •   Who uses Infinispan?



Thursday, November 3, 11
Introducing



Thursday, November 3, 11
What is Infinispan?

                           An in-memory, highly
                           available, elastic, and open
                           source (LGPL) data grid
                           platform

Thursday, November 3, 11
Infinispan can be
                                used as...

Thursday, November 3, 11
Local in-memory cache

                           Boost performance caching
                           data which is hard to calculate
                           or expensive to retrieve


Thursday, November 3, 11
ConcurrentHashMap ?

                           Infinispan provides greater
                           concurrency with MVCC, has
                           built-in eviction...etc


Thursday, November 3, 11
Local cache example




Thursday, November 3, 11
A local cache might
                            not be enough...

Thursday, November 3, 11
Clustered caches


                           Scale up your application and
                           maintain cache consistency


Thursday, November 3, 11
Consistency in a
                           clustered cache...

Thursday, November 3, 11
Invalidation




Thursday, November 3, 11
Invalidation




Thursday, November 3, 11
Invalidation




Thursday, November 3, 11
Cache-oriented
                            operations...

Thursday, November 3, 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     Will never affect existing
                                          fail                           transactions




Thursday, November 3, 11
Accessing
                           Infinispan caches

Thursday, November 3, 11
Embedded Access




Thursday, November 3, 11
Infinispan is not
                             just a cache!

Thursday, November 3, 11
In-memory data grid

                           It’s a Fast, Available,
                           Distributed, Elastic data store,
                           not just a cache!


Thursday, November 3, 11
Invalidation won’t
                           work for data grids!

Thursday, November 3, 11
Data distribution




Thursday, November 3, 11
Replication




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




Thursday, November 3, 11
How is data
                           distributed??

Thursday, November 3, 11
Consistent Hashing




Thursday, November 3, 11
Solving unequal
                             distribution

Thursday, November 3, 11
Virtual Nodes




Thursday, November 3, 11
Accessing
                           Infinispan data grid

Thursday, November 3, 11
Remote Access

                                   • Via protocols :
                                    • REST
                                    • Hot Rod




Thursday, November 3, 11
Hot Rod clients




Thursday, November 3, 11
Infinispan as
                           cloud data store

Thursday, November 3, 11
Traditional 3-tier App




Thursday, November 3, 11
Typical IaaS App




Thursday, November 3, 11
Traditional PaaS App




Thursday, November 3, 11
Where’s your data
                              stored??

Thursday, November 3, 11
Clouds are
                           ephemeral!!

Thursday, November 3, 11
State




Thursday, November 3, 11
Virtualizing Data

                           Some public services exist
                           (i.e. Amazon RDS), but not all
                           cloud deployments are public!


Thursday, November 3, 11
Build your own
                           Data-as-a-Service!

Thursday, November 3, 11
Characteristics of DaaS


                           Elastic, scalable and highly
                           available!


Thursday, November 3, 11
DaaS with
                           Infinispan

Thursday, November 3, 11
Architecture




                                          Manage and Monitor
Thursday, November 3, 11
Who uses
                           Infinispan?

Thursday, November 3, 11
As a cache...


                           Hibernate 2nd level cache,
                           Torquebox Rails cache...


Thursday, November 3, 11
As a temporary store...


                           Http session cache & EJB
                           SFSB cache, in JBoss AS7


Thursday, November 3, 11
As data grid...


                           Real-time trading app of a well
                           known stock exchange


Thursday, November 3, 11
What’s next?


Thursday, November 3, 11
Towards EDG

                           Solidifying Infinispan towards
                           integration with Red Hat’s
                           Enterprise Data Grid


Thursday, November 3, 11
Plus more data grid...

                           Enhancing Hot Rod protocol,
                           Hibernate Object/Grid Mapper
                           ...etc


Thursday, November 3, 11
Summary

                           Infinispan as fast powerful
                           local cache that can be
                           clustered!


Thursday, November 3, 11
Summary

                           But also a F.A.D.E. data grid,
                           accessible in embedded or
                           remote fashion


Thursday, November 3, 11
Summary

                           Build your own Infinispan
                           based Data-as-a-Service in
                           your private cloud!


Thursday, November 3, 11
Questions
                           infinispan.org - @infinispan

                           speakerrate.com/galder

                           More on data grids at 5pm!

Thursday, November 3, 11

Data Grids and Data Caching