UNIVERSITÉ PARIS-EST ÉCOLE DOCTORALE MSTIC:MathématiquesetSciencesetTechnologiesdel’Informationetdela Communication Thèse de doctorat Informatique Muath ALRAMMAL Algorithms for XML Stream Processing: Massive Data, External Memory and Scalable Performance. Thèse dirigée par: Professeur Gaétan HAINS Soutenance le 16 mai, 2011 Composition du jury: Rapporteurs: RadaCHIRKOVA NorthCarolinaStateUniversity USA VéroniqueBENZAKEN UniversitéParis-Sud11 France Examinateurs: MohamedZERGAOUI InnovimaxSARL France MostafaBAMHA Universitéd’Orléans France Directeur: GaétanHAINS UniversitéParis-Est,Créteil France Acknowledgments I would like to express my gratitude, appreciation and sincere thanks to my supervisor Pr. Gaétan HAINS for his excellent guidance, helpful and useful discussions, and continuous encouragement which made this work possible. He alwayshelpedmewithpleasureintheproblemsthatIfacedduringthiswork. IalsoexpressmythankstotheCIOoftheInnovimaxcompany,Mr. Mohamed ZERGAOUI. He provided valuable XML expertise and technical scrutiny at many pointsofourproject. I am deeply indebted to all members of my research laboratory LACL for their support. I am especially grateful to Régine LALEAU, Frédéric GAVA, Flore TSILA, Tristan CROLARD, Frank POMMEREAU, Serghei VERLAN, Marie Duflotfortheirsupportbothintermsofresourcesandencouragement. Deep thanks to my fellow doctoral students from Palestine, Jordan, Tunisia, Morocco, Algeria, France, Italy, China, India, Greece. I have always benefited fromthemthroughdiscussionbothtechnicallyandsocially. I cannot forget the constant encouragement and support of my whole family includingmysisters. Last but certainly not the least, I am proud to acknowledge the generous and enduringsupportofmywifewhosupportedmethroughallthetoughtimes. I dedicate this work to the spirits of my beloved parents and my father in law whose constant support and prayers were gospel of encouragement for me to keep strugglingforambitions. ii Résumé Plusieurs applications modernes nécessitent un traitement de flux massifs de données XML, et cela crée des défis techniques. Parmi ces derniers, il y a la conception et la mise en ouvre d’outils pour optimiser le traitement des requêtes XPath. Il s’agit alors de fournir une estimation précise des coûts de ces requêtes traitéessurunfluxmassifdedonnéesXML. Dans cette thèse, nous proposons un nouveau modèle de prévision de perfor- mance qui estime à priori le coût (en terme d’espace utilisé et de temps écoulé) pourlesrequêtesstructurellesdufragmentdelangageForwardXPath. Ce faisant, nous réalisons une étude expérimentale pour confirmer la relation linéaire entre le traitement de flux et les ressources d’accès aux données. Ce qui nous permet de construire un modèle mathématique (utilisant des régressions linéaires)pourprévoirlecoûtd’unerequêteXPath. En outre, nous présentons une technique nouvelle d’estimation de la sélectivité. Elle constituée de deux éléments. Le premier est le résumé path tree ou arbre des chemins: une présentation concise et précise de la structure d’un document XML. Le second est l’algorithme d’estimation de sélectivité: un algorithme efficace de fluxpourtraverserl’arbredescheminsafind’estimerlesvaleursdesparamètresde coût. Ces paramètres sont utilisés par le modèle mathématique pour déterminer le coûtd’unerequêteXPath. Nouscomparonslesperformancesdenotremodèleaveclesapprochesexistantes. De plus, nous présentons un cas d’utilisation de celui-ci dans un système en ligne de traitement en flux des requêtes. Le système utilise notre modèle de prévision de performance pour estimer le coût (en terme de temps / mémoire) d’une requête XPath. En outre, il fournit une estimation précise à l’auteur de la requête relativement au coût et au volume de sa requête. Ce cas d’utilisation illustrelesavantagespratiquesdelagestiondeperformanceavecnostechniques. Mots clés: Traitementdeflux,donnéesXML,requêtesXPath,estimationde sélectivité,Modèledeperformance,optimisationderequêtes. iii Summary Many modern applications require processing of massive streams of XML data, creating difficult technical challenges. Among these, there is the design and implementation of applications to optimize the processing of XPath queries and to provideanaccuratecostestimationforthesequeriesprocessedonamassivesteam ofXMLdata. In this thesis, we propose a novel performance prediction model which a priori estimates the cost (in terms of space used and time spent) for any structural query belongingtoForwardXPath. In doing so, we perform an experimental study to confirm the linear relationship between stream-processing and data-access resources. Therefore, we introduce a mathematical model (linear regression functions) to predict the cost for a given XPath query. Moreover, we introduce a new selectivity estimation technique. It consists of two elements. The first one is the path tree structure synopsis: a concise, accurate, and convenient summary of the structure of an XML document. The second one is the selectivity estimation algorithm: an efficient stream- querying algorithm to traverse the path tree synopsis for estimating the values of cost-parameters. Those parameters are used by the mathematical model to determinethecostofagivenXPathquery. Wecomparetheperformanceofourmodelwithexistingapproaches. Furthermore, we present a use case for an online stream-querying system. The system uses our performance predicate model to estimate the cost for a given XPath query in terms of time/memory. Moreover, it provides an accurate answer for the query’s sender. This use case illustrates the practical advantages of performancemanagementwithourtechniques. Keywords: Streaming processing, XML data, XPath queries, query opti- mization,selectivityestimation,performancepredictionmodel. Contents 1 Introduction 1 1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1.1 Preliminaries . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1.1.1 DataModelofXMLDocument . . . . . . . . . 3 1.1.1.2 XPath . . . . . . . . . . . . . . . . . . . . . . 4 1.1.1.3 RecursioninXMLDocument . . . . . . . . . . 5 1.1.1.4 DocumentDepth . . . . . . . . . . . . . . . . . 6 1.1.1.5 Stream-queryingProcess . . . . . . . . . . . . 6 1.1.1.6 Stream-filteringProcess . . . . . . . . . . . . . 6 1.1.1.7 Synopsis . . . . . . . . . . . . . . . . . . . . . 6 1.1.1.8 SelectivityEstimationTechnique . . . . . . . . 6 1.1.1.9 PerformancePredictionModel . . . . . . . . . 7 1.2 Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.2.1 TheExpressivenessofXPath . . . . . . . . . . . . . . . . 8 1.2.2 StructureofXMLDataSet . . . . . . . . . . . . . . . . 9 1.2.3 QueryEvaluationStrategy . . . . . . . . . . . . . . . . . 10 1.2.4 EvolutionandDataSetUpdating . . . . . . . . . . . . . 10 1.3 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.4 ThesisOrganisation . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.4.1 TheDependencyofThesis’sChapters . . . . . . . . . . . 13 2 StateoftheArt 15 2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.2 SelectivityEstimation . . . . . . . . . . . . . . . . . . . . . . . . 15 2.2.1 PropertiesofSelectivityEstimationTechniques . . . . . . 16 2.2.2 Path/TwigSelectivityEstimationTechniques . . . . . . . 17 2.2.2.1 Synopsis-BasedEstimationTechniques . . . . . 18 2.2.2.2 Histogram-BasedEstimationTechniques . . . . 26 2.2.3 Summary-TheChoiceofthePathtreeSynopsis . . . . . 30 2.3 Stream-processingApproaches . . . . . . . . . . . . . . . . . . . 32 2.3.1 Stream-filteringAlgorithms . . . . . . . . . . . . . . . . 32 2.3.2 Stream-queryingAlgorithms . . . . . . . . . . . . . . . 38 2.3.3 Summary-LazyStream-queryingAlgorithmLQ . . . . . 43 3 Pathtree: Definition,Construction,andUpdating 45 3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.1.1 TheXMLDataModel . . . . . . . . . . . . . . . . . . . 46 3.2 PathtreeDefinition . . . . . . . . . . . . . . . . . . . . . . . . . 47 3.3 PathtreeConstruction: AutomataTechnique . . . . . . . . . . . 48 vi Contents 3.3.1 AutomatonDefinitionA . . . . . . . . . . . . . . . . . . 49 3.3.2 AutomataTransformationintoaGraphDoc(A) . . . . . 52 3.3.3 AutomataMinimizationA . . . . . . . . . . . . . . . 53 Min 3.3.4 ExampleofPathtreeConstruction: AutomataTechnique 54 3.4 PathtreeConstruction: StreamingTechnique . . . . . . . . . . . 58 3.4.1 PathtreeConstruction . . . . . . . . . . . . . . . . . . . 58 3.4.2 PathtreeUpdating . . . . . . . . . . . . . . . . . . . . . 61 4 SelectivityEstimationTechniques 63 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 4.2 LazyStream-queryingAlgorithm . . . . . . . . . . . . . . . . . . 65 4.2.1 QueryPreprocessing . . . . . . . . . . . . . . . . . . . . 66 4.2.2 LQ-BlocksExtension . . . . . . . . . . . . . . . . . . . 68 4.2.3 ExamplesofQueryProcessingUsingLQ-Extended . . . 73 4.2.3.1 QueryProcessing-SimplePath . . . . . . . . . 73 4.2.3.2 QueryProcessing-TwigPath . . . . . . . . . . 77 4.3 SelectivityEstimationAlgorithm . . . . . . . . . . . . . . . . . 81 4.3.1 ExamplesoftheSelectivityEstimationProcess . . . . . . 82 4.3.1.1 SelectivityEstimation-SimplePath . . . . . . 85 4.3.1.2 SelectivityEstimation-TwigPath . . . . . . . 89 4.3.2 AccuracyoftheSelectivityEstimationTechnique . . . . . 92 5 PerformancePredictionModel 93 5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 5.2 PerformancePredictionModel-Preliminaries . . . . . . . . . . . 95 5.2.1 PerformancePredictionModel-Motivations . . . . . . . 95 5.2.2 Performance Measurements Towards the Optimization of Stream-processingforXMLData . . . . . . . . . . . . . 96 5.2.2.1 PrototypeO-Search . . . . . . . . . . . . . . 96 5.2.2.2 ExperimentalResults . . . . . . . . . . . . . . 99 5.2.2.3 Conclusion . . . . . . . . . . . . . . . . . . . 110 5.2.3 PerformancePredictionModel-GeneralStructure . . . . 112 5.3 PerformancePredictionModel-SimplePath . . . . . . . . . . . 113 5.3.1 LazyStream-queryingAlgorithm(LQ) . . . . . . . . . . 115 5.3.2 BuildingtheMathematicalModel . . . . . . . . . . . . . 116 5.3.3 BuildingthePredictionModel . . . . . . . . . . . . . . . 117 5.3.3.1 PredictionRules . . . . . . . . . . . . . . . . . 118 5.3.4 UserProtocol . . . . . . . . . . . . . . . . . . . . . . . . 120 5.3.5 ExperimentalResults . . . . . . . . . . . . . . . . . . . 126 5.3.5.1 ExperimentalSetup . . . . . . . . . . . . . . . 126 5.3.5.2 QualityofModelPrediction . . . . . . . . . . . 126 5.3.5.3 Impact of Using Metadata in our Model on the Performance . . . . . . . . . . . . . . . . . . . 129 Contents vii 5.3.5.4 ModelPortabilityonOtherMachines . . . . . . 132 5.3.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . 132 5.4 PerformancePredictionModel-TwigPath . . . . . . . . . . . . 133 5.4.1 LazyStream-queryingAlgorithm(LQ) . . . . . . . . . . 134 5.4.2 BuildingtheMathematicalModel . . . . . . . . . . . . . 135 5.4.3 BuildingthePredictionModel . . . . . . . . . . . . . . . 136 5.4.3.1 ExampleoftheSelectivityEstimationProcess . 137 5.4.4 ExperimentalResults . . . . . . . . . . . . . . . . . . . . 138 5.4.4.1 ExperimentalSetup . . . . . . . . . . . . . . . 138 5.4.4.2 AccuracyoftheSelectivityEstimation . . . . . 139 5.4.4.3 EfficiencyoftheSelectivityEstimationAlgorithm139 5.4.4.4 Comparing our Approach with the other Ap- proaches . . . . . . . . . . . . . . . . . . . . . 139 5.4.5 UseCase: OnlineStream-queryingSystem . . . . . . . . 141 5.4.5.1 OnlineStream-queryingSystem . . . . . . . . . 141 5.4.6 ConclusionandFutureWork . . . . . . . . . . . . . . . . 142 6 ConclusionandPerspectives 145 6.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 6.2 FutureWork . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 6.2.1 Stream-processing . . . . . . . . . . . . . . . . . . . . . 147 6.2.2 SelectivityEstimationTechnique . . . . . . . . . . . . . . 148 6.2.3 ParallelProcessing . . . . . . . . . . . . . . . . . . . . . 148 Bibliography 151
Description: