This is a prerelease version.

View latest

Tiered Storage

Tiered Storage offers an extension to Hazelcast map, which allows you to store a larger data set than available memory.

If your Enterprise license was generated before Hazelcast Platform version 5.2, you’ll need a new Enterprise license that enables Tiered Storage. See Managing Enterprise License Keys.

What Can You Do with Tiered Storage?

Have fewer Hazelcast members for large maps. For example, for a map with 1 TB of data, you’ll need ten Hazelcast members if all data is kept in memory and each member has 100 GB of data. Tiered Storage allows you to split the data between memory and disks, which requires fewer cluster members depending on how the data is distributed.

How Does Tiered Storage Work?

Tiered Storage uses the following:

  • An in-memory index to allow faster access to map entries.

  • A special memory manager to decide which entries to store in the memory tier or the disk tier. If a map entry is not accessed for some time, it gets flushed to the disk. If a map is frequently accessed, it stays in memory.

Not Yet Supported

  • Data recovery from persisted data: When a Hazelcast member has Tiered Storage enabled and it fails or shuts down, you are not able to use the local device files of Tiered Storage for data recovery. Data recovery will be supported in the future releases.

  • Time-to-live (TTL) expiration is not supported by the Tiered-Storage-backed maps. This means that methods, such as IMap.put, throw UnsupportedOperationException if a TTL value is provided. If the default TTL setting is present in the map configuration, InvalidConfigurationException is thrown during the member startup.

  • Max-Idle expiration is not supported by the Tiered-Storage-backed maps. This means that methods, such as IMap.put, throw UnsupportedOperationException if a Max-Idle value is provided. If the default Max-Idle setting is present in the map configuration, InvalidConfigurationException is thrown during the member startup.

  • Eviction is not supported. If an eviction policy is configured for a Tiered-Storage-backed map, InvalidConfigurationException is thrown during the member startup.

  • Data Persistence and Tiered Storage are mutually exclusive features. If both are enabled simultaneously, InvalidConfigurationException is thrown during the member startup.

  • SQL is not supported for the Tiered-Storage-backed maps. UnsupportedOperationException is thrown when SQL query is executed. To avoid this, use Predicate API instead.