I am looking for a JVM library implementing ConcurrentHashMap to store large map in local memory. Expected to have 20,000,000 items in this map with overall size of 2-3 Gb. No need to distribute data set across hosts.
Load mostly reads with a few writes. Infrequient writes are snapshot updates when whole map content should be replaced with new data.
Would prefer a library with a minimum of dependencies to simplify integration. Would be nice to re-package the library with jarjar for re-distirbution inside my own package.
So far I encountered * ChronicleMap * Apache Ignite * Hazelcast
Could you please recommend which one of those fit my use case better?