We are proposing an enhanced hash join algorithm called “hybrid hybrid grace hash join”.
We can benefit from this feature as illustrated below:
- The query will not fail even if the estimated memory requirement is slightly wrong
- Expensive garbage collection overhead can be avoided when hash table grows
- Join execution using a Map join operator even though the small table doesn't fit in memory as spilling some data from the build and probe sides will still be cheaper than having to shuffle the large fact table
The design was based on Hadoop’s parallel processing capability and significant amount of memory available.