Galder Zamarreño
 Infinispan Core Developer
      JBoss by Red Hat
JBUG Belgium, 9th July 2009
Who am I?

Core developer for Infinispan and JBoss Cache
Contributor and com itter on JBoss AS,
                   m
 JGro...
Agenda

W is Infinispan?
 hat
Relationship w JBoss Cache
              ith
Newfeatures
Demo
What is Infinispan?

Highly scalable data grid platform
  100% open source licensed (LGPL)
  Based on som JBoss Cache code...
More scalable than JBoss Cache

Internal structures m m ory efficient
                     ore em
  Tree --> Flat concurre...
Memory Consumption Comparison

Test: Put 2 million serial objs into cache
JBoss Cache 3.1: W 2gb, 1 m
                  it...
Memory Consumption Comparison (2)

Infinispan 4.0.0.Alpha4: W 700m 2 m
                          ith  b,  illion
  objs
...borrowing best bits from JBoss Cache

Multiversion Concurrency Control (MVCC)
  Newlocking strategy in JBoss Cache 3.0
...
New features - distributed cache

Consistent hash based distribution
  W allowus to scale to bigger clusters
   ill
Lightw...
New features - asynchronous API

putAsync(), putIfAbsentAsync()
  Do not block, return a j.u.c.Future
  Future.get() block...
New features - Eager locking

By default: locks acquired at com it tim
                                 m      e
  Problem...
New features - client/server module

Server module = cache wrapper over TCP
Client module = cache proxy
Highly pluggable!
...
New features - fine-grained model

Successor to POJO Cache
JPA-like interface: persist, find, remove...
W not rely on AOP,...
New features - Others

Query module
  Execute Lucene queries against cache
  Based on JBoss Cache - Searchable
Distributed...
The End

Demo
Questions?
Upcoming SlideShare
Loading in...5
×

JBUG.be Infinispan

800

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
800
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "JBUG.be Infinispan"

  1. 1. Galder Zamarreño Infinispan Core Developer JBoss by Red Hat JBUG Belgium, 9th July 2009
  2. 2. Who am I? Core developer for Infinispan and JBoss Cache Contributor and com itter on JBoss AS, m JGroups, Hibernate, JBoss Portal, etc.
  3. 3. Agenda W is Infinispan? hat Relationship w JBoss Cache ith Newfeatures Demo
  4. 4. What is Infinispan? Highly scalable data grid platform 100% open source licensed (LGPL) Based on som JBoss Cache code e JBoss Cache = Tree structured cache Replicated using JGroups Supports JTA, evictions, cache stores, etc. NewJSR-107(JCACHE) compatible API Cache extends Map Tree adapter API available for legacy apps
  5. 5. More scalable than JBoss Cache Internal structures m m ory efficient ore em Tree --> Flat concurrent map Eviction queue --> Ordered container Marshalling based on JBoss Marshalling Smaller payloads + Poolable streams Early benchmarks Significant performance improvements
  6. 6. Memory Consumption Comparison Test: Put 2 million serial objs into cache JBoss Cache 3.1: W 2gb, 1 m ith illion objs
  7. 7. Memory Consumption Comparison (2) Infinispan 4.0.0.Alpha4: W 700m 2 m ith b, illion objs
  8. 8. ...borrowing best bits from JBoss Cache Multiversion Concurrency Control (MVCC) Newlocking strategy in JBoss Cache 3.0 Readers never locked! Writers w on copy of cache entry ork Non-blocking state transfer Senders generate state without stopping Crucial when state is large
  9. 9. New features - distributed cache Consistent hash based distribution W allowus to scale to bigger clusters ill Lightweight, L1 cache for efficient reads On writes, L1 invalidated Dynam rebalancing ic Pluggable consistent hashing algorithms Already available in 4.0.0.Alpha5!
  10. 10. New features - asynchronous API putAsync(), putIfAbsentAsync() Do not block, return a j.u.c.Future Future.get() blocks till call completes Best of both sync and async worlds Future.get() provides sync guarantees Greater parallelism Already available in 4.0.0.Alpha5!
  11. 11. New features - Eager locking By default: locks acquired at com it tim m e Problematic if updating a shared counter New Acquiring locks eagerly in cluster : Explicit: via API cache.lock(k) // acquire cluster wide lock on k Implicit: via configuration Each m odification implicitly acquires cluster w lock if not ide already held. Already available in 4.0.0.Alpha5!
  12. 12. New features - client/server module Server module = cache wrapper over TCP Client module = cache proxy Highly pluggable! Transport: XNIO, Netty, etc. Protocols: m cached, custom etc. em , Failover and load balancing Usable w current m cached clients ith em Drop-in replacem m cached servers ent em
  13. 13. New features - fine-grained model Successor to POJO Cache JPA-like interface: persist, find, remove... W not rely on AOP, javassist...etc ill M robust and easier to use/debug ore
  14. 14. New features - Others Query module Execute Lucene queries against cache Based on JBoss Cache - Searchable Distributed executors Runnable/Callable executed on data set Moves code, not data, around cluster
  15. 15. The End Demo Questions?

×