You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@marmotta.apache.org by Sebastian Schaffert <ss...@apache.org> on 2014/03/17 12:04:04 UTC

KiWi Caching Backends

Hi all,

I just now merged my changes for MARMOTTA-450 (modularized KiWi caching
backends) into the develop branch. As a result, it is now possible to
switch the caching backend used by the triple store (even at runtime)
depending on your requirements. The default caching implementation is now
very simple and based on the in-memory cache framework provided by the
Guava libraries. If you need distributed caching in a cluster of Marmotta
servers, you can choose between Infinspan Clustered, Infinispan Remote, and
Hazelcast:
- Infinispan Clustered uses a UDP-multicast cluster setup where clusters
are auto-discovered in your network; it is useful for dynamic caching
without a cache server; be aware, though, that cache rebalancing can take
some time in case the cluster topology is changed
- Infinispan Remote uses a TCP client-server setup with a central cache
server (or cluster of cache servers); it is useful if you have a number of
"dumb" Marmotta application servers that need to be restarted very quickly
without changing the cache topology
- Hazelcast is basically an alternative for Infinispan Clustered, just
using the more lightweight Hazelcast library; seems to be faster for some
setups, but I'll leave this decision open to you :)
In addition to the clustered setups, there is Guava (default) and I also
re-added the old EHCache setup as a caching backend if you prefer using
EHCache (not clustered at the moment). The caching backends now also
include a number of unit and integration tests and should be much more
reliable and efficient than before.

The default webapp launcher only includes Guava now. If you want support
for any of the other cache backends, please add them using the appropriate
profiles. For example, the maximum setup can be started with:

mvn clean tomcat7:run -Pkiwi,infinispan,hazelcast,ehcache

Tomcat will still startup with Guava as initial cache backend, but you can
then switch in the Marmotta configuration interface. We should consider if
we want to also add them to the installer or not (I would suggest yes).

Please try it out and let me know if you encounter any issues.

Greetings,

Sebastian