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)