I am debating using couches server for an application that I have been working on the design for. One thing, however, concerns me. The application I am building will have a very high level of concurrency and the only way to manage that in a reasonable way is to use a memory cache of some kind. I am very familiar with Hazelcast and its operation so I wanted to know if Couchbase provided the distributed memory caching tech or if I needed to stack Hazelcast on top of Couchbase.
The basic principle is that I will have data that will get hammered by the application. In Hazelcast I would read this data out of the concurrent store and put it in the cache and then all of the nodes in the cluster would have the data which would be serialized between machines. The question is if I have Couchbase connected to a cluster and read an object will that create a distributed memory cache like Hazelcast or will each node have to independently read and store the data. Of course if that is the case this becomes problematic because any changes to that data need to be reflected across the whole cluster without requiring the data to be actively searched again.
Any advice here would be appreciated.