[kepler-dev] Replacing DataCacheManager with CacheManager.
Kevin Ruland
kruland at ku.edu
Tue Dec 13 08:21:44 PST 2005
Bertram,
I don't think I was very clear. In order to utilize the cache you must
be able to determine if the object you desire is in the cache prior to
doing the long running process/query to retrieve it. This means you
need to be able to determine what the cache key (I'm avoiding the term
lsid intentionally) of the object is based on the information you have
at hand prior to issuing the query. If the only way to get the cache
key is to actually issue the query, then you might as well not use a
cache at all because you will always reissue the query.
The quick search thing utilizes this information in order to issue the
query:
Service end point.
Query string.
So you need to be able to munge this data in order to come up with the
cache key.
If the only key into the CacheManager is the lsid and the lsid is
generated by the server, then we need another caching mechanism just for
ecogrid resultsets. Since the only functional difference between this
alternative cache system and the CacheManger is the cache key structure
we will end up with significant code duplication. One way to eliminate
the code duplication is to build the CacheManger on top of a more
general cache management system which utilizes simple strings as the
cache key and rely on the natural conversion from Lsid object to string
representation.
I don't really understand the provinance system nor how it works into
this. But I wouldn't doubt that scientists will need to be able to
"import" data from some external system through simple text files or
graphical images. Requiring the generation of an LSID for such files
might seem a little unnatural. Don't really know where this thought it
headed right now and probably requires some insight from people who know.
Kevin
Bertram Ludaescher wrote:
>Hi Kevin:
>
>In general, intermediate data results, including a result-set of a
>query or the products of arbitrary acts might very well have an lsid
>and you even gave the reason for it ;-)
>
>Because the 2nd time around, when you run the same query and you get a
>different result, using the different assigned lsids, you might be
>able to "spot the difference" (provided the lsids can be dereferencesd
>and give you the results).
>
>
>
More information about the Kepler-dev
mailing list