DBDB.io The Encyclopedia of Database Systems · Est. 2017
Database of Databases

Database Entry

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.[03][01][02]

Source Code
https://github.com/hazelcast/hazelcast[02]
Developer
Country of Origin
US
Project Types
Commercial, Open Source
License
Apache v2

Database Entry

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.[03][01][02]

History[03][04][05]


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[02][06]


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.

Query Interface[03][07]


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[08]


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.

System Architecture


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 and performs equal amount of processing/computation.

Derivative Systems
Bagri Bagri

Citations

8 sources
  1. Hazelcast | Unified Real-Time Data Platform for Instant Action hazelcast.com
  2. GitHub - hazelcast/hazelcast: Hazelcast is a unified real-time data platform combining stream processing with a fast data store, allowing customers to act instantly on data-in-motion for real-time insights. · GitHub github.com
  3. Hazelcast - Wikipedia wikipedia.org
  4. https://www.linkedin.com/company/hazelcast/about linkedin.com
  5. Commits · hazelcast/hazelcast · GitHub github.com
  6. Hazelcast IMDG Reference Manual hazelcast.org
  7. Hazelcast IMDG Reference Manual hazelcast.org
  8. Hazelcast IMDG Reference Manual hazelcast.org
Revision #10 Last Updated: