Hazelcast

Hazelcast IMDG (In Memory Data Grid) is a Java-based NoSQL open-source distributed in-memory data store and computation platform. It spreads and replicates data across a cluster of machines, therefore ensuring high availability, fault-tolerance and painless horizontal scalability. Hazelcast provides APIs for many of the most commonly used programming languages, including Java, C++, Python, Go and others. It can also be deployed on several different cloud environments, thanks to its multiple discovery plugins. Hazelcast's most common use cases include database caching, in-memory data computing and in-memory messaging.

History

Hazelcast is both the name of the product and the company that created it. The start-up was founded in 2008 by Talip Ozturk and Fuad Malikov. The first open-source implementation of Hazelcast was released at the beginning of 2009. Several updated versions have been made public since then, the latest one dating from February 4, 2020.

Data Model

Key/Value

Hazelcast's main data storage model is a partitioned and queryable in-memory key-value store. However, Hazelcast also supports a variety of additional distributed data structures derived from the Java programming language, such as Queue, Set, MultiMap, Topic and others.

Parallel Execution

Inter-Operator (Vertical)

Hazelcast uses a thread pool model for each Executor. When a task is received by Executor E, it is placed on E's work queue until one of the threads becomes free. Although they all share the same underlying hardware, Executors are fully isolated from one another.

Query Interface

Custom API

Hazelcast currently provides client implementations for the following programming languages: Java, .NET, C++, Node.js, Python, Go and Scala. Most of those APIs were implemented using the Hazelcast's Open Binary Protocol, which was released with Hazelcast version 3.6 in 2016.

Storage Architecture

In-Memory

Hazelcast is a fully in-memory distributed data store. Data is kept on the heap, in a serialized form (using the java.io.Serializable interface). Hazelcast was not initially build to persist. However, the current Entreprise version of the product implements the "Hot Restart Persistence" feature, which provides faster restarts by storing cluster member states on disk. Hazelcast also supports integration with new persistent memory technologies such as Intel Optane.

Storage Model

Custom

All data structures are kept on the heap, in serialized form. In the Entreprise version of Hazelcast, the High-Density Memory Store solves garbage collection limitations and allows efficient access of hardware memory. ---

System Architecture

Shared-Nothing

Hazelcast can be deployed on a single machine or a clusters, following a peer-to-peer model. There is no single point of failure. Every member of the cluster stores equal amount of data ( a partition) and performs equal amount of processing/computation. Partitions are also replicated across cluster members and follow a primary-copy model.

Derivative Systems

People Also Viewed