Thanks, Vladimir, got it. However, even though we may have different indexes, the data should be on the same node, if it is properly collocated. I do agree that we should try to remove extra index lookups, if possible. Do we have a ticket for it? Is it a lot of work?
D. On Wed, Oct 25, 2017 at 3:42 AM, Vladimir Ozerov <voze...@gridgain.com> wrote: > For example, currently every table in Ignite has at least two PK indexes - > one for cache operations, and another one for H2. If you have two tables > (parent - child), you have either 4 indexes (if they are in different > groups), or 3 indexes (same logical group). But even if certain tree is > shared between caches, dependent data entries are located in completely > different parts. > > With Spanner we will need only 1 index for both tables. > > On Wed, Oct 25, 2017 at 1:39 PM, Vladimir Ozerov <voze...@gridgain.com> > wrote: > > > In Spanner once parent key is found you don't need to search for child > > keys from scratch - they are located just after the parent key in the > tree. > > In Ignite child and parent keys are located in different trees, hence > more > > lookups are needed. > > > > On Wed, Oct 25, 2017 at 1:36 PM, Dmitriy Setrakyan < > dsetrak...@apache.org> > > wrote: > > > >> On Wed, Oct 25, 2017 at 3:32 AM, Vladimir Ozerov <voze...@gridgain.com> > >> wrote: > >> > >> > Dima, > >> > > >> > Yes, I saw it also. But this is not about syntax only. Spanner use > this > >> > information to store data efficiently - child entries a located near > to > >> > their parents. We can think of it as if all related tables were > logical > >> > caches inside one physical cache, sorted by the key. With this storage > >> > format it will be possible to implement very efficient co-located > joins. > >> > > >> > >> Hm... I don't think Ignite's approach for collocated joins is lees > >> efficient. However, back to Spanner, the first value in the child table > >> key > >> is the parent table key. This tells me that Spanner collocates based on > an > >> approach very similar to Ignite's affinity key. Am I wrong? > >> > > > > >