Top Banner
Thursday, November 3, 11
57

Data Grids and Data Caching

May 06, 2015

Download

Technology

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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