Skip to content

accarniel/FESTIval

FESTIval

FESTIval is a framework, implemented as a PostgreSQL extension, for conducting experimental evaluations of spatial index structures. The complete documentation of FESTIval is available here.

FESTIval is publicly available in this repository and its current version is 1.1.1. The master repository corresponds to the latest development snapshot of FESTIval. Feel free to see how FESTIval is useful by accessing the publications employing FESTIval.

FESTIval is deeply described in:

Overview

FESTIval (short for Framework to Evaluate SpaTial Indices) is a framework, implemented as a PostgreSQL extension, that has the following goal: to provide a common environment that aids the definition, execution, and analyses of experimental evaluations of different spatial indices, which

  • aim to accelerate the spatial query processing in spatial database systems,
  • can assume distinct configurations (i.e., parameter values) and,
  • might be designed for specific storage devices (e.g., magnetic disks and flash memories).

PostgreSQL has free license and it is an extensible DBMS. By using its internal library, we are able to news functionalities by using a low level program language (e.g., C language) or high level program language (e.g., pl/pgSQL). More details about its extensibility are given here.

FESTIval is implemented in C using the extensibility provided by the PostgreSQL's internal library. FESTIval also employs PostGIS, a PostgreSQL extension that handles spatial objects in relational tables. Therefore, FESTIval acesses spatial objects stored in a column of a relational table (managed by PostGIS) in order to be manipulated by a spatial index.

Characteristics

Currently, FESTIval allows us to:

  • evaluate disk-based spatial indices (i.e., indices for magnetic disks), such as the R-tree.
  • evaluate flash-aware spatial indices (i.e, indices for flash memories), such as the FOR-tree, FAST-based indices, and eFIND-based indices.
  • specify and execute user-defined workloads by using a unique environment.
  • access an integrated data schema that stores index configurations and statistical data of executed workloads.
  • use any spatial dataset in experiments.
  • reproduce executed workloads.

FESTIval manages a schema in the PostgreSQL called fds. This schema is automatically created by the FESTIval when the CREATE EXTENSION command is executed in a database. By using this schema, it is possible to collect and compare statistical data of different indices and analysis their results.

How to Install and Use FESTIval?

Please, access our detailed documentation here, which provides the step-by-step to perform the installation of FESTIval. It also includes several examples of examples together with a full description of the SQL operations of FESTIval.

Acknowledgments

This project was supported by grant #2015/26687-8, São Paulo Research Foundation (FAPESP) in Brazil (2015-2018). FESTIval is mantained and developed by Anderson Chaves Carniel.

Research currently conducted at the Federal University of São Carlos, Brazil. The first version of FESTIval was developed at the University of São Paulo and some improvements were made at the Federal University of Technology - Paraná, Brazil.