Hello,

Please find below link to SQL documentation :

https://apacheignite-sql.readme.io/docs/overview

You will find answers to most of your queries here.

1. H2 is only used as SQL query parsing engine and for generating execution
plans. Data was/is always stored in Caches.


3. All kind of queries will copy data from off heap to on heap before
returning the resultset back to client. Amount of data copied to on-heap
depends on WHERE clause.

Best Regards,
Gaurav


On 14-Sep-2018 4:39 PM, "eugene miretsky" <[email protected]> wrote:

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