soft-shake.ch - data grids and data caching

59
cocktail d’expérience informatiques Genève 3 & 4 octobre 2011 Seconde édition Track Auteur Session Java Galder ZAMARREÑO Data Grids and Data Caching soft -shake.ch

Upload: soft-shakech

Post on 06-May-2015

849 views

Category:

Technology


0 download

DESCRIPTION

Galder ZAMARREÑO

TRANSCRIPT

Page 1: soft-shake.ch - Data grids and Data Caching

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

Page 2: soft-shake.ch - Data grids and Data Caching
Page 3: soft-shake.ch - Data grids and Data Caching

Tuesday, October 11, 11

Page 4: soft-shake.ch - Data grids and Data Caching

Tuesday, October 11, 11

Page 5: soft-shake.ch - Data grids and Data Caching

Data Grids and Data Caching

Galder ZamarreñoSenior Software Engineer

Red Hat, Inc

3rd October 2011, Soft Shake

Tuesday, October 11, 11

Page 6: soft-shake.ch - 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

Tuesday, October 11, 11

Page 7: soft-shake.ch - 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?

Tuesday, October 11, 11

Page 8: soft-shake.ch - Data grids and Data Caching

Introducing

Tuesday, October 11, 11

Page 9: soft-shake.ch - Data grids and Data Caching

What is Infinispan?

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

Tuesday, October 11, 11

Page 10: soft-shake.ch - Data grids and Data Caching

Infinispan can be used as...

Tuesday, October 11, 11

Page 11: soft-shake.ch - Data grids and Data Caching

Local in-memory cache

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

Tuesday, October 11, 11

Page 12: soft-shake.ch - Data grids and Data Caching

ConcurrentHashMap ?

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

Tuesday, October 11, 11

Page 13: soft-shake.ch - Data grids and Data Caching

Local cache example

Tuesday, October 11, 11

Page 14: soft-shake.ch - Data grids and Data Caching

A local cache might not be enough...

Tuesday, October 11, 11

Page 15: soft-shake.ch - Data grids and Data Caching

Clustered caches

Scale up your application and maintain cache consistency

Tuesday, October 11, 11

Page 16: soft-shake.ch - Data grids and Data Caching

Consistency in a clustered cache...

Tuesday, October 11, 11

Page 17: soft-shake.ch - Data grids and Data Caching

Invalidation

Tuesday, October 11, 11

Page 18: soft-shake.ch - Data grids and Data Caching

Invalidation

Tuesday, October 11, 11

Page 19: soft-shake.ch - Data grids and Data Caching

Invalidation

Tuesday, October 11, 11

Page 20: soft-shake.ch - Data grids and Data Caching

Cache-oriented operations...

Tuesday, October 11, 11

Page 21: soft-shake.ch - 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

Tuesday, October 11, 11

Page 22: soft-shake.ch - Data grids and Data Caching

Accessing Infinispan caches

Tuesday, October 11, 11

Page 23: soft-shake.ch - Data grids and Data Caching

Embedded Access

Tuesday, October 11, 11

Page 24: soft-shake.ch - Data grids and Data Caching

Infinispan is not just a cache!

Tuesday, October 11, 11

Page 25: soft-shake.ch - Data grids and Data Caching

In-memory data grid

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

Tuesday, October 11, 11

Page 26: soft-shake.ch - Data grids and Data Caching

Invalidation won’t work for data grids!

Tuesday, October 11, 11

Page 27: soft-shake.ch - Data grids and Data Caching

Data distribution

Tuesday, October 11, 11

Page 28: soft-shake.ch - Data grids and Data Caching

Replication

Tuesday, October 11, 11

Page 29: soft-shake.ch - Data grids and Data Caching

Distribution• With number of copies = 2

Tuesday, October 11, 11

Page 30: soft-shake.ch - Data grids and Data Caching

How is data distributed??

Tuesday, October 11, 11

Page 31: soft-shake.ch - Data grids and Data Caching

Consistent Hashing

Tuesday, October 11, 11

Page 32: soft-shake.ch - Data grids and Data Caching

Solving unequal distribution

Tuesday, October 11, 11

Page 33: soft-shake.ch - Data grids and Data Caching

Virtual Nodes

Tuesday, October 11, 11

Page 34: soft-shake.ch - Data grids and Data Caching

Accessing Infinispan data grid

Tuesday, October 11, 11

Page 35: soft-shake.ch - Data grids and Data Caching

Remote Access

• Via protocols :

• REST

• Hot Rod

Tuesday, October 11, 11

Page 36: soft-shake.ch - Data grids and Data Caching

Hot Rod clients

Tuesday, October 11, 11

Page 37: soft-shake.ch - Data grids and Data Caching

Infinispan as cloud data store

Tuesday, October 11, 11

Page 38: soft-shake.ch - Data grids and Data Caching

Traditional 3-tier App

Tuesday, October 11, 11

Page 39: soft-shake.ch - Data grids and Data Caching

Typical IaaS App

Tuesday, October 11, 11

Page 40: soft-shake.ch - Data grids and Data Caching

Traditional PaaS App

Tuesday, October 11, 11

Page 41: soft-shake.ch - Data grids and Data Caching

Where’s your data stored??

Tuesday, October 11, 11

Page 42: soft-shake.ch - Data grids and Data Caching

Clouds are ephemeral!!

Tuesday, October 11, 11

Page 43: soft-shake.ch - Data grids and Data Caching

State

Tuesday, October 11, 11

Page 44: soft-shake.ch - Data grids and Data Caching

Virtualizing Data

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

Tuesday, October 11, 11

Page 45: soft-shake.ch - Data grids and Data Caching

Build your own Data-as-a-Service!

Tuesday, October 11, 11

Page 46: soft-shake.ch - Data grids and Data Caching

Characteristics of DaaS

Elastic, scalable and highly available!

Tuesday, October 11, 11

Page 47: soft-shake.ch - Data grids and Data Caching

DaaS with Infinispan

Tuesday, October 11, 11

Page 48: soft-shake.ch - Data grids and Data Caching

ArchitectureM

anage and Monitor

Tuesday, October 11, 11

Page 49: soft-shake.ch - Data grids and Data Caching

Who uses Infinispan?

Tuesday, October 11, 11

Page 50: soft-shake.ch - Data grids and Data Caching

As a cache...

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

Tuesday, October 11, 11

Page 51: soft-shake.ch - Data grids and Data Caching

As a temporary store...

Http session cache & EJB SFSB cache, in JBoss AS7

Tuesday, October 11, 11

Page 52: soft-shake.ch - Data grids and Data Caching

As data grid...

Real-time trading app of a well known stock exchange

Tuesday, October 11, 11

Page 53: soft-shake.ch - Data grids and Data Caching

What’s next?

Tuesday, October 11, 11

Page 54: soft-shake.ch - Data grids and Data Caching

Towards EDG

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

Tuesday, October 11, 11

Page 55: soft-shake.ch - Data grids and Data Caching

Plus more data grid...

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

Tuesday, October 11, 11

Page 56: soft-shake.ch - Data grids and Data Caching

Summary

Infinispan as fast powerful local cache that can be clustered!

Tuesday, October 11, 11

Page 57: soft-shake.ch - Data grids and Data Caching

Summary

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

Tuesday, October 11, 11

Page 58: soft-shake.ch - Data grids and Data Caching

Summary

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

Tuesday, October 11, 11

Page 59: soft-shake.ch - Data grids and Data Caching

Questions

infinispan.org - @infinispan

speakerrate.com/galder

More on data grids at 5pm!

Tuesday, October 11, 11