Data Grids and Data Caching

Preview:

Citation preview

Thursday, November 3, 11

Thursday, November 3, 11

Data Grids and Data Caching

Galder ZamarreñoSenior 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 fail

Will never affect existing 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

ArchitectureM

anage 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

Recommended