Introducing Infinispan

3,945 views
3,743 views

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,945
On SlideShare
0
From Embeds
0
Number of Embeds
1,624
Actions
Shares
0
Downloads
62
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

×