✅ The verified answer to this question is available below. Our community-reviewed solutions help you understand the material better.
In streaming joins, a traditional hash join (for batch/static data) differs from a symmetric hash join (for unbounded streams). Which of the following statements are true about these join methods?
i) A traditional hash join for two tables (R ⋈ S) typically hashes one entire table (say, S) into memory and then probes with each row from the other table (R). ii) A symmetric hash join for streams maintains a hash table for each input stream and continuously checks incoming tuples from each side against the stored tuples from the other side. iii) A single, global hash table can be used to join any number of streams simultaneously without missing any matches. iv) With two input streams, a symmetric hash join ensures that if a tuple arrives on one stream, it will be matched with any buffered tuples from the other stream that fall into the join window, so no valid pair is missed.