I’m trying to understand Hazelcast library. Online studies says its an in-memory data grid and works on distributed network. Beyond that am very confused to understand this.
Correct me if am wrong(My understanding). Here working on distributed network means that some data is stored in Hazelcast’s in-memory data grid which is accessible to all nodes in cluster ? Is it correct ? Any node in a cluster can perform (Insert or delete or update) to that in-memory data grid, and which is commonly available to all nodes.
Can anyone help me to explain what is the main purpose of Hazelcast in simple terms with any example?
2
Answers
It’s a clustered data-grid, backed by physical or virtual machines.
The features and use cases probably explain it the best (notice the menu to the left).
or explore the hazelcast content tag, to get an idea which kind of applications it enables.
You can start by thinking of Hazelcast as a cache; there are features that go beyond that but it’s a good starting point. The main advantage is that having an operational in-memory grid can provide much faster access (lower latency) than going to a database or other back-end store. Another advantage is that the clustering means that you can provide access at memory speed to an amount of data that exceeds the largest feasible Java heap or even the physical memory of any single cluster node.
Each node in the cluster manages a subset of the partitioned data. The partitioning scheme is known to all cluster members as well as to clients, so access can be made directly to the node[s] containing the needed data, spreading the I/O and processing load.
Each partition of data also has one or more backups that will be on different nodes, so if a cluster member is lost, no data is lost. Data will be re-partitioned across the remaining nodes, and new backups created where needed.