Use Cases

Database Caching

Organizations rely on database caching to predictably scale mission-critical applications by providing in-memory access to frequently used data. As customer data grows exponentially, organizations of all sizes are turning to in-memory solutions to scale applications to meet service level agreements, offload over-burdened shared data services, and provide availability guarantees.

The Hazelcast Approach to Database Caching

For database caching, Hazelcast IMDG stores frequently accessed data in memory across an elastically scalable data grid. This enables any network of machines to dynamically cluster and pool both memory and processors to accelerate application performance.

Hazelcast provides several mechanisms to ensure you always have the correct data in your cache and in the original data store. With read-through persistence, if an application asks the cache for data but the data is not there, Hazelcast asks the loader implementation to load that entry from the data store. With its write-through and write-behind capabilities, Hazelcast can propagate any changes in the cached data back to the original store either synchronously or asynchronously.

Hazelcast database caching

The Hazelcast Solution

With Hazelcast, nodes automatically discover and join the cluster as you grow it to meet increasing demands for low-latency performance, greater data volumes, and stricter SLAs. Hazelcast clusters have no single-point-of-failure. Their peer-to-peer network forms the basis for a robust scale-out caching solution.

Hazelcast ensures high availability by leveraging data replication, in which data is copied across the grid (each copy is known as a “backup” in Hazelcast terminology) so that failure of any node does not bring down the grid or its applications, nor does it result in data loss. Hazelcast automatically and dynamically handles the partitioning of data to ensure continuous availability and transactional integrity in the case of node failure.

In addition to elasticity and resiliency, Hazelcast provides utility classes that developers can use for distributed processing across data stored in memory in the cluster. These include continuous query interfaces for complex event processing applications, topics for high-speed messaging applications, a predicate Java API for SQL-like queries against NoSQL key-value data, and listeners and entry processors for high-speed data operations.

Hazelcast ships out of the box with multiple caching implementations that plug-and-play with best-of-breed open industry standards including Memcached, Hibernate, Spring, and JCache. Developers can port applications written in these standards to a Hazelcast cluster without modifications. This enables organizations to quickly plug in Hazelcast and benefit from elasticity and resiliency while leveraging APIs that enable powerful new ways to access distributed data.