Guido Moerkotte

dblp:m/GuidoMoerkotte · DBLP profile ↗
← Back
91ranked-venue papers in the field
15as first author
10since 2021 · last 2025
0009-0007-2729-938XORCID · verified

Domains — venue-derived; a paper can count in several

Database Systems & Data Management · 85 (15 first)Information Retrieval & Web Search · 3Business Process & Enterprise Data · 2Knowledge Engineering, Semantic Web & Information Systems · 1
YearPublicationVenuePosition
2025 Independence Rules: Analysis of Nine Simple Cardinality Estimators and Their Impact on Plan Quality
Daniel Flachs, Guido Moerkotte
ADBIS2
2025 The Accuracy of Cardinality Estimators: Unraveling the Evaluation Result Conundrum
abstract
Existing research on the accuracy of cardinality estimators generally suffers from a lack of diversity and sufficient quantity of their experimental datasets, particularly in relation to the claimed scope of the study and the generality of its conclusions. We argue that a sufficiently large number of varied datasets are essential for comprehensive evaluations. However, the prevailing per-dataset evaluation method (PDE), producing one result table per dataset, has so far hindered this necessary expansion of the experiments. Moreover, as we demonstrate, this evaluation method often leaves the reader with contradictory results, where one estimator excels on certain datasets or queries, while the other performs better elsewhere. To address these and similar limitations, we propose a multidimensional evaluation framework. This framework unravels the conundrum of analyzing the evaluation results across multiple datasets through the use of discretization. It establishes a robust foundation for aggregating the evaluation results and conducting pairwise comparisons between estimators. Furthermore, it facilitates informed decision making in the presence of conflicting results through a customizable ranking mechanism. To empirically highlight the shortcomings of the aforementioned per-dataset evaluation and demonstrate the advantages of our proposed framework, we conduct a benchmarking study of cardinality estimators, incorporating both learned and traditional approaches. We focus on a fundamental challenge: estimating the cardinality of range queries on a single 2-D geographical relation in a static environment. Despite the apparent simplicity of this task, our findings reveal that many estimators struggle to handle this challenge effectively. To further enhance the quality of our study, we provide valuable insights by addressing some critical aspects that were overlooked in previous benchmarking studies.
Nazanin Rashedi, Guido Moerkotte
Proc. VLDB Endow.2
2024 Made to Measure: Towards Approximability of Query Evaluation Engines
Daniel Flachs, Guido Moerkotte
IDEAS2
2024 Cardinality Estimation for Having-Clauses
abstract
We present several methods for estimating the result cardinality of single table queries with a having clause. More specifically, we provide cardinality estimates for predicates using the aggregate functions count(*), sum(B), avg(B), min(B), and max(B). We do so for queries with and without a where-clause. Finally, we show how to handle conjunctions and disjunctions in the having-clause.
Guido Moerkotte
Proc. VLDB Endow.1
2023 Asymptotically Better Query Optimization Using Indexed Algebra
abstract
Query optimization is essential for the efficient execution of queries. The necessary analysis, if we can and should apply optimizations and transform the query plan, is already challenging. Traditional techniques focus on the availability of columns at individual operators, which does not scale for analysis of data flow through the query. Tracking available columns per operator takes quadratic space, which can result in multi-second optimization time for deep algebra trees. Instead, we need to re-think the naïve algebra representation to efficiently support data flow analysis. In this paper, we introduce Indexed Algebra , a novel representation of relational algebra that makes common optimization tasks efficient. Indexed Algebra enables efficient reasoning with an auxiliary index structure based on link/cut trees that support dynamic updates and queries in O (log n ). This approach not only improves the asymptotic complexity, but also allows elegant and concise formulations for the data flow questions needed for query optimization. While large queries see theoretically unbounded improvements, Indexed Algebra also improves optimization time of the relatively harmless queries of TPC-H and TPC-DS by more than 1.8×.
Philipp Fent, Guido Moerkotte, Thomas Neumann 0001
Proc. VLDB Endow.2
2022 The 3D Hash Join: Building On Non-Unique Join Attributes
Daniel Flachs, Magnus Müller, Guido Moerkotte
CIDR3
2022 SAHARA: Memory Footprint Reduction of Cloud Databases with Automated Table Partitioning
Michael Brendle, Nick Weber, Mahammad Valiyev, Norman May, Robert Schulze, Alexander Böhm 0002, Guido Moerkotte, Michael Grossniklaus
EDBT7
2022 Translation Grids for Multi-way Join Size Estimation
Magnus Müller, Guido Moerkotte
EDBT2
2021 Memory-Efficient Key/Foreign-Key Join Size Estimation via Multiplicity and Intersection Size
abstract
Join size estimation plays a crucial role in query optimization. In this paper, we present a technique to estimate the size of a key/foreign-key join of two filtered relations. We build on a model by Allen Van Gelder, in which there is no notion of join selectivity. Instead, the size of a join is estimated as a multiple of the intersection size of the join attributes. We present both a data structure to approximate the number of distinct values in a join attribute after a filter operation, and formulas to estimate the factor by which a join size exceeds the intersection size. In addition, we evaluate three existing intersection size estimation methods that are based on HyperLogLog sketches, to which our approach is closely linked. For both real-world and generated data sets, our estimator competes well, in terms of accuracy and memory footprint, against several industry-strength and state-of-the-art join size estimation methods. In particular, our experiments indicate that our approach is less prone to heavy underestimates.
Magnus Müller, Daniel Flachs, Guido Moerkotte
ICDE3
2021 Small Selectivities Matter: Lifting the Burden of Empty Samples
abstract
Every year more and more advanced approaches to cardinality estimation are published, using learned models or other data and workload specific synopses. In contrast, the majority of commercial in-memory systems still relies on sampling. It is arguably the most general and easiest estimator to implement. While most methods do not seem to improve much over sampling-based estimators in the presence of non-selective queries, sampling struggles with highly selective queries due to limitations of the sample size. Especially in situations where no sample tuple qualifies, optimizers fall back to basic heuristics that ignore attribute correlations and lead to large estimation errors. In this work, we present a novel approach, dealing with these 0-Tuple Situations. It is ready to use in any DBMS capable of sampling, showing a negligible impact on optimization time. Our experiments on real world and synthetic data sets demonstrate up to two orders of magnitude reduced estimation errors. Enumerating single filter predicates according to our estimates reveals 1.3 to 1.8 times faster query responses for complex filters.
Axel Hertzschuch, Guido Moerkotte, Wolfgang Lehner, Norman May, Florian Wolf 0002, Lars Fricke
SIGMOD Conference2
2020 alpha to omega: the G(r)eek Alphabet of Sampling
Guido Moerkotte, Axel Hertzschuch
CIDR1
2020 Fast Entropy Maximization for Selectivity Estimation of Conjunctive Predicates on CPUs and GPUs
abstract
Entropy maximization is the only principled approach to combine several (partial) selectivity estimates to an estimate for a full conjunction.However, this approach has no appearance in database management systems.We conjecture that the main reason is a lack of implementations with good performance.Indeed, the originally proposed iterative scaling algorithm has a slow convergence rate and high complexity in each iteration.As an alternative, we propose to use a method based on Newton's algorithm to solve the entropy maximization problem.Further, we show how this general approach can be implemented very efficiently for both CPUs and GPUs.Our experiments show that our CPU and GPU implementation is more than 4 orders of magnitude faster than the state-of-the-art method for the most complex problem it could handle.For even more complex problems our new GPU implementation outperforms our CPU implementation by more than 43x.In a few milliseconds it is now possible to compute all partial selectivities for complex conjunctive predicates with 20 or more predicates.We strongly believe that the proposed implementation is ready for production-grade database management systems.
Diego Havenstein, Peter Lysakovski, Norman May, Guido Moerkotte, Gabriele Steidl
EDBT4
2018 Generating Optimal Plans for Boolean Expressions
abstract
We present an algorithm that produces optimal plans to evaluate arbitrary Boolean expressions possibly containing conjunctions and disjunctions. The complexity of our algorithm isO(n3n), wherenis the number of simple predicates in the Boolean expression. This complexity is far lower than that of Reinwald and Soland's algorithm (O(22(n))). This lower complexity allows us to optimize Boolean expressions with up to 16 predicates in a reasonable time. Further, opposed to many existing approaches, our algorithm fulfills all requirements necessary in the context of main memory database systems. We then use this algorithm to (1) determine the optimization potential inherent in Boolean expressions and (2) evaluate the plan quality of two heuristics proposed in the literature.
Fisnik Kastrati, Guido Moerkotte
ICDE2
2018 Errata for "Analysis of two existing and one new dynamic programming algorithm for the generation of optimal bushy join trees without cross products"
abstract
In the published version of EnumerateCmp in the Section 3.3 on Page 936 [1], see also Algorithm 1, a small error is included in Line 5. In the first call of EnumerateCsgRec, too many nodes ( X ∪ N ) will be excluded for the emission of complements, leading to the fact that, in general, not all complements will be emitted correctly.
Andreas Meister 0001, Guido Moerkotte, Gunter Saake
Proc. VLDB Endow.2
2018 Improved Selectivity Estimation by Combining Knowledge from Sampling and Synopses
Magnus Müller, Guido Moerkotte, Oliver Kolb
Proc. VLDB Endow.2
2018 Efficient generation of query plans containing group-by, join, and groupjoin
Marius Eich, Pit Fender, Guido Moerkotte
VLDB J.3
2017 Optimization of Disjunctive Predicates for Main Memory Column Stores
abstract
Optimization of disjunctive predicates is a very challenging task which has been vastly neglected by the research community and commercial databases. In this work, we focus on the complex problem of optimizing disjunctive predicates by means of the bypass processing technique. In bypass processing, selection operators split the input tuple stream into two disjoint output streams: the true-stream with tuples that satisfy the selection predicate and the false-stream with tuples that do not. Bypass processing is crucial in avoiding expensive predicates whenever the outcome of the query predicate can be determined by evaluating the less expensive ones.
Fisnik Kastrati, Guido Moerkotte
SIGMOD Conference2
2016 Faster Plan Generation through Consideration of Functional Dependencies and Keys
abstract
It has been a recognized fact for many years that query execution can benefit from pushing group-by operators down in the operator tree and applying them before a join. This so-called eager aggregation reduces the size(s) of the join argument(s), making join evaluation faster. Lately, the idea enjoyed a revival when it was applied to outer joins for the first time and incorporated in a state-of-the-art plan generator. However, this recent approach is highly dependent on the use of heuristics because of the exponential growth of the search space that goes along with eager aggregation. Finding an optimal solution for larger queries calls for effective optimality preserving pruning mechanisms to reduce the search space size as far as possible. By a more thorough investigation of functional dependencies and keys, we provide a set of new pruning criteria and evaluate their effectiveness with respect to the runtime and memory consumption of the resulting plan generator.
Marius Eich, Pit Fender, Guido Moerkotte
Proc. VLDB Endow.3
2016 Optimization of Conjunctive Predicates for Main Memory Column Stores
abstract
Optimization of queries with conjunctive predicates for main memory databases remains a challenging task. The traditional way of optimizing this class of queries relies on predicate ordering based on selectivities or ranks. However, the optimization of queries with conjunctive predicates is a much more challenging task, requiring a holistic approach in view of (1) an accurate cost model that is aware of CPU architectural characteristics such as branch (mis)prediction, (2) a storage layer, allowing for a streamlined query execution, (3) a common subexpression elimination technique, minimizing column access costs, and (4) an optimization algorithm able to pick the optimal plan even in presence of a small (bounded) estimation error. In this work, we embrace the holistic approach, and show its superiority experimentally. Current approaches typically base their optimization algorithms on at least one of two assumptions: (1) the predicate selectivities are assumed to be independent, (2) the predicate costs are assumed to be constant. Our approach is not based on these assumptions, as they in general do not hold.
Fisnik Kastrati, Guido Moerkotte
Proc. VLDB Endow.2
2015 Dynamic programming: The next step
abstract
We fill two gaps in the literature. First, we give a comprehensive set of equivalences allowing reordering of grouping with non-inner joins. Second, we show how to incorporate the optimal placement of grouping into a state-of-the-art dynamic programming (DP)-based plan generator.
Marius Eich, Guido Moerkotte
ICDE2
2014 Exploiting ordered dictionaries to efficiently construct histograms with q-error guarantees in SAP HANA
abstract
Histograms that guarantee a maximum multiplicative error (q-error) for estimates may significantly improve the plan quality of query optimizers. However, the construction time for histograms with maximum q-error was too high for practical use cases. In this paper we extend this concept with a threshold, i.e., an estimate or true cardinality θ, below which we do not care about the q-error because we still expect optimal plans. This allows us to develop far more efficient construction algorithms for histograms with bounded error. The test for θ, q-acceptability developed also exploits the order-preserving dictionary encoding of SAP HANA. We have integrated this family of histograms into SAP HANA, and we report on the construction time, histograms size, and estimation errors on real-world data sets. In virtually all cases the histograms can be constructed in far less than one second, requiring less than 5% of space compared to the original compressed data.
Guido Moerkotte, David DeHaan, Norman May, Anisoara Nica, Alexander Böhm 0002
SIGMOD Conference1
2013 Top down plan generation: From theory to practice
abstract
Finding the optimal execution order of join operations is a crucial task of today's cost-based query optimizers. There are two approaches to identify the best plan: bottom-up and top-down join enumeration. But only the top-down approach allows for branch-and-bound pruning, which can improve compile time by several orders of magnitude while still preserving optimality. For both optimization strategies, efficient enumeration algorithms have been published. However, there are two severe limitations for the top-down approach: The published algorithms can handle only (1) simple (binary) join predicates and (2) inner joins. Since real queries may contain complex join predicates involving more than two relations, and outer joins as well as other non-inner joins, efficient top-down join enumeration cannot be used in practice yet. We develop a novel top-down join enumeration algorithm that overcomes these two limitations. Furthermore, we show that our new algorithm is competitive when compared with the state of the art in bottom-up processing even without playing out its advantage by making use of its branch-and-bound pruning capabilities.
Pit Fender, Guido Moerkotte
ICDE2
2013 On the correct and complete enumeration of the core search space
abstract
Reordering more than traditional joins (e.g. outerjoins, antijoins) requires some care, since not all reorderings are valid. To prevent invalid plans, two approaches have been described in the literature. We show that both approaches still produce invalid plans.
Guido Moerkotte, Pit Fender, Marius Eich
SIGMOD Conference1
2013 Counter Strike: Generic Top-Down Join Enumeration for Hypergraphs
abstract
Finding the optimal execution order of join operations is a crucial task of today's cost-based query optimizers. There are two approaches to identify the best plan: bottom-up and top-down join enumeration. But only the top-down approach allows for branch-and-bound pruning, which can improve compile time by several orders of magnitude while still preserving optimality. For both optimization strategies, efficient enumeration algorithms have been published. However, there are two severe limitations for the top-down approach: The published algorithms can handle only (1) simple (binary) join predicates and (2) inner joins. Since real queries may contain complex join predicates involving more than two relations, and outer joins as well as other non-inner joins, efficient top-down join enumeration cannot be used in practice yet. We develop a novel top-down join enumeration algorithm that overcomes these two limitations. Furthermore, we show that our new algorithm is competitive when compared to the state of the art in bottom-up processing even without playing out its advantage by making use of its branch-and-bound pruning capabilities.
Pit Fender, Guido Moerkotte
Proc. VLDB Endow.2
2012 Effective and Robust Pruning for Top-Down Join Enumeration Algorithms
abstract
Finding the optimal execution order of join operations is a crucial task of today's cost-based query optimizers. There are two approaches to identify the best plan: bottom-up and top-down join enumeration. For both optimization strategies efficient algorithms have been published. However, only the top-down approach allows for branch-and-bound pruning. Two pruning techniques can be found in the literature. We add six new ones. Combined, they improve performance roughly by an average factor of 2 - 5. Even more important, our techniques improve the worst case by two orders of magnitude. Additionally, we introduce a new, very efficient, and easy to implement top-down join enumeration algorithm. This algorithm, together with our improved pruning techniques, yields a performance which is by an average factor of 6 - 9 higher than the performance of the original top-down enumeration algorithm with the original pruning methods.
Pit Fender, Guido Moerkotte, Thomas Neumann 0001, Viktor Leis
ICDE2
2012 Reassessing Top-Down Join Enumeration
abstract
Finding an optimal execution order of join operations is a crucial task in every cost-based query optimizer. Since there are many possible join trees for a given query, the overhead of the join (tree) enumeration algorithm per valid join tree should be minimal. In the case of a clique-shaped query graph, the best known top-down algorithm has a complexity of \Theta (n^2) per join tree, where n is the number of relations. In this paper, we present an algorithm that has an according O(1) complexity in this case. We show experimentally that this more theoretical result has indeed a high impact on the performance in other nonclique settings. This is especially true for cyclic query graphs. Further, we evaluate the performance of our new algorithm and compare it with the best top-down and bottom-up algorithms described in the literature.
Pit Fender, Guido Moerkotte
IEEE Trans. Knowl. Data Eng.2
2011 A new, highly efficient, and easy to implement top-down join enumeration algorithm
abstract
Finding an optimal execution order of join operations is a crucial task in every cost-based query optimizer. Since there are many possible join trees for a given query, the overhead of the join (tree) enumeration algorithm per valid join tree should be minimal. In the case of a clique-shaped query graph, the best known top-down algorithm has a complexity of Θ(n2) per join tree, where n is the number of relations. In this paper, we present an algorithm that has an according O(1) complexity in this case. We show experimentally that this more theoretical result has indeed a high impact on the performance in other non-clique settings. This is especially true for cyclic query graphs. Further, we evaluate the performance of our new algorithm and compare it with the best top-down and bottom-up algorithms described in the literature.
Pit Fender, Guido Moerkotte
ICDE2
2011 Characteristic sets: Accurate cardinality estimation for RDF queries with multiple joins
abstract
Accurate cardinality estimates are essential for a successful query optimization. This is not only true for relational DBMSs but also for RDF stores. An RDF database consists of a set of triples and, hence, can be seen as a relational database with a single table with three attributes. This makes RDF rather special in that queries typically contain many self joins. We show that relational DBMSs are not well-prepared to perform cardinality estimation in this context. Further, there are hardly any special cardinality estimation methods for RDF databases. To overcome this lack of appropriate cardinality estimation methods, we introduce characteristic sets together with new cardinality estimation methods based upon them. We then show experimentally that the new methods are-in the RDF context-highly superior to the estimation methods employed by commercial DBMSs and by the open-source RDF store RDF-3X.
Thomas Neumann 0001, Guido Moerkotte
ICDE2
2011 Accelerating Queries with Group-By and Join by Groupjoin
Guido Moerkotte, Thomas Neumann 0001
Proc. VLDB Endow.1
2010 Histograms reloaded: the merits of bucket diversity
abstract
Virtually all histograms store for each bucket the number of distinct values it contains and their average frequency. In this paper, we question this paradigm. We start out by investigating the estimation precision of three commercial database systems which also follow the above paradigm. It turns out that huge errors are quite common. We then introduce new bucket types and investigate their accuracy when building optimal histograms with them. The results are ambiguous. There is no clear winner among the bucket types. At this point, we (1) switch to heterogeneous histograms, where different buckets of the same histogram possibly are of different types, and (2) design more bucket types. The nice consequence of introducing heterogeneous histograms is that we can guarantee decent upper error bounds while at the same time heterogeneous histograms require far less space than homogeneous histograms.
Carl-Christian Kanne, Guido Moerkotte
SIGMOD Conference2
2009 Preventing Bad Plans by Bounding the Impact of Cardinality Estimation Errors
abstract
Query optimizers rely on accurate estimations of the sizes of intermediate results. Wrong size estimations can lead to overly expensive execution plans. We first define the q-error to measure deviations of size estimates from actual sizes. The q-error enables the derivation of two important results: (1) We provide bounds such that if the q-error is smaller than this bound, the query optimizer constructs an optimal plan. (2) If the q-error is bounded by a number q , we show that the cost of the produced plan is at most a factor of q 4 worse than the optimal plan. Motivated by these findings, we next show how to find the best approximation under the q-error. These techniques can then be used to build synopsis for size estimates. Finally, we give some experimental results where we apply the developed techniques.
Guido Moerkotte, Thomas Neumann 0001, Gabriele Steidl
Proc. VLDB Endow.1
2008 Faster Join Enumeration for Complex Queries
abstract
Most existing join ordering algorithms concentrate on join queries with simple join predicates and inner joins only, where simple predicates are those that involve exactly two relations. However, real queries may contain complex join predicates, i.e. predicates involving more than two relations. We show how to handle complex join predicates efficiently, by modeling the query graph as a hypergraph and reasoning about its connected subgraphs.
Guido Moerkotte, Thomas Neumann 0001
ICDE1
2008 Dynamic programming strikes back
abstract
Two highly efficient algorithms are known for optimally ordering joins while\navoiding cross products:\nDPccp, which is based on dynamic programming, and Top-Down Partition Search, \nbased on memoization.\nBoth have two severe limitations:\nThey handle only (1) simple (binary) join predicates and (2) inner joins.\nHowever, real queries may contain complex join predicates, involving more than \ntwo relations,\nand outer joins as well as other non-inner joins.\n\nTaking the most efficient known join-ordering algorithm, DPccp, as a starting \npoint,\nwe first develop a new algorithm, DPhyp,\nwhich is capable to handle complex join predicates efficiently.\nWe do so by modeling the query graph as a (variant of a) hypergraph and then \nreason about its\nconnected subgraphs.\nThen, we present a technique to exploit this capability to efficiently handle\nthe widest class of non-inner joins dealt with so far.\nOur experimental results show that this reformulation of\nnon-inner joins as complex predicates can improve optimization\ntime by orders of magnitude, compared to known algorithms dealing with complex \njoin predicates\nand non-inner joins.\nOnce again, this gives dynamic programming a distinct advantage over current \nmemoization techniques.
Guido Moerkotte, Thomas Neumann 0001
SIGMOD Conference1
2007 Demaq: A Foundation for Declarative XML Message Processing
Alexander Böhm 0002, Carl-Christian Kanne, Guido Moerkotte
CIDR3
2007 Indexing Set-Valued Attributes with a Multi-level Extendible Hashing Scheme
Sven Helmer, Robin Aly, Thomas Neumann 0001, Guido Moerkotte
DEXA4
2007 Unnesting Scalar SQL Queries in the Presence of Disjunction
abstract
Optimizing nested queries is an intricate problem. It becomes even harder if in a nested query the linking predicate or the correlation predicate occurs disjunctively. We present the first unnesting strategy that can effectively deal with such queries. The starting point of our approach is to translate SQL into the relational algebra extended by bypass operators. Then we present for the first time unnesting equivalences which are valid for algebraic expressions containing bypass operators. Applying these to the translated queries results in our effective unnesting strategy for nested SQL queries with disjunction. With an extensive experimental study (including three commercial DBMSs), we demonstrate the possible performance gains of our approach.
Matthias Brantner, Norman May, Guido Moerkotte
ICDE3
2006 Natix Visual Interfaces
Alexander Böhm 0002, Matthias Brantner, Carl-Christian Kanne, Norman May, Guido Moerkotte
EDBT5
2006 Algebraic Optimization of Nested XPath Expressions
abstract
The XPath language incorporates powerful primitives for formulating queries containing nested subexpressions which are existentially or universally quantified. However, even the best published approaches for evaluating XPath have unsatisfactory performance when applied to nested queries. We examine optimization techniques that unnest complex XPath queries. For this purpose, we classify XPath expressions particularly with regard to properties that are relevant for unnesting. We present algebraic equivalences that transform nested expressions into unnested expressions. In our experiments we compare the evaluation times with existing XPath evaluators and the naive evaluation.
Matthias Brantner, Carl-Christian Kanne, Guido Moerkotte, Sven Helmer
ICDE3
2006 A Linear Time Algorithm for Optimal Tree Sibling Partitioning and Approximation Algorithms in Natix
Carl-Christian Kanne, Guido Moerkotte
VLDB2
2006 Analysis of Two Existing and One New Dynamic Programming Algorithm for the Generation of Optimal Bushy Join Trees without Cross Products
Guido Moerkotte, Thomas Neumann 0001
VLDB1
2006 Strategies for query unnesting in XML databases
abstract
Queries formulated in a nested way are very common in XQuery. Unfortunately, their evaluation is usually very inefficient when done in a straightforward fashion. We present a framework for handling nested queries that is based on unnesting the queries after having translated them into an algebra. We not only present a collection of algebraic equivalences, but also supply a strategy on how to use them effectively. The full potential of the approach is demonstrated by applying our rewrites to actual queries and showing that performance gains of several orders of magnitude are possible.
Norman May, Sven Helmer, Guido Moerkotte
ACM Trans. Database Syst.3
2005 A Model-Based Monitoring and Diagnosis System for a Space-Based Astrometry Mission
Aleksei Pavlov, Sven Helmer, Guido Moerkotte
DEXA3
2005 Full-fledged Algebraic XPath Processing in Natix
abstract
We present the first complete translation of XPath into an algebra, paving the way for a comprehensive, state-of-the-art XPath (and later on, XQuery) compiler based on algebraic optimization techniques. Our translation includes all XPath features such as nested expressions, position-based predicates and node-set functions. The translated algebraic expressions can be executed using the proven, scalable, iterator-based approach, as we demonstrate in form of a corresponding physical algebra in our native XML DBMS Natix. A first glance at performance results shows that even without further optimization of the expressions, we provide a competitive evaluation technique for XPath queries.
Matthias Brantner, Sven Helmer, Carl-Christian Kanne, Guido Moerkotte
ICDE4
2005 On the Optimal Ordering of Maps and Selections under Factorization
abstract
The query optimizer of a database system is confronted with two aspects when handling user-defined functions (UDFs) in query predicates: the vast differences in evaluation costs between UDFs (and other functions) and multiple calls of the same (expensive) UDF The former is dealt with by ordering the evaluation of the predicates optimally, the latter by identifying common subexpressions and thereby avoiding costly recomputation. Current approaches order n predicates optimally (neglecting factorization) in O(nlogn). Their result may deviate significantly from the optimal solution under factorization. We formalize the problem of finding optimal orderings under factorization and prove that it is NP-hard. Furthermore, we show how to improve on the run time of the brute-force algorithm (which computes all possible orderings) by presenting different enhanced algorithms. Although in the worst case these algorithms obviously still behave exponentially, our experiments demonstrate that for real-life examples their performance is much better.
Thomas Neumann 0001, Sven Helmer, Guido Moerkotte
ICDE3
2005 Cost-Sensitive Reordering of Navigational Primitives
abstract
We present a method to evaluate path queries based on the novel concept of partial path instances. Our method (1) maximizes performance by means of sequential scans or asynchronous I/O, (2) does not require a special storage format, (3) relies on simple navigational primitives on trees, and (4) can be complemented by existing logical and physical optimizations such as duplicate elimination, duplicate prevention and path rewriting.We use a physical algebra which separates those navigation operations that require I/O from those that do not. All I/O operations necessary for the evaluation of a path are isolated in a single operator, which may employ efficient I/O scheduling strategies such as sequential scans or asynchronous I/O.Performance results for queries from the XMark benchmark show that reordering the navigation operations can increase performance up to a factor of four.
Carl-Christian Kanne, Matthias Brantner, Guido Moerkotte
SIGMOD Conference3
2004 Timestamp-Based Protocols for Synchronizing Access on XML Documents
Sven Helmer, Carl-Christian Kanne, Guido Moerkotte
DEXA3
2004 PHEASANT: A PHysicist's EAsy ANalysis Tool
Vasco Amaral 0001, Sven Helmer, Guido Moerkotte
FQAS3
2004 Nested Queries and Quantifiers in an Ordered Context
abstract
We present algebraic equivalences that allow to unnest nested algebraic expressions for order-preserving algebraic operators. We illustrate how these equivalences can be applied successfully to unnest nested queries given in the XQuery language. Measurements illustrate the performance gains possible by unnesting.
Norman May, Sven Helmer, Guido Moerkotte
ICDE3
2004 An Efficient Framework for Order Optimization
abstract
Since the introduction of cost-based query optimization, the performance-critical role of interesting orders has been recognized. Some algebraic operators change interesting orders (e.g. sort and select), while others exploit interesting orders (e.g. merge join). The two operations performed by any query optimizer during plan generation are 1) computing the resulting order given an input order and an algebraic operator and 2) determining the compatibility between a given input order and the required order a given algebraic operator can beneficially exploit. Since these two operations are called millions of times during plan generation, they are highly performance-critical. The third crucial parameter is the space requirement for annotating every plan node with its output order. Lately, a powerful framework for reasoning about orders has been developed, which is based on functional dependencies. Within this framework, the current state-of-the-art algorithms for implementing the above operations both have a lower bound time requirement /spl Omega/(n), where n is the number of functional dependencies involved. Further, the lower bound for the space requirement for every plan node is /spl Omega/(n). We improve these bounds by new algorithms with upper time bounds O(1). That is, our algorithms for both operations work in constant time during plan generation, after a one-time preparation step. Further, the upper bound for the space requirement for plan nodes is O(1) for our approach. Besides, our algorithm reduces the search space by detecting and ignoring irrelevant orderings. Experimental results with a full-fledged query optimizer show that our approach significantly reduces the total time needed for plan generation. As a corollary of our experiments, it follows that the time spent for order processing is a nonnegligible part of plan generation.
Thomas Neumann 0001, Guido Moerkotte
ICDE2
2004 A Combined Framework for Grouping and Order Optimization
Thomas Neumann 0001, Guido Moerkotte
VLDB2
2003 Estimating the Output Cardinality of Partial Preaggregation with a Measure of Clusteredness
Sven Helmer, Thomas Neumann 0001, Guido Moerkotte
VLDB3
2003 Quantifiers in XQuery
abstract
We present algebraic equivalences that allow to unnest nested algebraic expressions containing quantifiers for order-preserving algebraic operators. We illustrate how these equivalences can be applied successfully to unnest nested queries formulated in XQuery. Measurements illustrate the performance gains possible by unnesting.
Norman May, Sven Helmer, Guido Moerkotte
WISE3
2003 A performance study of four index structures for set-valued attributes of low cardinality
Sven Helmer, Guido Moerkotte
VLDB J.2
2002 Incorporating XSL Processing into Database Engines
Guido Moerkotte
VLDB1
2002 Optimized Translation of XPath into Algebraic Expressions Parameterized by Programs Containing Navigational Primitives
abstract
We propose a new approach for the efficient evaluation of XPath expressions. This is important, since XPath is not only used as a simple, stand-alone query language, but is also an essential ingredient of XQuery and XSLT. The main idea of our approach is to translate XPath into algebraic expressions parameterized with programs. These programs are mainly built from navigational primitives like accessing the first child or the next sibling. The goals of the approach are: 1) to enable pipelined evaluation, 2) to avoid producing duplicate (intermediate) result nodes, 3) to visit as few document nodes as possible, and 4) to avoid visiting nodes more than once. This improves the existing approaches, because our method is highly efficient.
Sven Helmer, Carl-Christian Kanne, Guido Moerkotte
WISE3
2002 Anatomy of a native XML base management system
Thorsten Fiebig, Sven Helmer, Carl-Christian Kanne, Guido Moerkotte, Julia Neumann, Robert Schiele, Till Westmann
VLDB J.4
2001 Algebraic XML Construction in Natix
abstract
While using an algebra that acts on sets of variable bindings for evaluating XML queries, the problem of constructing XML from these bindings arises. One approach is to define a powerful operator that is able to perform a complex construction of a representation of the XML result document. The drawback is that such an operator in its generality is hard to implement and disables algebraic optimization since it has to be executed last in the plan. Therefore we suggest to construct XML documents by special query execution plans called construction plans built from simple, easy to implement and efficient operators. The paper proposes four simple algebraic operators needed for XML document construction. Further we introduce an optimizing translation algorithm of construction clauses into algebraic expressions.
Thorsten Fiebig, Guido Moerkotte
WISE (1)2
2000 Efficient Storage of XML Data
abstract
We introduce NATIX, an efficient, native repository for storing, retrieving and managing tree-structured large objects, preferably XML documents. In contrast to traditionallarge object (LOB) managers, we do not split at arbitrary byte positions but take the semantics of the underlying tree structure of XML documents into account.\nOur parameterizable split algorithm dynamically maintains physical records of size smaller than a page which contain sets of connected tree nodes. This not only improves efficiency by clustering subtrees but also facilitates their compact representation. Existing approaches to store XML documents either use flat files or map every single tree node onto a separate physical record. The increased flexibility of our approach results in higher efficiency. Performance measurements validate this claim.
Carl-Christian Kanne, Guido Moerkotte
ICDE2
2000 Optimization and Evaluation of Disjunctive Queries
abstract
It is striking that the optimization of disjunctive queries-i.e. those which contain at least one OR-connective in the query predicate-has been vastly neglected in the literature, as well as in commercial systems. In this paper, we propose a novel technique, called bypass processing, for evaluating such disjunctive queries. The bypass processing technique is based on new selection and join operators that produce two output streams: the TRUE-stream with tuples satisfying the selection (join) predicate and the FALSE-stream with tuples not satisfying the corresponding predicate. Splitting the tuple streams in this way enables us to "bypass" costly predicates whenever the "fate" of the corresponding tuple (stream) can be determined without evaluating this predicate. In the paper, we show how to systematically generate bypass evaluation plans utilizing a bottom-up building-block approach. We show that our evaluation technique allows us to incorporate the standard SQL semantics of null values. For this, we devise two different approaches: one is based on explicitly incorporating three-valued logic into the evaluation plans; the other one relies on two-valued logic by "moving" all negations to atomic conditions of the selection predicate. We describe how to extend an iterator-based query engine to support bypass evaluation with little extra overhead. This query engine was used to quantitatively evaluate the bypass evaluation plans against the traditional evaluation techniques utilizing a CNFor DNF-based query predicate.
Jens Claußen, Alfons Kemper, Guido Moerkotte, Klaus Peithner, Michael Steinbrunn
IEEE Trans. Knowl. Data Eng.3
1998 Efficient Dynamic Programming Algorithms for Ordering Expensive Joins and Selections
Wolfgang Scheufele, Guido Moerkotte
EDBT2
1998 Diag-Join: An Opportunistic Join Algorithm for 1:N Relationships
Sven Helmer, Till Westmann, Guido Moerkotte
VLDB3
1998 Small Materialized Aggregates: A Light Weight Index Structure for Data Warehousing
Guido Moerkotte
VLDB1
1997 On the Complexity of Generating Optimal Plans with Cross Products
abstract
In modern advanced database systems the optimizer is often faced with the problem of finding optimal evaluation strategies for queries involving alarge number of joins.Examples are queries generated by deductive database systems and path expressions in object-oriented database systems.The best plan can be found in the very large search space of bushy trees where plans are allowed to contain cross products.A general question arises: For which (sub-) problems can we expect to find polynomial algorithms generating the best plan?We attack this question from both ends of the spectrum.First, we show that we cannot expect to find any polynomial algorithm for any subproblem as long as optimal bushy trees are to be generated.More specifically, we show that the problem is NP-hard independent of the query graph.Second, for the restricted cIass of chain queries, we present two efficient algorithms for the problem of generating left-deep trees possibly containing cross products.
Wolfgang Scheufele, Guido Moerkotte
PODS2
1997 Optimizing Queries with Universal Quantification in Object-Oriented and Object-Relational Databases
Jens Claußen, Alfons Kemper, Guido Moerkotte, Klaus Peithner
VLDB3
1997 Evaluation of Main Memory Join Algorithms for Joins with Set Comparison Join Predicates
Sven Helmer, Guido Moerkotte
VLDB2
1997 Heuristic and Randomized Optimization for the Join Ordering Problem
Michael Steinbrunn, Guido Moerkotte, Alfons Kemper
VLDB J.2
1996 The PARK Semantics for Active Rules
Georg Gottlob, Guido Moerkotte, V. S. Subrahmanian
EDBT2
1996 Evaluating Queries with Generalized Path Expressions
abstract
In the past few years, query languages featuring generalized path expressions have been proposed. These languages allow the interrogation of both data and structure. They are powerful and essential for a number of applications. However, until now, their evaluation has relied on a rather naive and inefficient algorithm.In this paper, we extend an object algebra with two new operators and present some interesting rewriting techniques for queries featuring generalized path expressions. We also show how a query optimizer can integrate the new techniques.
Vassilis Christophides, Sophie Cluet, Guido Moerkotte
SIGMOD Conference3
1995 On the Complexity of Generating Optimal Left-Deep Processing Trees with Cross Products
Sophie Cluet, Guido Moerkotte
ICDT2
1995 Efficient Maintenance of Materialized Mediated Views
abstract
Integrating data and knowledge from multiple heterogeneous sources -- like databases, knowledge bases or specific software packages -- is often required for answering certain queries. Recently, a powerful framework for defining mediated views spanning multiple knowledge bases by a set of constrained rules was proposed [24, 4, 16]. We investigate the materialization of these views by unfolding the view definition and the efficient maintenance of the resulting materialized mediated view in case of updates. Thereby, we consider two kinds of updates: updates to the view and updates to the underlying sources. For each of these two cases several efficient algorithms maintaining materialized mediated views are given. We improve on previous algorithms like the DRed algorithm [12] and introduce a new fixpoint operator WP which -- opposed to the standard fixpoint operator TP [9] -- allows us to correctly capture the update's semantics without any recomputation of the materialized view.
James J. Lu, Guido Moerkotte, Joachim Schü, V. S. Subrahmanian
SIGMOD Conference2
1995 Bypassing Joins in Disjunctive Queries
Michael Steinbrunn, Klaus Peithner, Guido Moerkotte, Alfons Kemper
VLDB3
1994 Optimizing Disjunctive Queries with Expensive Predicates
abstract
In this work, we propose and assess a technique called bypass processing for optimizing the evaluation of disjunctive queries with expensive predicates. The technique is particularly useful for optimizing selection predicates that contain terms whose evaluation costs vary tremendously; e.g., the evaluation of a nested subquery or the invocation of a user-defined function in an object-oriented or extended relational model may be orders of magnitude more expensive than an attribute access (and comparison). The idea of bypass processing consists of avoiding the evaluation of such expensive terms whenever the outcome of the entire selection predicate can already be induced by testing other, less expensive terms. In order to validate the viability of bypass evaluation, we extend a previously developed optimizer architecture and incorporate three alternative optimization algorithms for generating bypass processing plans.
Alfons Kemper, Guido Moerkotte, Klaus Peithner, Michael Steinbrunn
SIGMOD Conference2
1994 Indexing Multiple Sets
Christoph Kilger, Guido Moerkotte
VLDB2
1994 Autonomous Objects: A Natural Model for Complex Applications
Alfons Kemper, Peter C. Lockemann, Guido Moerkotte, Hans-Dirk Walter
J. Intell. Inf. Syst.3
1994 Function Materialization in Object Bases: Design, Realization, and Evaluation
abstract
View materialization is a well-known optimization technique of relational database systems. We present a similar, yet more powerful, optimization concept for object-oriented data models: function materialization. Exploiting the object-oriented paradigm-namely, classification, object identity, and encapsulation-facilitates a rather easy incorporation of function materialization into (existing) object-oriented systems. Only those types (classes) whose instances are involved in some materialization are appropriately modified and recompiled, thus leaving the remainder of the object system invariant. Furthermore, the exploitation of encapsulation (information hiding) and object identity provides for additional performance tuning measures that drastically decrease the invalidation and rematerialization overhead incurred by updates in the object base. First, it allows us to cleanly separate the object instances that are irrelevant for the materialized functions from those that are involved in the materialization of some function result, and this to penalize only those involved objects upon update. Second, the principle of information hiding facilitates fine-grained control over the invalidation of precomputed results. Based on specifications given by the data type implementor, the system can exploit operational semantics to better distinguish between update operations that invalidate a materialized result and those that require no rematerialization. The paper concludes with a quantitative analysis of function materialization based on two sample performance benchmarks obtained from our experimental object base system GOM.>
Alfons Kemper, Christoph Kilger, Guido Moerkotte
IEEE Trans. Knowl. Data Eng.3
1993 Towards More Flexible Schema Management in Object Bases
abstract
An approach to database schema management is presented that allows easy tailoring of schema management, high-level specification of schema consistency, and development of advanced tools supporting the user during schema evolution. The application of this approach to the development of a simple schema manager for the core of the GOM database programming language is described. The flexibility afforded both developers and users by the approach is also discussed.>
Guido Moerkotte, Andreas Zachmann
ICDE1
1993 A Blackboard Architecture for Query Optimization in Object Bases
Alfons Kemper, Guido Moerkotte, Klaus Peithner
VLDB2
1993 Database Design with User-Definable Modelling Concepts
Peter C. Lockemann, Guido Moerkotte, Andrea Neufeld, Klaus Radermacher 0002, Norbert Runge
Data Knowl. Eng.2
1993 Generating Consistent Test Data for a Variable Set of General Consistency Constraints
Andrea Neufeld, Guido Moerkotte, Peter C. Lockemann
VLDB J.2
1992 Multiple Substitutability Without Affecting the Taxonomy
Guido Moerkotte, Andreas Zachmann
EDBT1
1992 Optimizing Boolean Expressions in Object-Bases
Alfons Kemper, Guido Moerkotte, Michael Steinbrunn
VLDB2
1992 Access Support Relations: An Indexing Method for Object Bases
Alfons Kemper, Guido Moerkotte
Inf. Syst.2
1991 A Framework for Strong Typing and Type Inference in (Persistent) Object Models
Alfons Kemper, Guido Moerkotte
DEXA2
1991 On the Notion of Concept
Peter C. Lockemann, Guido Moerkotte
ER2
1991 Function Materialization in Object Bases
abstract
View materialization is a well-known optimization technique of relational database systems. In this work we present a similar, yet more powerful optimization concept for object-oriented data models: function materialization. Exploiting the object-oriented paradigm---namely classification, object identity, and encapsulation---facilitates a rather easy incorporation of function materialization into (existing) object-oriented systems. Only those types (classes) whose instances are involved in some materialization are appropriately modified and recompiled---thus leaving the remainder of the object system invariant. Furthermore, the exploitation of encapsulation (information hiding) and object identity provides for additional performance tuning measures which drastically decrease the rematerialization overhead incurred by updates in the object base. First, it allows to cleanly separate the object instances that are irrelevant for the materialized functions from those that are involved in th...
Alfons Kemper, Christoph Kilger, Guido Moerkotte
SIGMOD Conference3
1991 Reactive Consistency Control In Deductive Databases
abstract
Classical treatment of consistency violations is to back out a database operation or transaction.In applications with large numbers of fairly complex consistency constraints this clearly is an unsatisfactory solution.Instead, if a violation is detected the user should be given a diagnosis of the constraints that failed, a line of reasoning on the cause that could have led to the violation, and suggestions for a repair.The problem is particularly complicated in a deductive database system where failures may be due to an inferred condition rather than simply a stored fact, but the repair can only be applied to the underlying facts.The paper presents a system which provides automated support in such situations.It concentrates on the concepts and ideas underlying the approach and an appropriate system architecture and user guidance, and sketches some of the heuristics used to gain in performance.
Guido Moerkotte, Peter C. Lockemann
ACM Trans. Database Syst.1
1990 Correcting Anomalies of Standard Inheritance - A Constraint-Based Approach
Alfons Kemper, Guido Moerkotte
DEXA2
1990 Autonomy over Ubiquity: Coping with the Complexity of a Distributed World
Alfons Kemper, Peter C. Lockemann, Guido Moerkotte, Hans-Dirk Walter, Stefan M. Lang
ER3
1990 Access Support in Object Bases
abstract
In this work access support relations are introduced as a means for optimizing query processing in object-oriented database systems. The general idea is to maintain redundant separate structures (disassociated from the object representation) to store object references that are frequently traversed in database queries. The proposed access support relation technique is no longer restricted to relate an object (tuple) to an atomic value (attribute value) as in conventional indexing. Rather, access support relations relate objects with each other and can span over reference chains which may contain collection-valued components in order to support queries involving path expressions. We present several alternative extensions of access support relations for a given path expression, the best of which has to be determined according to the application-specific database usage profile. An analytical cost model for access support relations and their application is developed. This analytical cost model is, in particular, used to determine the best access support relation extension and decomposition with respect to the specific database configuration and application profile.
Alfons Kemper, Guido Moerkotte
SIGMOD Conference2
1990 Advanced Query Processing in Object Bases Using Access Support Relations
Alfons Kemper, Guido Moerkotte
VLDB2
1988 Efficient Consistency Control in Deductive Databases
Guido Moerkotte, Stefan Karl
ICDT1