Hazelcast
In computing, Hazelcast IMDG is an open source in-memory data grid based on Java. It is also the name of the company developing the product. The Hazelcast company is funded by venture capital and headquartered in San Mateo.[3][4]
![]() | |
Developer(s) | Hazelcast |
---|---|
Stable release | 4.0
/ February 4, 2020[1] |
Written in | Java |
Type | in-memory data grid, Data structure store |
License | Hazelcast: Apache 2.0 [2] Hazelcast Enterprise: Proprietary |
Website | hazelcast |
In a Hazelcast grid, data is evenly distributed among the nodes of a computer cluster, allowing for horizontal scaling of processing and available storage. Backups are also distributed among nodes to protect against failure of any single node. Hazelcast provides central, predictable scaling of applications through in-memory access to frequently used data and across an elastically scalable data grid. These techniques reduce the query load on databases and improve speed.
Hazelcast can run on-premises, in the cloud (Amazon Web Services, Microsoft Azure, Cloud Foundry, OpenShift), virtually (VMware), and in Docker containers. Hazelcast offers technology integrations for multiple cloud configuration and deployment technologies, including Apache jclouds, Consul, etcd, Eureka, Kubernetes, and Zookeeper. The Hazelcast Cloud Discovery Service Provider Interface (SPI) enables cloud-based or on-premises nodes to auto-discover each other.
The Hazelcast platform can manage memory for many different types of applications. It offers an Open Binary Client Protocol to support APIs for any binary programming language. The Hazelcast and open source community members have created client APIs for programming languages that include Java, Scala, .NET Framework, C++, Python, Node.js, Go and Clojure. Java and Scala can be used for both clients and embedded members.
Usage
Typical use-cases for Hazelcast include:
- Application scaling
- Cache-as-a-service
- Cross-JVM communication and shared storage
- Distributed cache, often in front of a database
- In-memory processing and Analytics
- In-memory computing
- Internet of Things infrastructure
- Key-value database
- Memcached alternative with a protocol compatible interface[5]
- Microservices infrastructure
- NoSQL data store
- Spring Cache
- Web Session clustering
Hazelcast is often used as an underlying library or system onto which other higher level features are built. For example, Vert.x utilizes it for shared storage.[6]
Hazelcast is also used in academia and research as a framework for distributed execution and storage.
- Cloud2Sim[7][8] leverages Hazelcast as a distributed execution framework for CloudSim cloud simulations.
- ElastiCon[9] distributed SDN controller uses Hazelcast as its distributed data store.
- ∂u∂u[10] exploits Hazelcast as its distributed execution framework for near duplicate detection in enterprise data solutions.
Timeline
- February 4, 2020: release of Hazelcast 4.0
- August 2, 2019: release of Hazelcast 3.12.2
- June 11, 2019: release of Hazelcast 3.12.1
- April 9, 2019: release of Hazelcast 3.12
- May 9, 2019: release of Hazelcast 3.11.4
- April 13, 2019: release of Hazelcast 3.11.3
- February 16, 2019: release of Hazelcast 3.11.2
- June 6, 2018: release of Hazelcast 3.10.2
- July 4, 2017: release of Hazelcast 3.9
- March 14, 2017: release of Hazelcast 3.8
- August 23, 2016: release of Hazelcast 3.7
- January 21, 2016: release of Hazelcast 3.6
- June 17, 2015: release of Hazelcast 3.5
- August 2, 2013: release of Hazelcast 3.0
- March 2, 2012: release of Hazelcast 2.0
- March 1, 2009: release of Hazelcast 1.5
See also
References
- "Hazelcast 4.0 release notes". Hazelcast.org. Retrieved 2019-02-04.
- https://github.com/hazelcast/hazelcast#user-content-license
- "Java In-Memory Grid Hazelcast gets venture capital funding from Bain Capital". Infoq.com. 2013-09-18. Retrieved 2013-12-11.
- "Hazelcast adds $11M to grow its business based on an open-source in-memory data grid".
- Hazelcast. "Memcache Client". Retrieved 2015-08-06.
- Jaehong Kim. "Understanding Vert.x Architecture - Part II". CUBRID. Retrieved 2012-12-16.
- Kathiravelu, Pradeeban; Veiga, Luís (9 September 2014). Concurrent and Distributed CloudSim Simulations. IEEE 22nd International Symposium on Modelling, Analysis & Simulation of Computer and Telecommunication Systems (MASCOTS). Paris. pp. 490–493. doi:10.1109/MASCOTS.2014.70.
- Kathiravelu, Pradeeban; Veiga, Luís (8 December 2014). An Adaptive Distributed Simulator for Cloud and MapReduce Algorithms and Architectures. IEEE/ACM 7th International Conference on Utility and Cloud Computing (UCC), 2014. London. pp. 79–88. doi:10.1109/UCC.2014.16.
- Dixit, Advait Abhay; Hao, Fang; Mukherjee, Sarit; Lakshman, TV; Kompella, Ramana (20 October 2014). ElastiCon: an elastic distributed sdn controller (pdf). Tenth ACM/IEEE symposium on Architectures for networking and communications systems. pp. 17–28. Retrieved 2 January 2016. Alt URL
- Kathiravelu, Pradeeban; Galhardas, Helena; Veiga, Luís (28 October 2015). ∂u∂u Multi-Tenanted Framework: Distributed Near Duplicate Detection for Big Data. On the Move to Meaningful Internet Systems: OTM 2015 Conferences. Rhodes, Greece. pp. 237–256. doi:10.1007/978-3-319-26148-5_14.