Wednesday, January 11, 2012

[RFC] CDC - Community Distributed Cache

Time to discuss a new member for the CTools:

CDC - Community Distributed Cache

 Objective

CDC is a new plugin to allow usage of a distributed cache engine implemented using Hazelcast in two distinct scenarios:

1. Mondrian Cache
2. CDA Cache


Features

  • Regarding the Mondrian Cache, the plugin should allow toggling between Hazelcast and the default Mondrian cache. This is achieved by changing the properties file for mondrian
  •  As for the CDA cache, the plugin should also allow changing from Hazelcast to the existing cache provider and vice versa.
  •  Plugin should provide an easy to use way to install an Hazelcast node in a standalone machine, enabling it to join the cache cluster.

Besides the backend functionality, the plugin must have an user interface (can be a cde dashboard, for instance) that allows:

1.Toggling between cache providers both for  Mondrian and for CDA

2. Checking cache status (Running or not running / How many elements are cached)

3. Change cache strategy and parameters

4. Graphically view cluster composition (how many hazelcast nodes and where they are) and related information (percentage memory used, number of cached elements in each node - we need to check what is exposed by Hazelcast)

5. Cache cleaning operation.

6. View cached information - Ability to see cached key/values and ability to search by key (again, check what Hazelcast provides for this kind of operations).


A way to clean individual cache blocks in Mondrian is also needed. By this we mean that we should be able to easily clean the cache entries related to a given cube or query. This should also be supported by a gui that enables drilling down on the cubes metadata.
This funcionality can either be developed as part of the Community Distributed Cache or as a standalone plugin.

---------

This is what we have in plan - Any comments, features, requests?

3 comments:

  1. Hi Pedro,

    sounds great.

    I propose a cache cleaning API/service, ideally with a PDI Plugin on top, to trigger cleaning of cache blocks as part of the loading process.

    ReplyDelete
  2. Hello Pedro,

    I would like to collaborate with the project. I am a teacher and researcher in a couple of universities in my country, in February to resume my activities, I coordinate grade final papers, in february, I contact again with my students, there is the possibility of cooperating with the project through the work of my students?
    You provide information needed to cooperate?

    regards
    Mariano

    ReplyDelete
  3. Ingo, added that requirement to our work process.

    Mariano - All help is welcomed! Bring it on, my email is pedro.alves webdetails.pt

    ReplyDelete