Hi Manik,<div><br></div><div>Actually, I started the thread on the user-forum. However, Sanne suggested to discuss the use case on the developer&#39;s mailing list (see the link for the user-forum discussion at the end of my last email).</div>
<div>&quot;<span class="Apple-style-span" style="color: rgb(91, 91, 91); font-family: &#39;Lucida Sans&#39;, &#39;Lucida Sans Unicode&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; background-color: rgb(255, 255, 255); ">If you have suggestions or interesting use cases they are very welcome on the developer&#39;s mailing list, or you can open feature requests directly on JIRA if you have a very clear idea of your need already.&quot;</span></div>
<div><span class="Apple-style-span" style="color: rgb(91, 91, 91); font-family: &#39;Lucida Sans&#39;, &#39;Lucida Sans Unicode&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; background-color: rgb(255, 255, 255); "><br>
</span></div><div>Albeit, I find this case interesting - let me know if this is trivial and we can discuss it further on the user-forum.</div><div><br></div><div>Thanks,</div><div>Kapil</div><div><br></div><div><div class="gmail_quote">
On Fri, Sep 9, 2011 at 5:56 AM, Manik Surtani <span dir="ltr">&lt;<a href="mailto:manik@jboss.org">manik@jboss.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div style="word-wrap:break-word">Hi Kapil - please don&#39;t post such questions to this mail list; use the user forums instead.<div><br><div><div><div></div><div class="h5"><div>On 9 Sep 2011, at 05:23, kapil nayar wrote:</div>
<br></div></div><blockquote type="cite"><div><div></div><div class="h5">We have two data sets {A1, A2, A3...} and {B1, B2, B3...}<br>Each B has some associated data {C1, C2, C3....}  which has 1:1 mapping. <br><br>The mappings would be something like (assume that C would be stored along side B):<br>

A1-&gt; B1, B2<br>A2-&gt; B3, B5<br>A3-&gt; B4, B6, B7<br><br>Now, we would need the following indexes:<br>A-&gt;B and B-&gt;A<br><br>Notice, that both are unique mappings. However, as shown A has multiple mappings to B.<br>

The big-table type of data structure allow this and make it pretty easy off the shelf.<br>

<br>Now, I am trying to explore if we can implement these mappings with Infinispan.<br>We may need a basic multi-map - to store multiple values for the same key in the cache.<br>
<br>1. The &quot;get&quot; would return the complete list of the values.<br>2. The &quot;put&quot; would add the new value without replacing the existing value.<br>3. The &quot;remove&quot; would remove a specific value or optionally all values associated with the key.<br>

4. These operations (especially &quot;put&quot;) on the same key can occur simultaneously from multiple nodes.<br><br>I know there is an atomic map option in Infinispan which may be applicable, but AFAIK it requires transactions (which we want to avoid..).<br>

<br>Alternatively, perhaps Infinispan (in combination with lucene) can be used.<br>1. We should be able to create data structure {B, C} and store A-&gt; {B,C} with indexes defined for B.<br>2. Also, the key A could be structured as a combination of A+B to store multiple entries like A1B1-&gt;{B1,C1} and A1B2-&gt;{B2,C2}. Lucene would allow wild carded searches. e.g. To look for all A1 values we could do something like A1* which should return both A1B1 and A2B2....I may be making some assumptions here (feel free to correct!)<br>

3. There seems to be one bottleneck though - since the cache mode is &quot;distribution&quot;, it seems it is mandatory to use a backend DB to store these indexes and moreover the DB needs to be shared. This requirement actually seems to defeat the purpose of using Infinispan.<br>

<br>Any ideas for achieving this implementation would be greatly appreciated.<br><br>For reference this email is further to the user forum thread <a href="http://community.jboss.org/message/622996#622996" target="_blank">http://community.jboss.org/message/622996#622996</a><br>

<br>Thanks,<br>Kapil<br><br></div></div>
_______________________________________________<br>infinispan-dev mailing list<br><a href="mailto:infinispan-dev@lists.jboss.org" target="_blank">infinispan-dev@lists.jboss.org</a><br><a href="https://lists.jboss.org/mailman/listinfo/infinispan-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/infinispan-dev</a></blockquote>
</div><br><font color="#888888"><div>
<span style="border-collapse:separate;color:rgb(0, 0, 0);font-family:Helvetica;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:auto;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;font-size:medium"><div>
<div>--</div><div>Manik Surtani</div><div><a href="mailto:manik@jboss.org" target="_blank">manik@jboss.org</a></div><div><a href="http://twitter.com/maniksurtani" target="_blank">twitter.com/maniksurtani</a></div><div><br>
</div><div>Lead, Infinispan</div><div><a href="http://www.infinispan.org" target="_blank">http://www.infinispan.org</a></div><div><br></div></div></span><br>
</div>
<br></font></div></div><br>_______________________________________________<br>
infinispan-dev mailing list<br>
<a href="mailto:infinispan-dev@lists.jboss.org">infinispan-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/infinispan-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/infinispan-dev</a><br></blockquote></div><br></div>