On Feb 17, 2014, at 5:36 PM, Galder Zamarreño <gal...@redhat.com> wrote:
> > On 31 Jan 2014, at 09:28, Emmanuel Bernard <emman...@hibernate.org> wrote: > >> >> >>> On 30 janv. 2014, at 20:51, Mircea Markus <mmar...@redhat.com> wrote: >>> >>> >>>> On Jan 30, 2014, at 9:42 AM, Galder Zamarreño <gal...@redhat.com> wrote: >>>> >>>> >>>>> On Jan 21, 2014, at 11:52 PM, Mircea Markus <mmar...@redhat.com> wrote: >>>>> >>>>> >>>>>> On Jan 15, 2014, at 1:42 PM, Emmanuel Bernard <emman...@hibernate.org> >>>>>> wrote: >>>>>> >>>>>> By the way, people looking for that feature are also asking for a >>>>>> unified Cache API accessing these several caches right? Otherwise I am >>>>>> not fully understanding why they ask for a unified query. >>>>>> Do you have written detailed use cases somewhere for me to better >>>>>> understand what is really requested? >>>>> >>>>> IMO from a user perspective, being able to run queries spreading several >>>>> caches makes the programming simplifies the programming model: each cache >>>>> corresponding to a single entity type, with potentially different >>>>> configuration. >>>> >>>> Not sure if it simplifies things TBH if the configuration is the same. >>>> IMO, it just adds clutter. >>> >>> Not sure I follow: having a cache that contains both Cars and Persons sound >>> more cluttering to me. I think it's cumbersome to write any kind of >>> querying with an heterogenous cache, e.g. Map/Reduce tasks that need to >>> count all the green Cars would need to be aware of Persons and ignore them. >>> Not only it is harder to write, but discourages code reuse and makes it >>> hard to maintain (if you'll add Pets in the same cache in future you need >>> to update the M/R code as well). And of course there are also different >>> cache-based configuration options that are not immediately obvious (at >>> design time) but will be in the future (there are more Persons than Cars, >>> they live longer/expiry etc): mixing everything together in the same cache >>> from the begging is a design decision that might bite you in the future. >>> >>> The way I see it - and very curious to see your opinion on this - following >>> an database analogy, the CacheManager corresponds to an Database and the >>> Cache to a Table. Hence my thought that queries spreading multiple caches >>> are both useful and needed (same as query spreading over multiple tables). >> >> I know Sanne and you are keen to have one entity type per cache to be able >> to fine tune the configuration. I am a little more skeptical but I don't >> have strong opinions on the subject. >> >> However, I don't think you can forbid the case where people want to store >> heterogenous types in the same cache: >> >> - it's easy to start with >> - configuration is indeed simpler >> - when you work in the same service with cats, dogs, owners, addresses and >> refuges, juggling between these n Cache instances begins to be fugly I >> suspect - should write some application code to confirm >> - people will add to the grid types unknown at configuration time. They >> might want a single bucket. > > +100 Totally agreed, there's no plan to forbid people storing heterogenous values in the same cache. The discussion at hand was actually the other way around: do we want to allow people to store data in multiple caches? if so we querying across multiple caches makes sense, hence this email. Cheers, -- Mircea Markus Infinispan lead (www.infinispan.org) _______________________________________________ infinispan-dev mailing list infinispan-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/infinispan-dev