Hazelcast distributed map implementation is an in-memory data store but it can be backed by any type of data store such as RDBMS, OODBMS, or simply a file based data store.
IMap.get(key) normally returns the value that is available in-memory. If the entry doesn't exist in-memory, Hazelcast returns null. If a Loader implementation is provided then, instead of returning null, Hazelcast will load the unknown entry by calling the implementation's load (key) or loadAll(keys) methods. Loaded entries will be placed into the distributed map and they will stay in-memory until they are explicitly removed or implicitly evicted (if eviction is configured).