Results 1 -
9 of
9
Optimizing Object Queries Using an Effective Calculus
- ACM Transactions on Database Systems
, 1998
"... This paper concentrates on query unnesting (also known as query decorrelation), an optimization that, even though improves performance considerably, is not treated properly (if at all) by most OODB systems. Our framework generalizes many unnesting techniques proposed recently in the literature and i ..."
Abstract
-
Cited by 43 (2 self)
- Add to MetaCart
This paper concentrates on query unnesting (also known as query decorrelation), an optimization that, even though improves performance considerably, is not treated properly (if at all) by most OODB systems. Our framework generalizes many unnesting techniques proposed recently in the literature and is capable of removing any form of query nesting using a very simple and efficient algorithm. The simplicity of our method is due to the use of the monoid comprehension calculus as an intermediate form for OODB queries. The monoid comprehension calculus treats operations over multiple collection types, aggregates, and quantifiers in a similar way, resulting in a uniform way of unnesting queries, regardless of their type of nesting.
A Query Calculus for Spatio-Temporal Object Databases
- In: Proc. TIME, IEEE Press
, 2001
"... The development of any comprehensive proposal for spatio-temporal databases involves significant extensions to many aspects of a non-spatio-temporal architecture. One aspect that has received less attention than most is the development of a query calculus that can be used to provide a semantics for ..."
Abstract
-
Cited by 8 (6 self)
- Add to MetaCart
The development of any comprehensive proposal for spatio-temporal databases involves significant extensions to many aspects of a non-spatio-temporal architecture. One aspect that has received less attention than most is the development of a query calculus that can be used to provide a semantics for spatio-temporal queries and underpin an effective query optimization and evaluation framework. In this paper, we show how a query calculus for spatiotemporal object databases that builds upon the monoid calculus proposed by Fegaras and Maier for ODMG-compliant database systems can be developed. The paper shows how an extension of the ODMG type system with spatial and temporal types can be accommodated into the monoid approach. It uses several queries over historical (possibly spatial) data to illustrate how, by mapping them into monoid comprehensions, the way is open for the application of a logical optimizer based on the normalization algorithm proposed by Fegaras and Maier.
A universal calculus for stream processing languages
- In Proceedings of the Conference on Programming Languages and Systems
, 2010
"... Abstract. Stream processing applications such as algorithmic trading, MPEG processing, and web content analysis are ubiquitous and essential to business and entertainment. Language designers have developed numerous domain-specific languages that are both tailored to the needs of their applications, ..."
Abstract
-
Cited by 5 (2 self)
- Add to MetaCart
Abstract. Stream processing applications such as algorithmic trading, MPEG processing, and web content analysis are ubiquitous and essential to business and entertainment. Language designers have developed numerous domain-specific languages that are both tailored to the needs of their applications, and optimized for performance on their particular target platforms. Unfortunately, the goals of generality and performance are frequently at odds, and prior work on the formal semantics of stream processing languages does not capture the details necessary for reasoning about implementations. This paper presents Brooklet, a core calculus for stream processing that allows us to reason about how to map languages to platforms and how to optimize stream programs. We translate from three representative languages, CQL, StreamIt, and Sawzall, to Brooklet, and show that the translations are correct. We formalize three popular and vital optimizations, data-parallel computation, operator fusion, and operator re-ordering, and show under which conditions they are correct. Language designers can use Brooklet to specify exactly how new features or languages behave. Language implementors can use Brooklet to show exactly under which circumstances new optimizations are correct. In ongoing work, we are developing an intermediate language for streaming that is based on Brooklet. We are implementing our intermediate language on System S, IBM’s high-performance streaming middleware. 1
Formal Semantics and Analysis of Object Queries
, 2003
"... Modern database systems provide not only powerful data models but also complex query languages supporting powerful features such as the ability to create new database objects and invocation of arbitrary methods (possibly written in a third-party programming language). ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
Modern database systems provide not only powerful data models but also complex query languages supporting powerful features such as the ability to create new database objects and invocation of arbitrary methods (possibly written in a third-party programming language).
XML Query Optimization in the Presence of Side Effects ABSTRACT
"... The emergence of database languages with side effects, notably for XML, raises significant challenges for database compilers and optimizers. In this paper, we extend an algebra for the W3C XML query language with operations that allow data to be immediately updated. We study the impact of that exten ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
The emergence of database languages with side effects, notably for XML, raises significant challenges for database compilers and optimizers. In this paper, we extend an algebra for the W3C XML query language with operations that allow data to be immediately updated. We study the impact of that extension on logical optimization, join detection, and pipelining. The main result of this work is to show that, with proper care, a number of important optimizations based on nested relational algebras remain applicable in the presence of side effects. Our approach relies on an analysis of the conditions that must be checked in order for algebraic rewritings to hold. An implementation and experimental results demonstrate the effectiveness of the approach.
A Better Semantics for XQuery with Side-Effects
- In Workshop on Database Programming Languages (DBPL
, 2007
"... Abstract. Formal semantics for XQuery with side-effects have been proposed in [13, 16]. We propose a different semantics which is better suited for database compilation. We substantiate this claim by formalizing the compilation of XQuery extended with updates into a database algebra. We prove the co ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
Abstract. Formal semantics for XQuery with side-effects have been proposed in [13, 16]. We propose a different semantics which is better suited for database compilation. We substantiate this claim by formalizing the compilation of XQuery extended with updates into a database algebra. We prove the correctness of the proposed compilation by mapping both the source language and the algebra to a common core language with list comprehensions and extensible tuples. 1
From a calculus to an execution environment for stream processing
, 2012
"... At one level, this paper is about River, a virtual execution environment for stream processing. Stream processing is a paradigm well-suited for many modern data processing systems that ingest high-volume data streams from the real world, such as audio/video streaming, high-frequency trading, and sec ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
At one level, this paper is about River, a virtual execution environment for stream processing. Stream processing is a paradigm well-suited for many modern data processing systems that ingest high-volume data streams from the real world, such as audio/video streaming, high-frequency trading, and security monitoring. One attractive property of stream processing is that it lends itself to parallelization on multi-cores, and even to distribution on clusters when extreme scale is required. Stream processing has been coevolved by several communities, leading to diverse languages with similar core concepts. Providing a common execution environment reduces language development effort and increases portability. We designed River as a practical realization of Brooklet, a calculus for stream processing. So at another level, this paper is about a journey from theory (the calculus) to practice (the execution environment). The challenge is that, by definition, a calculus abstracts away all but the most central concepts. Hence, there are several research questions in concretizing the missing parts, not to mention a significant engineering effort in implementing them. But the effort is well worth it, because the benefit of using a calculus as a foundation is that it yields clear semantics and proven correctness results.
XML Query Optimization in the Presence of Side Effects
"... The emergence of database languages with side effects, notably for XML, raises significant challenges for database compilers and optimizers. In this paper, we extend an algebra for the W3C XML query language with operations that allow data to be immediately updated. We study the impact of that exten ..."
Abstract
- Add to MetaCart
The emergence of database languages with side effects, notably for XML, raises significant challenges for database compilers and optimizers. In this paper, we extend an algebra for the W3C XML query language with operations that allow data to be immediately updated. We study the impact of that extension on logical optimization, join detection, and pipelining. The main result of this work is to show that, with proper care, a number of important optimizations based on nested relational algebras remain applicable in the presence of side effects. Our approach relies on an analysis of the conditions that must be checked in order for algebraic rewritings to hold. An implementation and experimental results demonstrate the effectiveness of the approach. 1.
Type-safe Functional Queries over Object-oriented Data Models
, 2009
"... Utilizing the Java Persistence API (JPA) and its query language Java Persistence Query Language (JPQL), developers can easily interact with relational data structures from the object level. JPQL is overshadowed however with the lack of proper type-safe and functional capabilities. Unlike its counter ..."
Abstract
- Add to MetaCart
Utilizing the Java Persistence API (JPA) and its query language Java Persistence Query Language (JPQL), developers can easily interact with relational data structures from the object level. JPQL is overshadowed however with the lack of proper type-safe and functional capabilities. Unlike its counterpart on the.NET framework, Language INtegrated Query (LINQ). This work discusses, on the one hand, possibilities of translating LINQ into JPQL, and the impact of the newer JPA on the research done so far, and on the other hand, processing of query results as secondary-memory objects that are joined with other ones operating on the main-memory. Large data sets cannot be handled adequately in main-memory, and afflicted with mapping and memory-architecture constraints when moving from one memory to another. Simple iteration techniques in imperative languages lead typically to ineffective nested loops. To the contrary of functional languages, list comprehensions are often deployed there to handle data sets succinctly and dynamically. Comprehensions are reinforced by a proper semantic foundation.

