Manik Surtani introduces Infinispan, a new open source data grid that is well-suited as a cloud data store. Data grids provide highly scalable, fault-tolerant distributed caching capabilities. Infinispan improves upon existing data grids with features like consistent hashing for efficient data distribution, a JPA-like API, and client/server capabilities that make it cloud-ready. Infinispan aims to address the challenges of using traditional databases in cloud environments by providing elastic, low-latency access to large amounts of data without bottlenecks.
2. “There is a need for a viable cloud-ready
data store. People need to rethink the
way they organise, store and access
data.”
• Data grids as cloud data stores
• Introducing Infinispan
3. Who is Manik?
R&D Engineer, Red Hat
Founder and project lead, Infinispan
Project lead, JBoss Cache
Contributor on various OSS projects
JGroups, Hibernate, JBoss AS, etc.
Frequent speaker on data grids, cloud computing and
parallelism
http://twitter.com/maniksurtani
http://blog.infinispan.org
4. Clouds are today!
Clouds are happening
*aaS
You cannot escape them!
Public: Amazon, Google, Rackspace, etc.
Private: Eucalyptus, VMWare, IBM, RedHat
Clouds will become mainstream
Traditional data centres marginalised
5. Why are clouds popular?
Piecemeal costs - pay for what you use, no more!
Economies of scale - everyone benefits
High availability
Implicit backups!
Very fast provisioning, elasticity
Familiar charging model
Controllable costs
6. Why should I care?
The platforms I use will still be relevant:
Java, Java EE
Python, Ruby, .NET
... whatever!!
The OS I use will still be relevant
Linux
Solaris
etc.
7. Data Storage
Databases on clouds don't make sense
Traditional modes of data storage won't work
Clouds are inherently stateless, ephemeral
Scalability is crucial
Databases still are a bottleneck
… and single point of failure!
8. Data Storage
Data expansion
Web 2.0, rich mobile clients, multimedia content
Databases can’t cope with the volume
Dynamic structure
Schema-less designs
Partial-schemas
9. A solution: Data Grids!
Data grids are perfect for clouds
Highly scalable
No single point of failure
Works with ephemeral cloud nodes
Very low latency
Data grids
10. Data Grids - Speed!
Very low latency due to minimal disk lookup
Memory 2 orders of magnitude faster than disk
Especially for frequently used data
Far greater concurrency
Disk IO is always a concurrency bottleneck
Memory offers far greater concurrency
11.
12. Introducing Infinispan
Scalable data grid platform
open source - LGPL
Based on some JBoss Cache code
... but mostly all-new
Infinispan...
... is a data grid platform
... has a Map-like API - compatible with JSR-107
(JCACHE)
13. Infinispan != JBoss Cache 4
New Architecture
Internal data container design completely different
Cutting edge algorithms
New APIs
APIs completely different
Not backward-compatible
Although an code-level compatibility layer is available
New Expectations and aspirations
Designed for a wider scope of purpose
14. “Borrowed” from JBoss Cache
JTA transactions
Replicated data structure
Eviction, cache persistence
Notifications and eventing API
JMX reporting
Fine-grained replication
MVCC locking
Non-blocking state transfer techniques
Query API
15. … and new features!
Consistent hash based data distribution
Much simpler Map API (JSR-107 compliant)
JPA-like API
Client/server module
memcached compatibility
HotRod - binary protocol to support “smart clients”
REST API
REST-* caching spec effort
16. … and new features!
Ability to be consumed by non-JVM platforms
JOPR based GUI management console
Distributed execution
Map/reduce programming model made easy!
17. Data distribution
Consistent hash based data distribution
Locating entries very efficient
No network calls
No need for metadata
Will allow us to scale to bigger clusters
Goal of efficient scaling to 1000’s of nodes
Lightweight, “L1” cache for efficient reads
On writes, “L1” gets invalidated
Dynamic rebalancing
18. JPA-like API, fine-grained
replication
Successor to POJO Cache
JPA-like interface: persist, find, remove...
Will not rely on AOP, javassist, etc.
More robust and easier to use/debug
Familiar JPA-like interface
Easy migration from existing, “traditional” datastores!
19. Management
Uses JOPR
Simple WAR file
Rich web-based GUI
Open Source (LGPL)
Infinispan likes JMX
exposes all data, operations in JMX
Infinispan-JOPR plugin represents this graphically
21. Why is Infinispan sexy?
Transparent horizontal scalability
Elastic in both directions
Fast, low latency data access
Ability to address a very large heap
Cloud-ready datastore
Not just for Java
Free and doesn't suck!
22. To sum it up
Clouds are becoming mainstream
Developers need to think about challenges involved
DBs and clouds pose many challenges
Data grids offer a good alternative
Infinispan, a new open source data grid
Viable cloud data store
Not just for clouds: remove bottlenecks and single
points of failure in non-cloud environments too
23. Thanks for your attention!
http://www.infinispan.org
http://blog.infinispan.org
http://twitter.com/infinispan
#infinispan on Twitter