28,459 research outputs found
Improving the Deductive System DES with Persistence by Using SQL DBMS's
This work presents how persistent predicates have been included in the
in-memory deductive system DES by relying on external SQL database management
systems. We introduce how persistence is supported from a user-point of view
and the possible applications the system opens up, as the deductive expressive
power is projected to relational databases. Also, we describe how it is
possible to intermix computations of the deductive engine and the external
database, explaining its implementation and some optimizations. Finally, a
performance analysis is undertaken, comparing the system with current
relational database systems.Comment: In Proceedings PROLE 2014, arXiv:1501.0169
A generic persistence model for CLP systems (and two useful implementations)
This paper describes a model of persistence in (C)LP languages and two different and practically very useful ways to implement this model in current systems. The fundamental idea is that persistence is a characteristic of certain dynamic predicates (Le., those which encapsulate
state). The main effect of declaring a predicate persistent is that the dynamic changes made to such predicates persist from one execution to the next one. After proposing a syntax for declaring persistent predicates, a simple, file-based implementation of the concept is presented and
some examples shown. An additional implementation is presented which stores persistent predicates in an external datábase. The abstraction of the concept of persistence from its implementation allows developing applications
which can store their persistent predicates alternatively in files or databases with only a few simple changes to a declaration stating the location and modality used for persistent storage. The paper presents the model, the implementation approach in both the cases of using files
and relational databases, a number of optimizations of the process (using information obtained from static global analysis and goal clustering), and performance results from an implementation of these ideas
Apache Calcite: A Foundational Framework for Optimized Query Processing Over Heterogeneous Data Sources
Apache Calcite is a foundational software framework that provides query
processing, optimization, and query language support to many popular
open-source data processing systems such as Apache Hive, Apache Storm, Apache
Flink, Druid, and MapD. Calcite's architecture consists of a modular and
extensible query optimizer with hundreds of built-in optimization rules, a
query processor capable of processing a variety of query languages, an adapter
architecture designed for extensibility, and support for heterogeneous data
models and stores (relational, semi-structured, streaming, and geospatial).
This flexible, embeddable, and extensible architecture is what makes Calcite an
attractive choice for adoption in big-data frameworks. It is an active project
that continues to introduce support for the new types of data sources, query
languages, and approaches to query processing and optimization.Comment: SIGMOD'1
Recommended from our members
Rephrasing rules for off-the-shelf SQL database servers
We have reported previously (Gashi et al., 2004) results of a study with a sample of bug reports from four off-the-shelf SQL servers. We checked whether these bugs caused failures in more than one server. We found that very few bugs caused failures in two servers and none caused failures in more than two. This would suggest a fault-tolerant server built with diverse off-the-shelf servers would be a prudent choice for improving failure detection. To study other aspects of fault tolerance, namely failure diagnosis and state recovery, we have studied the "data diversity" mechanism and we defined a number of SQL rephrasing rules. These rules transform a client sent statement to an additional logically equivalent statement, leading to more results being returned to an adjudicator. These rules therefore help to increase the probability of a correct response being returned to a client and maintain a correct state in the database
A Rule-Based Consultant for Accelerator Beam Scheduling Used in the CERN PS Complex
The CERN PS accelerator complex consists of nine interacting accelerators which work together to produce
particle beams for different end users, varying in particle type, energy, time structure, and geometry. The beam
production schedule is time sliced and depends on the current operational requirements and dynamically on the
accelerator status, so that production schedule changes occur in real time. Many potential schedules are not valid due
to various system constraints and these constraints vary over time as new operational modes are introduced. In order
to ensure that only valid schedules are given to the complex, an automated tool has been developed to indicate
whether a potential schedule is valid or not. This presentation describes the method by which the validity of a beam
schedule is determined and how this method was implemented using a rule-based approach based on SQL, avoiding
the use of an expert system shell. Both the data to instantiate the rules and the rules themselves are kept in an Oracle
data base. The SQL interpreter provides the inference engine for this knowledge-based system. A few examples are
presented and the running experience with the tool is discussed
- …