57
Thursday, November 3, 11

Data Grids and Data Caching

Embed Size (px)

Citation preview

Page 1: Data Grids and Data Caching

Thursday, November 3, 11

Page 2: Data Grids and Data Caching

Thursday, November 3, 11

Page 3: Data Grids and Data Caching

Data Grids and Data Caching

Galder ZamarreñoSenior Software Engineer

Red Hat, Inc

3rd October 2011, Soft Shake

Thursday, November 3, 11

Page 4: Data Grids and Data Caching

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

Page 5: Data Grids and Data Caching

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

Page 6: Data Grids and Data Caching

Introducing

Thursday, November 3, 11

Page 7: Data Grids and Data Caching

What is Infinispan?

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

Thursday, November 3, 11

Page 8: Data Grids and Data Caching

Infinispan can be used as...

Thursday, November 3, 11

Page 9: Data Grids and Data Caching

Local in-memory cache

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

Thursday, November 3, 11

Page 10: Data Grids and Data Caching

ConcurrentHashMap ?

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

Thursday, November 3, 11

Page 11: Data Grids and Data Caching

Local cache example

Thursday, November 3, 11

Page 12: Data Grids and Data Caching

A local cache might not be enough...

Thursday, November 3, 11

Page 13: Data Grids and Data Caching

Clustered caches

Scale up your application and maintain cache consistency

Thursday, November 3, 11

Page 14: Data Grids and Data Caching

Consistency in a clustered cache...

Thursday, November 3, 11

Page 15: Data Grids and Data Caching

Invalidation

Thursday, November 3, 11

Page 16: Data Grids and Data Caching

Invalidation

Thursday, November 3, 11

Page 17: Data Grids and Data Caching

Invalidation

Thursday, November 3, 11

Page 18: Data Grids and Data Caching

Cache-oriented operations...

Thursday, November 3, 11

Page 19: Data Grids and Data Caching

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

Page 20: Data Grids and Data Caching

Accessing Infinispan caches

Thursday, November 3, 11

Page 21: Data Grids and Data Caching

Embedded Access

Thursday, November 3, 11

Page 22: Data Grids and Data Caching

Infinispan is not just a cache!

Thursday, November 3, 11

Page 23: Data Grids and Data Caching

In-memory data grid

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

Thursday, November 3, 11

Page 24: Data Grids and Data Caching

Invalidation won’t work for data grids!

Thursday, November 3, 11

Page 25: Data Grids and Data Caching

Data distribution

Thursday, November 3, 11

Page 26: Data Grids and Data Caching

Replication

Thursday, November 3, 11

Page 27: Data Grids and Data Caching

Distribution• With number of copies = 2

Thursday, November 3, 11

Page 28: Data Grids and Data Caching

How is data distributed??

Thursday, November 3, 11

Page 29: Data Grids and Data Caching

Consistent Hashing

Thursday, November 3, 11

Page 30: Data Grids and Data Caching

Solving unequal distribution

Thursday, November 3, 11

Page 31: Data Grids and Data Caching

Virtual Nodes

Thursday, November 3, 11

Page 32: Data Grids and Data Caching

Accessing Infinispan data grid

Thursday, November 3, 11

Page 33: Data Grids and Data Caching

Remote Access

• Via protocols :

• REST

• Hot Rod

Thursday, November 3, 11

Page 34: Data Grids and Data Caching

Hot Rod clients

Thursday, November 3, 11

Page 35: Data Grids and Data Caching

Infinispan as cloud data store

Thursday, November 3, 11

Page 36: Data Grids and Data Caching

Traditional 3-tier App

Thursday, November 3, 11

Page 37: Data Grids and Data Caching

Typical IaaS App

Thursday, November 3, 11

Page 38: Data Grids and Data Caching

Traditional PaaS App

Thursday, November 3, 11

Page 39: Data Grids and Data Caching

Where’s your data stored??

Thursday, November 3, 11

Page 40: Data Grids and Data Caching

Clouds are ephemeral!!

Thursday, November 3, 11

Page 41: Data Grids and Data Caching

State

Thursday, November 3, 11

Page 42: Data Grids and Data Caching

Virtualizing Data

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

Thursday, November 3, 11

Page 43: Data Grids and Data Caching

Build your own Data-as-a-Service!

Thursday, November 3, 11

Page 44: Data Grids and Data Caching

Characteristics of DaaS

Elastic, scalable and highly available!

Thursday, November 3, 11

Page 45: Data Grids and Data Caching

DaaS with Infinispan

Thursday, November 3, 11

Page 46: Data Grids and Data Caching

ArchitectureM

anage and Monitor

Thursday, November 3, 11

Page 47: Data Grids and Data Caching

Who uses Infinispan?

Thursday, November 3, 11

Page 48: Data Grids and Data Caching

As a cache...

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

Thursday, November 3, 11

Page 49: Data Grids and Data Caching

As a temporary store...

Http session cache & EJB SFSB cache, in JBoss AS7

Thursday, November 3, 11

Page 50: Data Grids and Data Caching

As data grid...

Real-time trading app of a well known stock exchange

Thursday, November 3, 11

Page 51: Data Grids and Data Caching

What’s next?

Thursday, November 3, 11

Page 52: Data Grids and Data Caching

Towards EDG

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

Thursday, November 3, 11

Page 53: Data Grids and Data Caching

Plus more data grid...

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

Thursday, November 3, 11

Page 54: Data Grids and Data Caching

Summary

Infinispan as fast powerful local cache that can be clustered!

Thursday, November 3, 11

Page 55: Data Grids and Data Caching

Summary

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

Thursday, November 3, 11

Page 56: Data Grids and Data Caching

Summary

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

Thursday, November 3, 11

Page 57: Data Grids and Data Caching

Questions

infinispan.org - @infinispan

speakerrate.com/galder

More on data grids at 5pm!

Thursday, November 3, 11