+ 1 in general for implementing the cached registry. I am unable to find the reference to a project now, but linkedin used to have a project which exactly does the same. But in my opinion the subscription based approach is suited for database which has very infrequent writes and lots of reads. App Catolog fits this scenario. For Experiment I am not sure how well we will be able to optimize the models, one way is to split it into smaller chunks and co-relate them efficiently.
Suresh On May 27, 2014, at 12:25 PM, Saminda Wijeratne <[email protected]> wrote: > +1. > > Do you know any good frameworks which supports this? IMO the tricky part is > when to know that the data in cache has expired. Jackrabbit had a feature > where it does a callback whenever something gets updated in some tree path. > If we restrict all registry access through a single component/layer instance > we would be able to do the same by a subscription pattern. > > > On Tue, May 27, 2014 at 9:04 AM, Lahiru Gunathilake <[email protected]> wrote: > Hi Devs, > > In our current implementation we have large number of Experiment retrieval > and experiment storing happen in between experiment creation and experiment > completion. We do not really parse these data-model objects between component > and we simply parse the ids of these experiment so every component has to > retrieve them everytime. I think programatically this approach looks much > cleaner than parsing big objects. But to make this more efficient we can use > a cachedRegistry implementation as another implementation of registry and > make sure we do not get objects all the way from the database. > > Each component can init its own cache registry object and it will build a > cache on that module and update the cache if some other component had changed > the data-model objects. IMHO if we implement a good caching layer on our > current data-model airavata registry will be more efficient. > > WDYT ? > > Regards > Lahiru > > -- > System Analyst Programmer > PTI Lab > Indiana University >
