27
Saturday, 23 March 13

Infinispan – the open source data grid platform by Mircea Markus

Embed Size (px)

DESCRIPTION

This presentation describes what the project is and focuses on the main scenarios in which the audience can make use of it. Mircea Markus, project’s lead and co-founder, will give you an overview of the Infinispan ecosystem from which you’ll take home: - what Infinispan is - the main use cases in which you can benefit from it - its key features and differentiators in the data grid wold

Citation preview

Page 1: Infinispan – the open source data grid platform by Mircea Markus

Saturday, 23 March 13

Page 2: Infinispan – the open source data grid platform by Mircea Markus

Infinispan - the open source data grid platform

•Mircea Markus

Saturday, 23 March 13

Page 3: Infinispan – the open source data grid platform by Mircea Markus

Who’s this guy?

•JBoss clustering: JBossCache, JGroups•Lead Infinispan•JSR-350 •@infinispan/@mirceamarkus•infinispan.blogspot.com

Saturday, 23 March 13

Page 4: Infinispan – the open source data grid platform by Mircea Markus

Agenda•What is Infinispan•API•Key features•4 use cases

Saturday, 23 March 13

Page 5: Infinispan – the open source data grid platform by Mircea Markus

What is Infinispan?•Distributed, in memory, data structure•Highly available•Elastic•Open source

Saturday, 23 March 13

Page 6: Infinispan – the open source data grid platform by Mircea Markus

Distributed data structure

Storage Engine (RAM

+Overflow)

Transaction

Query

Map/Reduce

Monitoring

Transport (JGroups)

Memcached Hotrod Rest

Node (JVM process)

Storage Engine (RAM

+Overflow)

Transaction

Query

Map/Reduce

Monitoring

Transport (JGroups)

Memcached Hotrod Rest

Node (JVM process)

TCP/UDP

RemoteClient

TCPTCP

Saturday, 23 March 13

Page 7: Infinispan – the open source data grid platform by Mircea Markus

High availability•Memory is volatile•Make redundant copies

•Total replication (Replication Mode)•Partial replication (Distribution Mode)

•numOwners•Topology changes

•Node will crash!•Re-arrange state

Saturday, 23 March 13

Page 8: Infinispan – the open source data grid platform by Mircea Markus

Elasticity•Expect

•Node additions•Node removals

•Topology changes •are totally consistent•do not "stop the world"

Saturday, 23 March 13

Page 9: Infinispan – the open source data grid platform by Mircea Markus

API•Key-value store

•java.util.concurrent.ConcurrentHashMap•JSR-107 compliant•CDI support

Saturday, 23 March 13

Page 10: Infinispan – the open source data grid platform by Mircea Markus

Key features•Transactions•Persistence•Map/Reduce•Querying

Saturday, 23 March 13

Page 11: Infinispan – the open source data grid platform by Mircea Markus

Transactions•JTA transactions support

•XA or Synchronization based enlistment•recovery!

•Local transactions (batching)•Transactional modes

•optimistic •pessimistic

Saturday, 23 March 13

Page 12: Infinispan – the open source data grid platform by Mircea Markus

Persistence/Cache Store•Used for

•durability•increased storage•warm caches

•Various implementations•jdbc, bdbje, file, cloud, remote/infinispan, cassandra

•Extensible

Saturday, 23 March 13

Page 13: Infinispan – the open source data grid platform by Mircea Markus

Map/Reduce example

Saturday, 23 March 13

Page 14: Infinispan – the open source data grid platform by Mircea Markus

Map/Reduce

Saturday, 23 March 13

Page 15: Infinispan – the open source data grid platform by Mircea Markus

Map/Reduce

Saturday, 23 March 13

Page 16: Infinispan – the open source data grid platform by Mircea Markus

Querying•Based on Hibernate Search/Lucene•Objects in the grid are indexed

•index management

Saturday, 23 March 13

Page 17: Infinispan – the open source data grid platform by Mircea Markus

Use cases•Local cache•Cluster of caches•Autonomous data store

•access protocols•Geographical failover

Saturday, 23 March 13

Page 18: Infinispan – the open source data grid platform by Mircea Markus

Local cache

Saturday, 23 March 13

Page 19: Infinispan – the open source data grid platform by Mircea Markus

Features of a local cache•Eviction•Expiry•Write through, write behind•Preloading•Notifications•Statistics

Saturday, 23 March 13

Page 20: Infinispan – the open source data grid platform by Mircea Markus

Local cache not good enough...

Saturday, 23 March 13

Page 21: Infinispan – the open source data grid platform by Mircea Markus

Cluster of caches

Saturday, 23 March 13

Page 22: Infinispan – the open source data grid platform by Mircea Markus

Some limitations still•Client is affected by cache topology changes•Shared resources•Tier management

•incompatible JVM tuning•security•garbage collection

•Non-JVM clients

Saturday, 23 March 13

Page 23: Infinispan – the open source data grid platform by Mircea Markus

Cache servers

Saturday, 23 March 13

Page 24: Infinispan – the open source data grid platform by Mircea Markus

Client/Server protocols•REST•Memcached•Hotrod

•proprietary•java, C#, python, ruby•others on the way..

Saturday, 23 March 13

Page 25: Infinispan – the open source data grid platform by Mircea Markus

Geographic failover

Infinispan Node

Infinispan Node

Infinispan ClusterInfinispan

Node

London

Infinispan Node

Infinispan Node

Infinispan ClusterInfinispan

Node

New York(Active)

Infinispan Node

Infinispan Node

Infinispan ClusterInfinispan

Node

San Francisco

Migrate Data

Migrate Data

Migrate Data

Saturday, 23 March 13

Page 26: Infinispan – the open source data grid platform by Mircea Markus

JBoss Data Grid (JDG)

•JBoss Data Grid•Build on top of Inifinispan•http://www.jboss.com/edg

Saturday, 23 March 13

Page 27: Infinispan – the open source data grid platform by Mircea Markus

Thank you!•infinispan.blogspot.com•@infinispan•mirceamarkus.blogspot.com•@mirceamarkus

Saturday, 23 March 13