Red Hat’s JBoss Data Grid is an open source, distributed, in-memory key/value data store built from the Infinispan open source software project. Whether deployed in client/server mode or embedded in a Java Virtual Machine, it is built to be elastic, high performance, highly available and to scale linearly.
JBoss Data Grid is accessible for both Java and non-Java clients. Using JBoss Data Grid, data is distributed and replicated across a manageable cluster of nodes, optionally written to disk and easily accessible using the REST, Memcached and Hot Rod protocol, or directly in process through a traditional Java Map API.
The key features of JBoss Data Grid are:
- Schema-less key/value store for storing unstructured data
- Querying to easily search and find objects
- Security to store and restrict access to your sensitive data
- Multiple access protocols with data compatibility for applications written in any language, using any framework
- Transactions for data consistency
- Distributed execution and map/reduce API to perform large scale, in-memory computations in parallel across the cluster
- Cross-datacenter replication for high availability, load balancing and data partitioning
What’s new in 6.3 ?
- Expanded security for your data
- User authentication via Simple Authentication and Security Layer (SASL)
- Role based authorization and access control to Cache Manager and Caches
- New nodes required to authenticate before joining a cluster
- Encrypted communication within the cluster
- Deploy into Apache Karaf and WebLogic
- Use as an embedded or distributed cache in Red Hat JBoss Fuse integration flows
- Enhanced map/reduce
- Improved scalability by storing computation results directly in the grid instead of pushing them back to the application
- Takes advantages of hardware’s parallel processing power for greater computing efficiencies
- New JPA cache store that preserves data schema
- Improved remote query and C# Hot Rod client in technology preview
- JBoss Data Grid modules for JBoss Enterprise Application Platform (JBoss EAP)
The complete list of new and updated features is described here.
How can this be installed on JBoss EAP ?
JBoss Data Grid has 2 deployment modes:
- Library mode (embedded distributed caches)
- Client-Server mode (remote distributed cache) – Install the Hot Rod client JARs in EAP, and have application reference these jars to use the Hot Rod protocol to connect to the JBoss Data Grid Server (remote cache).
Why a new C# client ?
The remote Hot Rod client is aware of the cluster topology and hashing scheme on Server and can get to a (k,v) entry in a single hop. In contrast, REST and memcached usually require an extra hop to get to an entry. As a results, Hot Rod protocol has higher performance, and is the preferred protocol (in Client-Server mode). JBoss Data Grid 6.1 only had a Java Hot Rod client – for all other languages, customers had to use memcached or REST. JBoss Data Grid 6.2 added C++ Hot Rod client. And now JBoss Data Grid 6.3 added a Tech Preview of C# client.
Infinispan has a lot more Hot Rod clients.
How would somebody use JBoss Data Grid with JBoss Fuse ?
The primary purpose is caching in integration workflows.
For example, remote JBoss Data Grid can be used with Fuse to cache search results.
REST can be used to communicate with a remote cache, but Hot Rod can now be used starting with JBoss Data Grid 6.3.
We plan to productize the camel-infinispan component in a future release.
Why would somebody use JBoss Data Grid on WebLogic ?
Customers who run WebLogic stack and eventually want to migrate to JBoss stack can start migration by replacing Oracle Coherence with JBoss Data Grid. And here is a comparison between the two offerings:
The complete documentation is available here and quick references are below:
- Release Notes
- Getting Started Guide
- Administration and Configuration Guide
- API Documentation
- Developer Guide
- Infinispan Query Guide
- Feature Support Document
Some useful references: