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.[04][01][02]
- Website
- https://hazelcast.com[01]
- Source Code
- https://github.com/hazelcast/hazelcast[02]
- Tech Docs
- https://docs.hazelcast.com[03]
- @hazelcast
- Developer
- Country of Origin
- US
- Start Year
- 2008 [11]
- Project Types
- Commercial, Open Source
- Written in
- Java
- Operating System
- All OS with Java VM
- License
- Apache v2
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.[04][01][02]
History[04][05][06]
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.
Data Model[02][07]
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[08]
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[04][09]
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. Hazelcast also supports integration with new persistent memory technologies such as Intel Optane.
Storage Model[08]
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[10][07]
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.
Bagri
Citations
11 sources- Hazelcast | Unified Real-Time Data Platform for Instant Action hazelcast.com
- 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
- Hazelcast Documentation hazelcast.com
- Hazelcast - Wikipedia wikipedia.org
- https://www.linkedin.com/company/hazelcast/about linkedin.com
- Commits · hazelcast/hazelcast · GitHub github.com
- Hazelcast IMDG Reference Manual hazelcast.org
- Hazelcast IMDG Reference Manual hazelcast.org
- Hazelcast IMDG Reference Manual hazelcast.org
- Hazelcast IMDG Reference Manual hazelcast.org
- Initial directory structure. git-svn-id: http://hazelcast.googlecode.com/svn/trunk@1 3f8e66b6-ca9d-11dd-a2b5-e5f827957e07 github.com