Michael H. Böhlen

dblp:b/MichaelHBohlen · DBLP profile ↗
← Back
90ranked-venue papers in the field
9as first author
10since 2021 · last 2025
0000-0003-3694-9026ORCID · verified

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

Database Systems & Data Management · 79 (9 first)Data Mining & Knowledge Discovery · 6Information Retrieval & Web Search · 2Business Process & Enterprise Data · 2Other / Interdisciplinary · 1
YearPublicationVenuePosition
2025 An Experimental Comparison of Tree-data Structures for Connectivity Queries on Fully-dynamic Undirected Graphs
abstract
During the past decades significant efforts have been made to propose data structures for answering connectivity queries on fully dynamic graphs, i.e., graphs with frequent insertions and deletions of edges. However, a comprehensive understanding of how these data structures perform in practice is missing, since not all of them have been implemented, let alone evaluated experimentally. We provide reference implementations for the proposed data structures and experimentally evaluate them on a wide range of graphs. Our findings show that the current solutions are not ready to be deployed in systems as is, as every data structure has critical weaknesses when used in practice. Key limitations that must be overcome are the space and time overhead incurred by balanced data structures, the degeneration of the runtime of space-efficient data structures in worst case scenarios, and the maintenance costs for balanced data structures. We detail our findings in the experimental evaluation and provide recommendations for implementing robust solutions for answering connectivity queries on dynamic graphs.
Qing Chen 0002, Michael H. Böhlen, Sven Helmer
Proc. ACM Manag. Data2
2024 Quantifying and Estimating the Predictability Upper Bound of Univariate Numeric Time Series
abstract
The intrinsic predictability of a given time series indicates how well an (ideal) algorithm could potentially predict it when trained on the time series data. Being able to compute the intrinsic predictability helps the developers of prediction algorithms immensely in deciding whether there is further optimization potential, as it tells them how close they are to what is (theoretically) achievable. We call the intrinsic predictability the predictability upper bound ¶imax and propose a novel method for quantifying and estimating it for univariate numeric time series. So far, this has only been done for symbolic time series, even though most real-world time series are numeric by nature. We base our technique on the close relationship between entropy and predictability, utilizing the entropy rate of a time series to compute ¶imax . Since existing entropy rate estimators, such as those based on the Lempel-Ziv compression algorithm, only work for symbolic data, we develop new estimators using tolerance thresholds for matching numeric values. We demonstrate that ¶imax is an effective upper bound that characterizes the intrinsic predictability of a time series. We give formal proofs and we validate our arguments experimentally by comparing ¶imax with the prediction accuracy of different state-of-the-art models on various real-world datasets from different domains.
Jamal Mohammed, Michael H. Böhlen, Sven Helmer
KDD2
2023 Correlation Joins over Time Series Data Streams Utilizing Complementary Dimension Reduction and Transformation
abstract
A common analysis task over a stream of time series is to find all pairs of windows whose correlation is above a given threshold. For a large number of streams, doing so naively, i.e., checking the Cartesian product, is too expensive. In essence, finding correlated pairs in a non-naive way boils down to a high-dimensional similarity join in a Euclidean space. While there are similarity join algorithms, such as Quickjoin and ε-kdB tree, they are inefficient for high-dimensional data. We propose CorrJoin, short for Correlation Join, that combines a complementary dimension reduction and transformation step with a subsequent double-filtering step. In the first step, we reduce the dimensionality of data stream windows by combining a fast but inaccurate method, Piecewise Aggregate Approximation (PAA), with an accurate and slow one, Singular Value Decomposition (SVD). Not only does SVD compensate for the weaknesses of PAA, it also transforms the data to make the first filter based on bucketing more effective. The second filter, which uses Euclidean distances, reduces the number of false positives before computing exact correlations. Our experiments reveal that in common settings, CorrJoin is an order of magnitude faster than state-of-the-art approaches (up to 20 times faster than Quickjoin).
AmirReza Alizade Nikoo, Michael H. Böhlen, Sven Helmer
Proc. ACM Manag. Data2
2023 Robust and scalable content-and-structure indexing
abstract
Abstract Frequent queries on semi-structured hierarchical data are Content-and-Structure (CAS) queries that filter data items based on their location in the hierarchical structure and their value for some attribute. We propose the Robust and Scalable Content-and-Structure (RSCAS) index to efficiently answer CAS queries on big semi-structured data. To get an index that is robust against queries with varying selectivities, we introduce a novel dynamic interleaving that merges the path and value dimensions of composite keys in a balanced manner. We store interleaved keys in our trie-based RSCAS index, which efficiently supports a wide range of CAS queries, including queries with wildcards and descendant axes. We implement RSCAS as a log-structured merge tree to scale it to data-intensive applications with a high insertion rate. We illustrate RSCAS’s robustness and scalability by indexing data from the Software Heritage (SWH) archive, which is the world’s largest, publicly available source code archive.
Kevin Wellenzohn, Michael H. Böhlen, Sven Helmer, Antoine Pietri, Stefano Zacchiroli
VLDB J.2
2022 abcOD: Mining Band Order Dependencies
abstract
We present the design of and a demonstration plan for abcOD, a tool for efficiently discovering approximate band conditional order dependencies (abcODs) from data. abcOD utilizes a dynamic programming algorithm based on a longest monotonic band. Using real datasets, we demonstrate how the discovered abcODs can help users understand ordered data semantics, identify potential data quality problems, and interactively clean the data.
Jessica Jessica, Naida Tania, Michael H. Böhlen, Divesh Srivastava, Jarek Szlichta
ICDE4
2022 Dynamic Spanning Trees for Connectivity Queries on Fully-dynamic Undirected Graphs
abstract
Answering connectivity queries is fundamental to fully dynamic graphs where edges and vertices are inserted and deleted frequently. Existing work proposes data structures and algorithms with worst case guarantees. We propose a new data structure, the dynamic tree (D-tree), together with algorithms to construct and maintain it. The D-tree is the first data structure that scales to fully dynamic graphs with millions of vertices and edges and, on average, answers connectivity queries much faster than data structures with worst case guarantees.
Qing Chen 0002, Oded Lachish, Sven Helmer, Michael H. Böhlen
Proc. VLDB Endow.4
2022 Leveraging range joins for the computation of overlap joins
abstract
Abstract Joins are essential and potentially expensive operations in database management systems. When data is associated with time periods, joins commonly include predicates that require pairs of argument tuples to overlap in order to qualify for the result. Our goal is to enable built-in systems support for such joins. In particular, we present an approach where overlap joins are formulated as unions of range joins, which are more general purpose joins compared to overlap joins, i.e., are useful in their own right, and are supported well by B+-trees. The approach is sufficiently flexible that it also supports joins with additional equality predicates, as well as open, closed, and half-open time periods over discrete and continuous domains, thus offering both generality and simplicity, which is important in a system setting. We provide both a stand-alone solution that performs on par with the state-of-the-art and a DBMS embedded solution that is able to exploit standard indexing and clearly outperforms existing DBMS solutions that depend on specialized indexing techniques. We offer both analytical and empirical evaluations of the proposals. The empirical study includes comparisons with pertinent existing proposals and offers detailed insight into the performance characteristics of the proposals.
Anton Dignös, Michael H. Böhlen, Johann Gamper, Christian S. Jensen, Peter Moser
VLDB J.2
2022 ABC of order dependencies
Jarek Szlichta, Michael H. Böhlen, Divesh Srivastava
VLDB J.3
2021 Inserting Keys into the Robust Content-and-Structure (RCAS) Index
Kevin Wellenzohn, Luka Popovic, Michael H. Böhlen, Sven Helmer
ADBIS3
2021 Single Point Incremental Fourier Transform on 2D Data Streams
abstract
In radio astronomy, antennas monitor portions of the sky to collect radio signals. The antennas produce data streams that are of high volume and velocity (~2.5 GB/s) and the inverse Fourier transform is used to convert the collected signals into sky images that astrophysicists use to conduct their research. Applying the inverse Fourier transform in a streaming setting, however, is not ideal since its computational complexity is quadratic in the size of the image.In this article, we propose the Single Point Incremental Fourier Transform (SPIFT), a novel incremental algorithm to produce sequences of sky images. SPIFT computes the Fourier transform for a new signal in a linear number of complex multiplications by exploiting twiddle factors, multiplicative constant coefficients. We prove that twiddle factors are periodic and show how circular shifts can be exploited to reuse multiplication results. The cost of the additive operations can be curbed by exploiting the embarrassingly parallel nature of the additions, which modern big data streaming frameworks can leverage to compute slices of the image in parallel. Our experiments suggest that SPIFT can efficiently generate sequences of sky images: it computes the complex multiplications 4 to 12x faster than the Discrete Fourier Transform, and its parallelisation of the additive operations shows linear speedup.
Muhammad Saad 0006, Abraham Bernstein, Michael H. Böhlen, Daniele Dell'Aglio
ICDE3
2020 Iterations for Propensity Score Matching in MonetDB
Michael H. Böhlen, Oksana Dolmatova, Michael Krauthammer, Alphonse Mariyagnanaseelan, Jonathan Stahl, Timo Surbeck
ADBIS1
2020 An Efficient Index for Reachability Queries in Public Transport Networks
abstract
Abstract Computing path queries such as the shortest path in public transport networks is challenging because the path costs between nodes change over time. A reachability query from a node at a given start time on such a network retrieves all points of interest (POIs) that are reachable within a given cost budget. Reachability queries are essential building blocks in many applications, for example, group recommendations, ranking spatial queries, or geomarketing. We propose an efficient solution for reachability queries in public transport networks. Currently, there are two options to solve reachability queries. (1) Execute a modified version of Dijkstra’s algorithm that supports time-dependent edge traversal costs; this solution is slow since it must expand edge by edge and does not use an index. (2) Issue a separate path query for each single POI, i.e., a single reachability query requires answering many path queries. None of these solutions scales to large networks with many POIs. We propose a novel and lightweight reachability index. The key idea is to partition the network into cells. Then, in contrast to other approaches, we expand the network cell by cell. Empirical evaluations on synthetic and real-world networks confirm the efficiency and the effectiveness of our index-based reachability query solution.
Bezaye Tesfaye, Nikolaus Augsten, Mateusz Pawlik 0001, Michael H. Böhlen, Christian S. Jensen
ADBIS4
2020 Preserving Contextual Information in Relational Matrix Operations
abstract
There exist large amounts of numerical data that are stored in databases and must be analyzed. Database tables come with a schema and include non-numerical attributes; this is crucial contextual information that is needed for interpreting the numerical values. We propose relational matrix operations that support the analysis of data stored in tables and that preserve contextual information. The result of our approach are precisely defined relational matrix operations and a system implementation in MonetDB that illustrates the seamless integration of relational matrix operations into a relational DBMS.
Oksana Dolmatova, Nikolaus Augsten, Michael H. Böhlen
ICDE3
2020 Discovering Band Order Dependencies
abstract
We introduce band ODs to model the semantics of attributes that are monotonically related with small variations without there being an intrinsic violation of semantics. To make band ODs relevant to real-world applications, we make them less strict to hold approximately with some exceptions. Since formulating integrity constraints manually is cumbersome, we study the problem of automatic approximate band OD discovery. We devise an algorithm that determines the optimal solution in polynomial time. We perform a thorough experimental evaluation of our techniques over real-world and synthetic datasets.
Jarek Szlichta, Michael H. Böhlen, Divesh Srivastava
ICDE3
2020 Query Results over Ongoing Databases that Remain Valid as Time Passes By
abstract
Ongoing time point now is used to state that a tuple is valid from the start point onward. For database systems ongoing time points have far-reaching implications since they change continuously as time passes by. State-of-the-art approaches deal with ongoing time points by instantiating them to the reference time. The instantiation yields query results that are only valid at the chosen time and get invalidated as time passes by. We propose a solution that keeps ongoing time points uninstantiated during query processing. We do so by evaluating predicates and functions at all possible reference times. This renders query results independent of a specific reference time and yields results that remain valid as time passes by. As query results, we propose ongoing relations that include a reference time attribute. The value of the reference time attribute is restricted by predicates and functions on ongoing attributes. We describe and evaluate an efficient implementation of ongoing data types and operations in PostgreSQL.
Yvonne Mülle, Michael H. Böhlen
ICDE2
2020 A Relational Matrix Algebra and its Implementation in a Column Store
abstract
Analytical queries often require a mixture of relational and linear algebra operations applied to the same data. This poses a challenge to analytic systems that must bridge the gap between relations and matrices. Previous work has mainly strived to fix the problem at the implementation level. This paper proposes a principled solution at the logical level. We introduce the relational matrix algebra (RMA), which seamlessly integrates linear algebra operations into the relational model and eliminates the dichotomy between matrices and relations. RMA is closed: All our relational matrix operations are performed on relations and result in relations; no additional data structure is required. Our implementation in MonetDB shows the feasibility of our approach, and empirical evaluations suggest that in-database analytics performs well for mixed workloads.
Oksana Dolmatova, Nikolaus Augsten, Michael H. Böhlen
SIGMOD Conference3
2020 Scalable recovery of missing blocks in time series with high and low cross-correlations
Mourad Khayati, Philippe Cudré-Mauroux, Michael H. Böhlen
Knowl. Inf. Syst.3
2020 Dynamic Interleaving of Content and Structure for Robust Indexing of Semi-Structured Hierarchical Data
abstract
We propose a robust index for semi-structured hierarchical data that supports content-and-structure (CAS) queries specified by path and value predicates. At the heart of our approach is a novel dynamic interleaving scheme that merges the path and value dimensions of composite keys in a balanced way. We store these keys in our trie-based Robust Content-And-Structure index, which efficiently supports a wide range of CAS queries, including queries with wildcards and descendant axes. Additionally, we show important properties of our scheme, such as robustness against varying selectivities, and demonstrate improvements of up to two orders of magnitude over existing approaches in our experimental evaluation.
Kevin Wellenzohn, Michael H. Böhlen, Sven Helmer
Proc. VLDB Endow.2
2019 Outer and Anti Joins in Temporal-Probabilistic Databases
abstract
The result of a temporal-probabilistic (TP) join with negation includes, at each time point, the probability with which a tuple of a positive relation p matches none of the tuples in a negative relation n, for a given join condition θ. For the computation of TP joins with negation, we introduce generalized lineage-aware temporal windows, a mechanism that binds an interval to the lineages of all the matching valid tuples of each input relation. We compute these windows in an incremental manner, and we show that pipelined computations allow for the direct integration of our approach into PostgreSQL. We thereby alleviate the prevalent redundancies in the interval computations of existing approaches, which is proven by an extensive experimental evaluation with real-world datasets.
Katerina Papaioannou, Martin Theobald, Michael H. Böhlen
ICDE3
2019 Snapshot Semantics for Temporal Multiset Relations
abstract
Snapshot semantics is widely used for evaluating queries over temporal data: temporal relations are seen as sequences of snapshot relations, and queries are evaluated at each snapshot. In this work, we demonstrate that current approaches for snapshot semantics over interval-timestamped multiset relations are subject to two bugs regarding snapshot aggregation and bag difference. We introduce a novel temporal data model based on K -relations that overcomes these bugs and prove it to correctly encode snapshot semantics. Furthermore, we present an efficient implementation of our model as a database middleware and demonstrate experimentally that our approach is competitive with native implementations.
Anton Dignös, Boris Glavic, Xing Niu 0002, Johann Gamper, Michael H. Böhlen
Proc. VLDB Endow.5
2018 Supporting Set Operations in Temporal-Probabilistic Databases
abstract
In temporal-probabilistic (TP) databases, the combination of the temporal and the probabilistic dimension adds significant overhead to the computation of set operations. Although set queries are guaranteed to yield linearly sized output relations, all of the existing solutions exhibit a quadratic runtime complexity. They suffer from redundant interval comparisons and additional joins for the formation of lineage expressions. In this paper, we formally define TP set operations and study their properties. For their efficient computation, we introduce the lineage-aware temporal window, a mechanism that binds intervals with lineage expressions. We suggest the lineage-aware window advancer (LAWA) for producing lineage-aware temporal windows, which enable direct filtering of irrelevant intervals and finalization of output lineage expressions. This way, we compute TP set operations in linearithmic time. A series of experiments over both synthetic and real-world datasets show that (a) our approach has predictable performance, which depends only on the size of the input relations and not on the number of time intervals per fact or the overlap of the time intervals, and that (b) it outperforms state-of-the-art approaches.
Katerina Papaioannou, Martin Theobald, Michael H. Böhlen
ICDE3
2017 Continuous Imputation of Missing Values in Streams of Pattern-Determining Time Series
abstract
Time series data is ubiquitous but often incomplete, e.g., due to sensor failures and transmission errors. Since many applications require complete data, missing values must be imputed before further data processing is possible. We propose Top-k Case Matching (TKCM) to impute missing values in streams of time series data. TKCM defines for each time series a set of reference time series and exploits similar historical situations in the reference time series for the imputation. A situation is characterized by the anchor point of a pattern that consists of l consecutive measurements over the reference time series. A missing value in a time series s is derived from the values of s at the anchor points of the k most similar patterns. We show that TKCM imputes missing values consistently if the reference time series pattern-determine time series s, i.e., the pattern of length l at time tn is repeated at least k times in the reference time series and the corresponding values of s at the anchor time points are similar to each other. In contrast to previous work, we support time series that are not linearly correlated but, e.g., phase shifted. TKCM is resilient to consecutively missing values, and the accuracy of the imputed values does not decrease if blocks of values are missing. The results of an exhaustive experimental evaluation using real-world and synthetic data shows that we outperform the state-of-the-art solutions.
Kevin Wellenzohn, Michael H. Böhlen, Anton Dignös, Johann Gamper, Hannes Mitterer
EDBT2
2017 VISOR: Visualizing Summaries of Ordered Data
abstract
In this paper, we present the VISOR tool, which helps the user to explore data and their summary structures by visualizing the relationships between the size k of a data summary and the induced error. Given an ordered dataset, VISOR allows to vary the size k of a data summary and to immediately see the effect on the induced error, by visualizing the error and its dependency on k in an ϵ-graph and Δ-graph, respectively. The user can easily explore different values of k and determine the best value for the summary size. VISOR allows also to compare different summarization methods, such as piecewise constant approximation, piecewise aggregation approximation or V-optimal histograms. We show several demonstration scenarios, including how to determine an appropriate value for the summary size and comparing different summarization techniques.
Giovanni Mahlknecht, Michael H. Böhlen, Anton Dignös, Johann Gamper
SSDBM2
2017 Category- and selection-enabled nearest neighbor joins
Francesco Cafagna, Michael H. Böhlen, Annelies Bracher
Inf. Syst.2
2017 Disjoint interval partitioning
Francesco Cafagna, Michael H. Böhlen
VLDB J.2
2016 TemProRA: Top-k temporal-probabilistic results analysis
abstract
The study of time and probability, as two combined dimensions in database systems, has focused on the correct and efficient computation of the probabilities and time intervals. However, there is a lack of analytical information that allows users to understand and tune the probability of time-varying result tuples. In this demonstration, we present TemProRA, a system that focuses on the analysis of the top-k temporal probabilistic results of a query. We propose the Temporal Probabilistic Lineage Tree (TPLT), the Temporal Probabilistic Bubble Chart (TPBC) and the Temporal Probabilistic Column Chart (TPCC): for each output tuple these three tools are created to provide the user with the most important information to systematically modify the time-varying probability of result tuples. The effectiveness and usefulness of TemProRA are demonstrated through queries performed on a dataset created based on data from Migros, the leading Swiss supermarket branch.
Katerina Papaioannou, Michael H. Böhlen
ICDE2
2016 Extending the Kernel of a Relational DBMS with Comprehensive Support for Sequenced Temporal Queries
abstract
Many databases contain temporal, or time-referenced, data and use intervals to capture the temporal aspect. While SQL-based database management systems (DBMSs) are capable of supporting the management of interval data, the support they offer can be improved considerably. A range of proposed temporal data models and query languages offer ample evidence to this effect. Natural queries that are very difficult to formulate in SQL are easy to formulate in these temporal query languages. The increased focus on analytics over historical data where queries are generally more complex exacerbates the difficulties and thus the potential benefits of a temporal query language. Commercial DBMSs have recently started to offer limited temporal functionality in a step-by-step manner, focusing on the representation of intervals and neglecting the implementation of the query evaluation engine. This article demonstrates how it is possible to extend the relational database engine to achieve a full-fledged, industrial-strength implementation of sequenced temporal queries, which intuitively are queries that are evaluated at each time point. Our approach reduces temporal queries to nontemporal queries over data with adjusted intervals, and it leaves the processing of nontemporal queries unaffected. Specifically, the approach hinges on three concepts: interval adjustment , timestamp propagation , and attribute scaling . Interval adjustment is enabled by introducing two new relational operators, a temporal normalizer and a temporal aligner, and the latter two concepts are enabled by the replication of timestamp attributes and the use of so-called scaling functions. By providing a set of reduction rules, we can transform any temporal query, expressed in terms of temporal relational operators, to a query expressed in terms of relational operators and the two new operators. We prove that the size of a transformed query is linear in the number of temporal operators in the original query. An integration of the new operators and the transformation rules, along with query optimization rules, into the kernel of PostgreSQL is reported. Empirical studies with the resulting temporal DBMS are covered that offer insights into pertinent design properties of the article's proposal. The new system is available as open-source software.
Anton Dignös, Michael H. Böhlen, Johann Gamper, Christian S. Jensen
ACM Trans. Database Syst.2
2015 Nearest Neighbour Join with Groups and Predicates
abstract
This paper proposes the nearest neighbor join, r x T [G, Θ] s, with similarity on T, and integrated support for grouping attributes G and selection predicates Θ. The corresponding valuation algorithm, roNNJ, is robust and does not suffer from redundant fetches and index false hits, which are major performance bottlenecks in nearest neighbour joins that do not support grouping attributes and selection predicates. Our solution does not compute redundant fetches since it accesses the fact table only once, and uses the groups of the outer relation to limit the fact table to its relevant portions. We experimentally evaluate our solution using a data warehouse that manages analyses of animal feeds, and the TPC-H.
Francesco Cafagna, Michael H. Böhlen, Annelies Bracher
DOLAP2
2015 Using Lowly Correlated Time Series to Recover Missing Values in Time Series: A Comparison Between SVD and CD
Mourad Khayati, Michael H. Böhlen, Philippe Cudré-Mauroux
SSTD2
2015 Special issue on best papers of VLDB 2013
Michael H. Böhlen, Christoph Koch 0001
VLDB J.1
2014 A Robust Skip-Till-Next-Match Selection Strategy for Event Pattern Matching
Bruno Cadonna, Johann Gamper, Michael H. Böhlen
ADBIS3
2014 Memory-efficient centroid decomposition for long time series
abstract
Real world applications that deal with time series data often rely on matrix decomposition techniques, such as the Singular Value Decomposition (SVD). The Centroid Decomposition (CD) approximates the Singular Value Decomposition, but does not scale to long time series because of the quadratic space complexity of the sign vector computation. In this paper, we propose a greedy algorithm, termed Scalable Sign Vector (SSV), to efficiently determine sign vectors for CD applications with long time series, i.e., where the number of rows (observations) is much larger than the number of columns (time series). The SSV algorithm starts with a sign vector consisting of only 1s and iteratively changes the sign of the element that maximizes the benefit. The space complexity of the SSV algorithm is linear in the length of the time series. We provide proofs for the scalability, the termination and the correctness of the SSV algorithm. Experiments with real world hydrological time series and data sets from the UCR repository validate the analytical results and show the scalability of SSV.
Mourad Khayati, Michael H. Böhlen, Johann Gamper
ICDE2
2014 Overlap interval partition join
abstract
Each tuple in a valid-time relation includes an interval attribute T that represents the tuple's valid time. The overlap join between two valid-time relations determines all pairs of tuples with overlapping intervals. Although overlap joins are common, existing partitioning and indexing schemes are inefficient if the data includes long-lived tuples or if intervals intersect partition boundaries.
Anton Dignös, Michael H. Böhlen, Johann Gamper
SIGMOD Conference2
2013 Efficient Evaluation of Ad-Hoc Range Aggregates
Christian Ammendola, Michael H. Böhlen, Johann Gamper
DaWaK2
2013 Query time scaling of attribute values in interval timestamped databases
abstract
In valid-time databases with interval timestamping each tuple is associated with a time interval over which the recorded fact is true in the modeled reality. The adjustment of these intervals is an essential part of processing interval timestamped data. Some attribute values remain valid if the associated interval changes, whereas others have to be scaled along with the time interval. For example, attributes that record total (cumulative) quantities over time, such as project budgets, total sales or total costs, often must be scaled if the timestamp is adjusted. The goal of this demo is to show how to support the scaling of attribute values in SQL at query time.
Anton Dignös, Michael H. Böhlen, Johann Gamper
ICDE2
2013 The address connector: noninvasive synchronization of hierarchical data sources
Nikolaus Augsten, Michael H. Böhlen, Johann Gamper
Knowl. Inf. Syst.2
2013 Front Matter
Michael H. Böhlen, Christoph Koch 0001
Proc. VLDB Endow.1
2012 Efficient event pattern matching with match windows
abstract
In event pattern matching a sequence of input events is matched against a complex query pattern that specifies constraints on extent, order, values, and quantification of matching events. In this paper we propose a general pattern matching strategy that consists of a pre-processing step and a pattern matching step. Instead of eagerly matching incoming events, the pre-processing step buffers events in a match window to apply different pruning techniques (filtering, partitioning, and testing for necessary match conditions). In the second step, an event pattern matching algorithm, A, is called only for match windows that satisfy the necessary match conditions. This two-phase strategy with a lazy call of the matching algorithm significantly reduces the number of events that need to be processed by A as well as the number of calls to A. This is important since pattern matching algorithms tend to be expensive in terms of runtime and memory complexity, whereas the pre-processing can be done very efficiently. We conduct extensive experiments using real-world data with pattern matching algorithms for, respectively, automata and join trees. The experimental results confirm the effectiveness of our strategy for both types of pattern matching algorithms.
Bruno Cadonna, Johann Gamper, Michael H. Böhlen
KDD3
2012 Temporal alignment
abstract
In order to process interval timestamped data, the sequenced semantics has been proposed. This paper presents a relational algebra solution that provides native support for the three properties of the sequenced semantics: snapshot reducibility, extended snapshot reducibility, and change preservation. We introduce two temporal primitives, temporal splitter and temporal aligner, and define rules that use these primitives to reduce the operators of a temporal algebra to their nontemporal counterparts. Our solution supports the three properties of the sequenced semantics through interval adjustment and timestamp propagation. We have implemented the temporal primitives and reduction rules in the kernel of PostgreSQL to get native database support for processing interval timestamped data. The support is comprehensive and includes outer joins, antijoins, and aggregations with predicates and functions over the time intervals of argument relations. The implementation and empirical evaluation confirms effectiveness and scalability of our solution that leverages existing database query optimization techniques.
Anton Dignös, Michael H. Böhlen, Johann Gamper
SIGMOD Conference2
2012 Scalable Computation of Isochrones with Network Expiration
Johann Gamper, Michael H. Böhlen, Markus Innerebner
SSDBM2
2012 Windowed pq-grams for approximate joins of data-centric XML
Nikolaus Augsten, Michael H. Böhlen, Curtis E. Dyreson, Johann Gamper
VLDB J.2
2012 Parsimonious temporal aggregation
Juozas Gordevicius, Johann Gamper, Michael H. Böhlen
VLDB J.3
2012 Measuring structural similarity of semistructured data based on information-theoretic approaches
Sven Helmer, Nikolaus Augsten, Michael H. Böhlen
VLDB J.3
2011 Querying Versioned Software Repositories
Dietrich Christopeit, Michael H. Böhlen, Carl-Christian Kanne, Arturas Mazeika
ADBIS2
2011 Declarative Serializable Snapshot Isolation
Christian Tilgner, Boris Glavic, Michael H. Böhlen, Carl-Christian Kanne
ADBIS3
2011 Defining isochrones in multimodal spatial networks
abstract
An isochrone in a spatial network is the minimal, possibly disconnected subgraph that covers all locations from where a query point is reachable within a given time span and by a given arrival time. In this paper we formally define isochrones for multimodal spatial networks with different transportation modes that can be discrete or continuous in, respectively, space and time. For the computation of isochrones we propose the multimodal incremental network expansion (MINE) algorithm, which is independent of the actual network size and depends only on the size of the isochrone. An empirical study using real-world data confirms the analytical results.
Johann Gamper, Michael H. Böhlen, Willi Cometti, Markus Innerebner
CIKM2
2011 Sequenced event set pattern matching
abstract
Event pattern matching is a query technique where a sequence of input events is matched against a complex pattern that specifies constraints on extent, order, values, and quantification of matching events. The increasing importance of such query techniques is underpinned by a significant amount of research work, the availability of commercial products, and by a recent proposal to extend SQL for event pattern matching. The proposed SQL extension includes an operator PERMUTE, which allows to express patterns that match any permutation of a set of events. No implementation of this operator is known to the authors.In this paper, we study the sequenced event set pattern matching problem, which is the problem of matching a sequence of input events against a complex pattern that specifies a sequence of sets of events rather than a sequence of single events. Similar to the PERMUTE operator, events that match with a set specified in the pattern can occur in any permutation, whereas events that match with different sets have to be strictly consecutive, following the order of the sets in the pattern specification. We formally define the problem of sequenced event set pattern matching, propose an automaton-based evaluation algorithm, and provide a detailed analysis of its runtime complexity. An empirical evaluation with real-world data shows that our algorithm outperforms a brute force approach that uses existing techniques to solve the sequenced event set pattern matching problem, and it validates the results from our complexity analysis.
Bruno Cadonna, Johann Gamper, Michael H. Böhlen
EDBT3
2011 theta-Constrained multi-dimensional aggregation
Michael O. Akinde, Michael H. Böhlen, Damianos Chatziantoniou, Johann Gamper
Inf. Syst.2
2011 Efficient Top-k Approximate Subtree Matching in Small Memory
abstract
We consider the Top-k Approximate Subtree Matching (tasm) problem: finding the k best matches of a small query tree within a large document tree using the canonical tree edit distance as a similarity measure between subtrees. Evaluating the tree edit distance for large XML trees is difficult: the best known algorithms have cubic runtime and quadratic space complexity, and, thus, do not scale. Our solution is tasm-postorder, a memory-efficient and scalable tasm algorithm. We prove an upper bound for the maximum subtree size for which the tree edit distance needs to be evaluated. The upper bound depends on the query and is independent of the document size and structure. A core problem is to efficiently prune subtrees that are above this size threshold. We develop an algorithm based on the prefix ring buffer that allows us to prune all subtrees above the threshold in a single postorder scan of the document. The size of the prefix ring buffer is linear in the threshold. As a result, the space complexity of tasm-postorder depends only on k and the query size, and the runtime of tasm-postorder is linear in the size of the document. Our experimental evaluation on large synthetic and real XML documents confirms our analytic results.
Nikolaus Augsten, Denilson Barbosa 0001, Michael H. Böhlen, Themis Palpanas
IEEE Trans. Knowl. Data Eng.3
2011 Sequenced spatiotemporal aggregation for coarse query granularities
Igor Timko, Michael H. Böhlen, Johann Gamper
VLDB J.2
2010 TASM: Top-k Approximate Subtree Matching
abstract
We consider the Top-k Approximate Subtree Matching (TASM) problem: finding the k best matches of a small query tree, e.g., a DBLP article with 15 nodes, in a large document tree, e.g., DBLP with 26M nodes, using the canonical tree edit distance as a similarity measure between subtrees. Evaluating the tree edit distance for large XML trees is difficult: the best known algorithms have cubic runtime and quadratic space complexity, and, thus, do not scale. Our solution is TASM-postorder, a memory-efficient and scalable TASM algorithm. We prove an upper-bound for the maximum subtree size for which the tree edit distance needs to be evaluated. The upper bound depends on the query and is independent of the document size and structure. A core problem is to efficiently prune subtrees that are above this size threshold. We develop an algorithm based on the prefix ring buffer that allows us to prune all subtrees above the threshold in a single postorder scan of the document. The size of the prefix ring buffer is linear in the threshold. As a result, the space complexity of TASM-postorder depends only on k and the query size, and the runtime of TASM-postorder is linear in the size of the document. Our experimental evaluation on large synthetic and real XML documents confirms our analytic results.
Nikolaus Augsten, Denilson Barbosa 0001, Michael H. Böhlen, Themis Palpanas
ICDE3
2010 On the Efficient Construction of Multislices from Recurrences
Romans Kasperovics, Michael H. Böhlen, Johann Gamper
SSDBM2
2010 The pq-gram distance between ordered labeled trees
abstract
When integrating data from autonomous sources, exact matches of data items that represent the same real-world object often fail due to a lack of common keys. Yet in many cases structural information is available and can be used to match such data. Typically the matching must be approximate since the representations in the sources differ. We propose pq -grams to approximately match hierarchical data from autonomous sources and define the pq -gram distance between ordered labeled trees as an effective and efficient approximation of the fanout weighted tree edit distance. We prove that the pq -gram distance is a lower bound of the fanout weighted tree edit distance and give a normalization of the pq -gram distance for which the triangle inequality holds. Experiments on synthetic and real-world data (residential addresses and XML) confirm the scalability of our approach and show the effectiveness of pq -grams.
Nikolaus Augsten, Michael H. Böhlen, Johann Gamper
ACM Trans. Database Syst.2
2009 Parsimonious temporal aggregation
abstract
Temporal aggregation is a crucial operator in temporal databases and has been studied in various flavors, including instant temporal aggregation (ITA) and span temporal aggregation (STA), each having its strengths and weaknesses. In this paper we define a new temporal aggregation operator, called parsimonious temporal aggregation (PTA), which comprises two main steps: (i) it computes the ITA result over the input relation and (ii) it compresses this intermediate result to a user-specified size c by merging adjacent tuples and keeping the induced total error minimal; the compressed ITA result is returned as the final result. By considering the distribution of the input data and allowing to control the result size, PTA combines the best features of ITA and STA. We provide two evaluation algorithms for PTA queries. First, the oPTA algorithm computes an exact solution, by applying dynamic programming to explore all possibilities to compress the ITA result and selecting the compression with the minimal total error. It runs in O(n2pc) time and O(n2) space, where n is the size of the input relation and p is the number of aggregation functions in the query. Second, the more efficient gPTA algorithm computes an approximate solution by greedily merging the most similar ITA result tuples, which, however, does not guarantee a compression with a minimal total error. gPTA intermingles the two steps of PTA and avoids large intermediate results. The compression step of gPTA runs in O(np log(c + δ)) time and O(c + δ) space, where δ is a small buffer for "look ahead". An empirical evaluation shows good results: considerable reductions of the result size introduce only small errors, and gPTA scales to large data sets and is only slightly worse than the exact solution of PTA.
Juozas Gordevicius, Johann Gamper, Michael H. Böhlen
EDBT3
2009 Sequenced spatio-temporal aggregation in road networks
abstract
Many applications of spatio-temporal databases require support for sequenced spatio-temporal (SST) aggregation, e. g., when analyzing traffic density in a city. Conceptually, an SST aggregation produces one aggregate value for each point in time and space.
Igor Timko, Michael H. Böhlen, Johann Gamper
EDBT2
2009 Evaluating Exceptions on Time Slices
Romans Kasperovics, Michael H. Böhlen, Johann Gamper
ER2
2009 CORE: Nonparametric Clustering of Large Numeric Databases
abstract
Current clustering techniques are able to identify arbitrarily shaped clusters in the presence of noise, but depend on carefully chosen model parameters. The choice of model parameters is difficult: it depends on the data and the clustering technique at hand, and finding good model parameters often requires time consuming human interaction. In this paper we propose CORE, a new nonparametric clustering technique that explicitly computes the local maxima of the density and represents them with cores. CORE proposes an adaptive grid and gradients to define and compute the cores of clusters. The incrementally constructed adaptive grid and the gradients make the identification of cores robust, scalable, and independent of small density fluctuations. Our experimental studies show that CORE without any carefully chosen model parameters produces better quality clustering than related techniques and is efficient for large datasets.
Andrej Taliun, Michael H. Böhlen, Arturas Mazeika
SDM2
2008 Analysis and Interpretation of Visual Hierarchical Heavy Hitters of Binary Relations
Arturas Mazeika, Michael H. Böhlen, Daniel Trivellato
ADBIS2
2008 Approximate Joins for Data-Centric XML
abstract
In data integration applications, a join matches elements that are common to two data sources. Often, however, elements are represented slightly different in each source, so an approximate join must be used. For XML data, most approximate join strategies are based on some ordered tree matching technique. But in data-centric XML the order is irrelevant: two elements should match even if their subelement order varies. In this paper we give a solution for the approximate join of unordered trees. Our solution is based on windowed pq-grams. We develop an efficient technique to systematically generate windowed pq-grams in a three-step process: sorting the unordered tree, extending the sorted tree with dummy nodes, and computing the windowed pq-grams on the extended tree. The windowed pq-gram distance between two sorted trees approximates the tree edit distance between the respective unordered trees. The approximate join algorithm based on windowed pq-grams is implemented as an equality join on strings which avoids the costly computation of the distance between every pair of input trees. Our experiments with synthetic and real world data confirm the analytic results and suggest that our technique is both useful and scalable.
Nikolaus Augsten, Michael H. Böhlen, Curtis E. Dyreson, Johann Gamper
ICDE2
2007 Versioned Relations: Support for Conditional Schema Changes and Schema Versioning
Peter Sune Jørgensen, Michael H. Böhlen
DASFAA2
2007 A web-enabled extension of a spatio-temporal DBMS
abstract
Many database applications deal with spatio-temporal phenomena, and during the last decade a lot of research targeted location-based services, moving objects, traffic jam preventions, meteorology, etc. In strong contrast, there exist only very few proposals for an implementation of a spatio-temporal database system let alone a web-based spatio-temporal information system.
Markus Innerebner, Michael H. Böhlen, Igor Timko
GIS2
2007 Estimating the selectivity of approximate string queries
abstract
Approximate queries on string data are important due to the prevalence of such data in databases and various conventions and errors in string data. We present the VSol estimator, a novel technique for estimating the selectivity of approximate string queries. The VSol estimator is based on inverse strings and makes the performance of the selectivity estimator independent of the number of strings. To get inverse strings we decompose all database strings into overlapping substrings of length q (q-grams) and then associate each q-gram with its inverse string: the IDs of all strings that contain the q-gram. We use signatures to compress inverse strings, and clustering to group similar signatures. We study our technique analytically and experimentally. The space complexity of our estimator only depends on the number of neighborhoods in the database and the desired estimation error. The time to estimate the selectivity is independent of the number of database strings and linear with respect to the length of query string. We give a detailed empirical performance evaluation of our solution for synthetic and real-world datasets. We show that VSol is effective for large skewed databases of short strings.
Arturas Mazeika, Michael H. Böhlen, Nick Koudas, Divesh Srivastava
ACM Trans. Database Syst.2
2006 PPPA: Push and Pull Pedigree Analyzer for Large and Complex Pedigree Databases
Arturas Mazeika, Janis Petersons, Michael H. Böhlen
ADBIS3
2006 Querying Multi-granular Compact Representations
Romans Kasperovics, Michael H. Böhlen
DASFAA2
2006 Multi-dimensional Aggregation for Temporal Data
Michael H. Böhlen, Johann Gamper, Christian S. Jensen
EDBT1
2006 TeNDaX, a Collaborative Database-Based Real-Time Editor System
Stefania Leone, Thomas B. Hodel-Widmer, Michael H. Böhlen, Klaus R. Dittrich
EDBT3
2006 Multi-dimensional Histograms with Tight Bounds for the Error
abstract
Histograms are being used as non-parametric selectivity estimators for one-dimensional data. For high-dimensional data it is common to either compute one-dimensional histograms for each attribute or to compute a multi-dimensional equi-width histogram for a set of attributes. This either yields small low-quality or large high-quality histograms. In this paper we introduce HIRED (high-dimensional histograms with dimensionality reduction): small high-quality histograms for multi-dimensional data. HIRED histograms are adaptive, and they are based on the shape error and directional splits. The shape error permits a precise control of the estimation error of the histogram and, together with directional splits, yields a memory complexity that does not depend on the number of uniform attributes in the dataset. We provide extensive experimental results with synthetic and real world datasets. The experiments confirm that our method is as precise as state-of-the-art techniques and uses orders of magnitude less memory
Linas Baltrunas, Arturas Mazeika, Michael H. Böhlen
IDEAS3
2006 An Incrementally Maintainable Index for Approximate Lookups in Hierarchical Data
Nikolaus Augsten, Michael H. Böhlen, Johann Gamper
VLDB2
2006 Adaptive Density Estimation
Arturas Mazeika, Michael H. Böhlen, Andrej Taliun
VLDB2
2005 Approximate Matching of Hierarchical Data Using pq-Grams
Nikolaus Augsten, Michael H. Böhlen, Johann Gamper
VLDB2
2004 Lossless Conditional Schema Evolution
Michael H. Böhlen
ER2
2004 Query Load Balancing for Incremental Visible Object Extraction
Linas Bukauskas, Michael H. Böhlen
IDEAS2
2004 Parameter Estimation Using B-Trees
Albrecht Schmidt 0002, Michael H. Böhlen
IDEAS2
2003 iTopN: incremental extraction of the N most visible objects
abstract
The visual exploration of large databases calls for a tight coupling of database and visualization systems. Current visualization systems typically fetch all the data and organize it in a scene tree, which is then used to render the visible data. For immersive data explorations, where an observer navigates in a potentially huge data space and explores selected data regions this approach is inadequate. A scalable approach is to make the database system observer-aware and exchange the data that is visible and most relevant to the observer.In this paper we present iTopN an incremental algorithm for extracting the most visible objects relative to the current position of the observer. We implement iTopN and compare it to an improved version of the R-tree that extends LRU with the caching of the top levels of the R-tree (LW-LRU). Our experiments show that iTopN is orders of magnitude faster than LW-LRU given the same amount of memory. Our experiments also show that for LW-LRU to perform as fast as iTopN it needs three times as much memory.
Linas Bukauskas, Leo Mark, Edward Omiecinski, Michael H. Böhlen
CIKM4
2003 Efficient Computation of Subqueries in Complex OLAP
abstract
Expressing complex OLAP queries involving nested expressions using normal group-by, aggregation, and joins can be extremely difficult. We propose a technique that translates nested query expressions into an algebra extended with a complex OLAP operator. The GMDJ is an operator with a simple and easy to optimize implementation that is particularly useful for OLAP computations because the size of intermediate results is bound by the size of the base-value argument relation. We show that all SQL subqueries can be expressed in the algebra using GMDJs. This not only makes it easy to integrate subqueries into any query engine that supports GMDJs, but also gives access to a broad range of OLAP optimization strategies for evaluating subqueries. We discuss the coalescing of GMDJs and the completion of tuples, two GMDJ optimizations that are particularly relevant to subquery processing. Our experimental results demonstrate the validity and efficiency of our approach for computing subquery expressions.
Michael O. Akinde, Michael H. Böhlen
ICDE2
2003 Efficient OLAP query processing in distributed data warehouses
Michael O. Akinde, Michael H. Böhlen, Theodore Johnson, Laks V. S. Lakshmanan, Divesh Srivastava
Inf. Syst.2
2002 Efficient OLAP Query Processing in Distributed Data Warehouses
Michael O. Akinde, Michael H. Böhlen, Theodore Johnson, Laks V. S. Lakshmanan, Divesh Srivastava
EDBT2
2002 Efficient OLAP Query Processing in Distributed Data Warehouse
abstract
The success of Internet applications has led to an explosive growth in the demand for bandwidth from ISPs. Managing an IP network includes complex data analysis that can often be expressed as OLAP queries. Current day OLAP tools assume the availability of the detailed data in a centralized warehouse. However, the inherently distributed nature of the data collection (e.g., flow-level traffic statistics are gathered at network routers) and the huge amount of data extracted at each collection point (of the order of several gigabytes per day for large IP networks) makes such an approach highly impractical. The natural solution to this problem is to maintain a distributed data warehouse, consisting of multiple local data warehouses (sites) adjacent to the collection points, together with a coordinator. In order for such a solution to make sense, we need a technology for distributed processing of complex OLAP queries. We have developed the Skalla system for this task. We conducted an experimental study of the Skalla evaluation scheme using TPC(R) data.
Michael O. Akinde, Michael H. Böhlen, Theodore Johnson, Laks V. S. Lakshmanan, Divesh Srivastava
ICDE2
2001 MetaXPath
Curtis E. Dyreson, Michael H. Böhlen, Christian S. Jensen
Dublin Core Conference2
2001 A Split Operator for Now-Relative Bitemporal Databases
abstract
The timestamps of now-relative bitemporal databases are modeled as growing, shrinking or rectangular regions. The shape of these regions makes it a challenge to design bitemporal operators that (a) are consistent with the point-based interpretation of a temporal database, (b) preserve the identity of the argument timestamps, (c) ensure locality and (d) perform efficiently. We identify the bitemporal split operator as the basic primitive to implement a wide range of advanced now-relative bitemporal operations. The bitemporal split operator splits each tuple of a bitemporal argument relation, such that equality and standard nontemporal algorithms can be used to implement the bitemporal counterparts with the aforementioned properties. Both a native database algorithm and an SQL implementation are provided. Our performance results show that the bitemporal split operator outperforms related approaches by orders of magnitude and scales well.
Mikkel Agesen, Michael H. Böhlen, Lasse Poulsen, Kristian Torp
ICDE2
2001 Querying ATSQL databases with temporal logic
abstract
We establish a correspondence between temporal logic and a subset of ATSQL, a temporal extension of SQL-92. In addition, we provide an effective translation from temporal logic to ATSQL that enables a user to write high-level queries which are then evaluated against a space-efficient representation of the database. A reverse translation, also provided in this paper, characterizes the expressive power of a syntactically defined subset of ATSQL queries.
Jan Chomicki, David Toman 0001, Michael H. Böhlen
ACM Trans. Database Syst.3
2000 Temporal statement modifiers
Michael H. Böhlen, Christian S. Jensen, Richard T. Snodgrass
ACM Trans. Database Syst.1
2000 A foundation for representing and querying moving objects
abstract
Spatio-temporal databases deal with geometries changing over time. The goal of our work is to provide a DBMS data model and query language capable of handling such time-dependent geometries, including those changing continuously that describe moving objects . Two fundamental abstractions are moving point and moving region , describing objects for which only the time-dependent position, or position and extent, respectively, are of interest. We propose to present such time-dependent geometries as attribute data types with suitable operations, that is, to provide an abstract data type extension to a DBMS data model and query language. This paper presents a design of such a system of abstract data types. It turns out that besides the main types of interest, moving point and moving region, a relatively large number of auxiliary data types are needed. For example, one needs a line type to represent the projection of a moving point into the plane, or a “moving real” to represent the time-dependent distance of two points. It then becomes crucial to achieve (i) orthogonality in the design of the system, i.e., type constructors can be applied unifomly; (ii) genericity and consistency of operations, i.e., operations range over as many types as possible and behave consistently; and (iii) closure and consistency between structure and operations of nontemporal and related temporal types. Satisfying these goal leads to a simple and expressive system of abstract data types that may be integrated into a query language to yield a powerful language for querying spatio-temporal data, including moving objects. The paper formally defines the types and operations, offers detailed insight into the considerations that went into the design, and exemplifies the use of the abstract data types using SQL. The paper offers a precise and conceptually clean foundation for implementing a spatio-temporal DBMS extension.
Ralf Hartmut Güting, Michael H. Böhlen, Martin Erwig, Christian S. Jensen, Nikos A. Lorentzos, Markus Schneider 0001, Michalis Vazirgiannis
ACM Trans. Database Syst.2
1999 The Jungle Database Search Engine
Michael H. Böhlen, Linas Bukauskas, Curtis E. Dyreson
SIGMOD Conference1
1999 Capturing and Querying Multiple Aspects of Semistructured Data
Curtis E. Dyreson, Michael H. Böhlen, Christian S. Jensen
VLDB2
1998 Minimizing Detail Data in Data Warehouses
Michael O. Akinde, Michael H. Böhlen
EDBT3
1998 Point-Versus Interval-Based Temporal Data Models
abstract
The association of timestamps with various data items such as tuples or attribute values is fundamental to the management of time varying information. Using intervals in timestamps, as do most data models, leaves a data model with a variety of choices for giving a meaning to timestamps. Specifically, some such data models claim to be point based while other data models claim to be interval based. The meaning chosen for timestamps is important it has a pervasive effect on most aspects of a data model, including database design, a variety of query language properties, and query processing techniques, e.g., the availability of query optimization opportunities. The paper precisely defines the notions of point based and interval based temporal data models, thus providing a new formal basis for characterizing temporal data models and obtaining new insights into the properties of their query languages. Queries in point based models treat snapshot equivalent argument relations identically. This renders point based models insensitive to coalescing. In contrast, queries in interval based models give significance to the actual intervals used in the timestamps, thus generally treating non identical, but possibly snapshot equivalent relations differently. The paper identifies the notion of time fragment preservation as the essential defining property of an interval based data model.
Michael H. Böhlen, Renato Busatto, Christian S. Jensen
ICDE1
1997 Layered Temporal DBMS: Concepts and Techniques
Kristian Torp, Christian S. Jensen, Michael H. Böhlen
DASFAA3
1996 Querying TSQL2 Databases with Temporal Logic
Michael H. Böhlen, Jan Chomicki, Richard T. Snodgrass, David Toman 0001
EDBT1
1996 Coalescing in Temporal Databases
Michael H. Böhlen, Richard T. Snodgrass, Michael D. Soo
VLDB1