Infinispan – the open source data grid platform by Mircea Markus

Post on 22-Nov-2014

818 views 2 download

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

Transcript of Infinispan – the open source data grid platform by Mircea Markus

Saturday, 23 March 13

Infinispan - the open source data grid platform

•Mircea Markus

Saturday, 23 March 13

Who’s this guy?

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

Saturday, 23 March 13

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

Saturday, 23 March 13

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

Saturday, 23 March 13

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

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

Elasticity•Expect

•Node additions•Node removals

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

Saturday, 23 March 13

API•Key-value store

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

Saturday, 23 March 13

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

Saturday, 23 March 13

Transactions•JTA transactions support

•XA or Synchronization based enlistment•recovery!

•Local transactions (batching)•Transactional modes

•optimistic •pessimistic

Saturday, 23 March 13

Persistence/Cache Store•Used for

•durability•increased storage•warm caches

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

•Extensible

Saturday, 23 March 13

Map/Reduce example

Saturday, 23 March 13

Map/Reduce

Saturday, 23 March 13

Map/Reduce

Saturday, 23 March 13

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

•index management

Saturday, 23 March 13

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

•access protocols•Geographical failover

Saturday, 23 March 13

Local cache

Saturday, 23 March 13

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

Saturday, 23 March 13

Local cache not good enough...

Saturday, 23 March 13

Cluster of caches

Saturday, 23 March 13

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

Cache servers

Saturday, 23 March 13

Client/Server protocols•REST•Memcached•Hotrod

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

Saturday, 23 March 13

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

JBoss Data Grid (JDG)

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

Saturday, 23 March 13

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

Saturday, 23 March 13