Research Article
Exploiting Sharing Join Opportunities in Big Data Multiquery Optimization with Flink
Algorithm 1
J-MOTH reused-based multiquery optimizer.
| | Input: | | | Output: | | | | | //Step 1: Query Parsing | | (1) | | | | //Step 2: Query Explorer | | (2) | | | (3) | | | (4) | | | | //Step 3: Sharing Classifier | | (5) | = | | (6) | = | | (7) | | | (8) | ( | | | /∗ Exploiting Sharing Data∗/ | | | //Step 4: Refine Sharing Data Multiquery | | (9) | = | | | /∗call Algorithm S2∗/ | | | //Step 5: Update Reused-based Opportunity Weight | | | /∗call Algorithm S3∗/ | | | Using Histograms and Metadata | | (10) | | | (11) | , | | (12) | Histogram) | | (13) | | | Weight //Step 6: Generate Multiquery Plan | | (14) | foreachdo | | (15) | foreachdo | | (16) | | | (17) | if) then | | (18) | | | (19) | Else | | (20) | | | (21) | End if | | (22) | | | | /∗update level based on its query parent∗/ | | (23) | | | (24) | End | | (25) | ( | | (26) | End | | (27) | | | (28) | | | (29) | | | | /∗ Exploiting Sharing Join∗/ | | | //Step 7: Optimize multiway join | | (30) | | | (31) | | | | //Step 8: Sort Exploiter | | (32) | | | | //Step 9: Refine and Rewrite Queries for Multiquery Plan | | (33) | | | (34) | | | (35) | |
|