In-Memory Data Grid 'Puts Java Locks on Steroids'
- By John K. Waters
- February 26, 2019
Hazelcast today announced the beta release of the latest version of its namesake in-memory data grid, Hazelcast IMDG 3.12. With this release, the company adds new features focused on data integrity, cloud interoperability and performance-sensitive data storage.
This version should be of particular interest to Java developers because it's the first to include a new Consistency (CP) Subsystem module for sensitive concurrency structures. The CP Subsystem module contains new implementations of Hazelcast's concurrency APIs on top of the Raft consensus algorithm, which makes Hazelcast is the first IMDG to offer a linearizable and distributed implementation of the Java concurrency primitives backed by the Raft consensus algorithm.
"As the name of the module implies, these implementations are CP with respect to the CAP [consistency, availability and partition resistance] principle and they live alongside AP data structures in the same Hazelcast IMDG cluster," explained Hazelcast distributed systems engineer Ensar Basri Kahveci, in a blog post. "They maintain linearizability in all cases, including client and server failures, network partitions and prevent split-brain situations. We also reiterated and clarified distributed execution and failure semantics of our APIs, as well as made a lot of improvements on the API level. Last, we introduce a new API, FencedLock, that extends the semantics of java.util.concurrent.locks.Lock to cover various failures models we can face in distributed environments. We have been also verifying the new CP Subsystem via an extensive Jepsen test suite. We made use of the Jepsen tool to discover many subtle bugs as we were developing the new system. We have Jepsen tests for IAtomicLong, IAtomicReference, ISemaphore and FencedLock."
"We put Java locks on steroids!" Kahveci added in a tweet.
Hazelcast now provides both a CP Subsystem and an Availability (AP) Subsystem for data storage structures that favor availability over consistency. By offering both AP and CP subsystems, the company said in a statement, Hazelcast offers customers the ability to fine-tune the in-memory data grid to suit the application and provide a consistent, stable end-user experience.
The Hazelcast IMDG is an open-source product distributed under an Apache 2 license that allows developers to include the grid in their applications. Hazelcast Enterprise is the commercially supported version.
Hazelcast IMDG 3.12 also comes with amped up support for Kubernetes; support for first-class JSON data structures across all language clients; and new Blue/Green Deployments, which enables progressive rollouts and mitigates risk during software upgrades; and Automatic Disaster Recovery (DR) failover.
Palo Alto, Calif.-based Hazelcast has roots planted deeply in the Java language and platform (its IMDG is written in Java), but the company has spread its support over the years, thanks in part to the efforts of its open source community, to include several clients and programming languages.
Hazelcast IMDG 3.12 is now available in beta, with general availability expected in March 2019.
John K. Waters is the editor in chief of a number of Converge360.com sites, with a focus on high-end development, AI and future tech. He's been writing about cutting-edge technologies and culture of Silicon Valley for more than two decades, and he's written more than a dozen books. He also co-scripted the documentary film Silicon Valley: A 100 Year Renaissance, which aired on PBS. He can be reached at [email protected].