Hello,

Trying to understand how exactly SQL queries are executed in Ignite. A few
questions


   1. To what extent is H2 used? Does it store the data? Does it create the
   indexes? Is it used only for generating execution plans? I believe that all
   the data used to be stored in H2, but with the new durable memory
   architecture, I believe that's no longer the case.
   2. Which indexes are used? Ignite creates  B+ tree indexes and stores
   them in Index pages, but I also see AFFINITY_KEY, _key_PK and _key_PK_hash
   indexes created in H2.
   3. When is data brought onto the heap? I am assuming that groupby and
   aggregate require all the matching queries to first be copied from off-heap
   to heap
   4. How does lazy evaluation work? For example, for group_by, does it
   bring batches of matching records with the same group_by key onto the heap?

I am not necessarily looking for the exact answers, but rather pointer in
the right direction (documentation, code, jiras)

Cheers,
Eugene

Reply via email to