soft-shake.ch - Data grids and Data Caching

Preview:

DESCRIPTION

Galder ZAMARREÑO

Citation preview

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

Recommended