views:

187

answers:

2

Weired but I am investigating the Oracle Coherence as a substitue for distribute cache. My primarr problem is that we dont have distribituted cache as such as of now in our app. Thats my major concern. And thats what I want to implement. So, lets say if I take up a machine and start a new (3rd) reading process, it will be able to connect to the cache and listen to the cache and will have a full set of cache triplicated (as of now its duplicated) Now thats waste from a common person stanpoint too. The size of the cache is 2 GB and without going distibuted its limiting us.

Thats bring me to Coheremce.

But now, we dont have database as persistent store too. we have the archival processes as our persistent store. (90 days worth of data) Ok now multiply that with soem where around 2 GB * 90 (thats the bare minimum we want to keep).

Preliminary/Intermediate analysis of Coherence as a solution.

And a (supposedly) brilliant thought crossed my mind. Why not have this as persistant storage with my distributed cache. Does Oracle Coherence support that. I will get rid of archiving infrastructure too (i hate daemon archiving processes). For some starnge reasons, I dont wanna go to the DB to replace those flat files.

What say?, can Coherence be my savior? Any other stable alternate too. (Coherence is imposed on me by big guys, FYI)

A: 

You can do most of the above with Coherence. Since it's mainly an in-memory store, you will need enough physical RAM to store 90*2Gb (but not all of this needs to be in one VM, or one machine, obviously.) Coherence also has persistence configuration to save and load cache data from disk, but I am not sure of the file format, probably some Coherence-specific thing.

A commercial alternative to Coherence is Gemfire. They have very similar features and about the same level of maturity. There is also, of course, a good open-source product called Ehcache.

omerkudat
Thanks omerkudat. but I think you got the 90 days archival concept bit wrong. What I mean for using Serialized structure as persistent store / or backup store whatever it is called, I expect then Coherence processes to take care of pushing / updating the data in the files through some strategy (and approach cleaner than daemon archiving hooks) and so the RAM requirement stands at 2 Gb CAP. Otherwise whats the sue of cache , right?
Also looking for the Coherence related answers as of now. Links to respective Coherence terminologies for the requirement would be added (and in a way needed, as I wnat to come to tehir terms fast ) help. Many thanks.
A: 

Try Hazelcast!

Hazelcast (http://www.hazelcast.com) is an open source, transactional, distributed caching solution for Java.

Hazelcast is actually a little more than a distributed cache; it is distributed implementation of queue, topic, map, multimap, lock, executor service for Java.

Read about 100 node Hazelcast cluster here.

Talip Ozturk