Introducing Infinispan• Mircea Markus• Senior Software Engineer• Red Hat, Inc
Mircea Markus• R&D Engineer, Red Hat Inc.• Twitter: @mirceamarkus• Blog: mirceamarkus.blogspot.com
Agenda• What is Infinispan• API• Key features• Three use cases• The path ahead
What is Infinispan?•   Distributed, in memory, data structure•   Highly available•   Elastic•   Open source
Distributed data structure
High availability• Memory is volatile• Make redundant copies  • Total replication (Replication Mode)  • Partial replicatio...
Elasticity• Expect  • Node additions  • Node removals• Topology changes  • are totally consistent  • do not "stop the world"
API•   Key-value store•   java.util.concurrent.ConcurrentHashMap•   JSR-107 compliant•   CDI support
Key features•   Transactions•   Persistence•   Map/Reduce•   Querying
Transactions• JTA transactions support  • XA or Synchronization based enlistment  • recovery!• Local transactions (batchin...
Persistence/Cache Store• Used for  • durability  • increased storage  • warm caches• Various implementations  • jdbc, bdbj...
Map/Reduce example
Map/Reduce
Map/Reduce
Querying• What’s in C7?• Where is the white king?
Querying• Based on Hibernate Search/Lucene• Objects in the grid are indexed  • index management
Use cases• Local cache• Cluster of caches• Autonomous data store  • access protocols
Local cache
Features of a local cache•   Eviction•   Expiry•   Write through, write behind•   Preloading•   Notifications•   Statistics
Local cache not good enough...
Cluster of caches
Some limitations still• Client is affected by cache topology changes• Shared resources• Tier management  • incompatible JV...
Cache servers
Client/Server protocols• REST• Memcached• Hotrod  • proprietary  • java, python, ruby
The path ahead• 5.2  • transactions performance  • non-blocking state transfer  • hotrod enhancements• 6+  • X-datacenter ...
Thank you!•   infinispan.blogspot.com•   @infinispan•   mirceamarkus.blogspot.com•   @mirceamarkus
Upcoming SlideShare
Loading in...5
×

Introducing Infinispan

3,473

Published on

Apresentação de Mircea Markus - 8º encontro PT.JUG.

Published in: Technology, Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,473
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
58
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Introducing Infinispan

  1. 1. Introducing Infinispan• Mircea Markus• Senior Software Engineer• Red Hat, Inc
  2. 2. Mircea Markus• R&D Engineer, Red Hat Inc.• Twitter: @mirceamarkus• Blog: mirceamarkus.blogspot.com
  3. 3. Agenda• What is Infinispan• API• Key features• Three use cases• The path ahead
  4. 4. What is Infinispan?• Distributed, in memory, data structure• Highly available• Elastic• Open source
  5. 5. Distributed data structure
  6. 6. High availability• Memory is volatile• Make redundant copies • Total replication (Replication Mode) • Partial replication (Distribution Mode)• Topology changes • Node will crash! • Re-arrange state
  7. 7. Elasticity• Expect • Node additions • Node removals• Topology changes • are totally consistent • do not "stop the world"
  8. 8. API• Key-value store• java.util.concurrent.ConcurrentHashMap• JSR-107 compliant• CDI support
  9. 9. Key features• Transactions• Persistence• Map/Reduce• Querying
  10. 10. Transactions• JTA transactions support • XA or Synchronization based enlistment • recovery!• Local transactions (batching)• Transactional modes • optimistic • pessimistic
  11. 11. Persistence/Cache Store• Used for • durability • increased storage • warm caches• Various implementations • jdbc, bdbje, file, cloud, remote/infinispan, cassandra• Extensible
  12. 12. Map/Reduce example
  13. 13. Map/Reduce
  14. 14. Map/Reduce
  15. 15. Querying• What’s in C7?• Where is the white king?
  16. 16. Querying• Based on Hibernate Search/Lucene• Objects in the grid are indexed • index management
  17. 17. Use cases• Local cache• Cluster of caches• Autonomous data store • access protocols
  18. 18. Local cache
  19. 19. Features of a local cache• Eviction• Expiry• Write through, write behind• Preloading• Notifications• Statistics
  20. 20. Local cache not good enough...
  21. 21. Cluster of caches
  22. 22. Some limitations still• Client is affected by cache topology changes• Shared resources• Tier management • incompatible JVM tuning • security • garbage collection• Non-JVM clients
  23. 23. Cache servers
  24. 24. Client/Server protocols• REST• Memcached• Hotrod • proprietary • java, python, ruby
  25. 25. The path ahead• 5.2 • transactions performance • non-blocking state transfer • hotrod enhancements• 6+ • X-datacenter replication • eventual consistency • continuous queries
  26. 26. Thank you!• infinispan.blogspot.com• @infinispan• mirceamarkus.blogspot.com• @mirceamarkus
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×