Database Reference
In-Depth Information
GUI). (4) It provides data manipulation and querying at two levels, that is, not
only in SQL, but also in so-called executable language. The last two features
are important in highly dynamic fields such as trajectory analysis where new
methods often need to be added and used even before they can be fully integrated
into query optimization.
3.3.1 Overview
SECONDO is a DBMS prototype developed since about 1995 at University of
Hagen. It runs on Windows, Linux, and MacOS X platforms and is freely
available, open-source software.
It does not have a fixed data model. Instead, it provides a system frame
that can be filled with implementations of different data models. The parts that
are model dependent are implemented within so-called algebra modules . Each
algebra module provides a collection of data types (type constructors, to be
precise) and operations. Note that algebra modules encompass all parts of a
data model implementation. Hence there are algebra modules with types for
relations and tuples and query processing operations such as join methods, and
there are algebra modules with types for indexes such as a B-tree or R-tree with
the respective search operations.
SECONDO consists of three major components, namely, the kernel ,the opti-
mizer ,andthe graphical user interface (GUI) . These are written in different
programming languages and can run as cooperating processes.
The kernel implements specific data models and is extensible by algebra
modules. It provides query processing over the implemented algebras. It uses an
underlying storage manager (BerkeleyDB) to provide stable storage at the level
of files and records, including transaction management, locking, and recovery.
The kernel is written in C++.
The optimizer is more restricted than the kernel with respect to the data model
as it assumes an object-relational model (including complex attribute data types
such as mpoint ). Its core capability is cost-based conjunctive query optimiza-
tion. 4 It translates SQL queries to query plans in the executable language. The
optimizer is written in Prolog.
The GUI provides an extensible graphical user interface, appropriate for an
extensible DBMS. It is extensible by viewers; a viewer can provide its own
graphical representation, animation, or interaction mode for a specific data type
or collection of types. The GUI contains a powerful viewer for spatial and time-
dependent types which itself is extensible by display methods for new data types.
The GUI is written in Java.
4 Conjunctive query optimization is the fundamental problem: Given a set of relations and a set of
selection and/or join predicates, determine an optimal plan.
Search WWH ::




Custom Search