Hazelcast persistence and local file system

800 views
Skip to first unread message

chefho...@gmail.com

unread,
Sep 22, 2015, 1:29:43 PM9/22/15
to Hazelcast
In the 3.5 documentation there is this note:

Data store needs to be a centralized system that is accessible from all Hazelcast Nodes. Persistence to local file system is not supported.

Can somebody elaborate on why this is the case? I have a relatively simple need to persist json job data that hardly seems worth requiring an additional storage tier with its attendant deployment and management overhead. If I implement the MapStore and MapLoader interfaces such that they read/write from/to the local file system, what can I expect will happen?

Is this something that will eventually be supported?

Noctarius

unread,
Sep 22, 2015, 1:50:08 PM9/22/15
to haze...@googlegroups.com
Hey,

If one node fails and won't start up anymore you loose those data. In addition there is no guarantee that the partition assignment will look the same after a restart of the cluster. Load operations, therefore, have to request values on all nodes.

Chris
--
You received this message because you are subscribed to the Google Groups "Hazelcast" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hazelcast+...@googlegroups.com.
To post to this group, send email to haze...@googlegroups.com.
Visit this group at http://groups.google.com/group/hazelcast.
To view this discussion on the web visit https://groups.google.com/d/msgid/hazelcast/c3d8e553-3896-4285-926e-4c4152e695a5%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

chefho...@gmail.com

unread,
Sep 22, 2015, 2:56:10 PM9/22/15
to Hazelcast
Thank you for the quick response.

So if I need persistence across node/cluster restarts, I will need to consider deploying an additional storage service, right?

It seems to me that the information at this link is a little misleading: https://hazelcast.com/use-cases/nosql/redis-replacement/

If I'm considering using, for example, Redis with persistence, I don't also have to deploy a separate storage service and write serialization code to use it, so I can't just simply drop Redis and consider Hazelcast.

But, I understand now - thanks for the feedback.

Nils Kilden-Pedersen

unread,
Sep 23, 2015, 7:33:58 PM9/23/15
to haze...@googlegroups.com
Be careful not to compare single instance Redis with clustered Hazelcast. Single instance Redis doesn't provide HA nor partitioning (sharding), which comes out of the box with Hazelcast.

If you want sharding and HA with Redis, you'll be facing similar issues, not to mention it's a much more manual process.

See:

E.g. Redis client-side partitioning (smart clients in Hazelcast) doesn't support transparent elasticity, due to the same issues mentioned with Hazelcast.

But, if you really need this, you could level the playing field and only run a single instance of Hazelcast. That way you can use local file storage, just like single instance Redis, but you won't get HA or load balancing. Caveat: I don't recommend this.
 

But, I understand now - thanks for the feedback.

--
You received this message because you are subscribed to the Google Groups "Hazelcast" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hazelcast+...@googlegroups.com.
To post to this group, send email to haze...@googlegroups.com.
Visit this group at http://groups.google.com/group/hazelcast.
Reply all
Reply to author
Forward
0 new messages