24 research outputs found
An Improved Algorithm for Generating Database Transactions from Relational Algebra Specifications
Alloy is a lightweight modeling formalism based on relational algebra. In
prior work with Fisler, Giannakopoulos, Krishnamurthi, and Yoo, we have
presented a tool, Alchemy, that compiles Alloy specifications into
implementations that execute against persistent databases. The foundation of
Alchemy is an algorithm for rewriting relational algebra formulas into code for
database transactions. In this paper we report on recent progress in improving
the robustness and efficiency of this transformation
Array Requirements for Scientific Applications and an Implementation for Microsoft SQL Server
This paper outlines certain scenarios from the fields of astrophysics and
fluid dynamics simulations which require high performance data warehouses that
support array data type. A common feature of all these use cases is that
subsetting and preprocessing the data on the server side (as far as possible
inside the database server process) is necessary to avoid the client-server
overhead and to minimize IO utilization. Analyzing and summarizing the
requirements of the various fields help software engineers to come up with a
comprehensive design of an array extension to relational database systems that
covers a wide range of scientific applications. We also present a working
implementation of an array data type for Microsoft SQL Server 2008 to support
large-scale scientific applications. We introduce the design of the array type,
results from a performance evaluation, and discuss the lessons learned from
this implementation. The library can be downloaded from our website at
http://voservices.net/sqlarray
Comprehension Syntax
The syntax of comprehensions is very close to the syntax of a number of practical database query languages and is, we believe, a better starting point than first-order logic for the development of database languages. We give an informal account of a language based on comprehension syntax that deals uniformly with a variety of collection types; it also includes pattern matching, variant types and function definition. We show, again informally, how comprehension syntax is a natural fragment of structural recursion, a much more powerful programming paradigm for collection types. We also show that a very small "abstract syntax language" can serve as a basis for the implementation and optimization of comprehension syntax